PythonでWeb開発を学ぶ上で確認するべきGitHubリポジトリ 18選 2023年版
はじめに
今回の記事では、Web開発でPythonを学ぶ上で絶対に確認するべきGitHubリポジトリを18個、私の独断と偏見で解説する。
対象とする読者
- これからPythonをWeb開発で導入したい人
- Pythonを使ったWeb開発に興味がある人
- Pythonに関連した情報収集している人
- タイトルでなんとなく気になった人
Django
DjangoはPythonで開発されたWebフレームワークである。最大の特徴は、バックエンド開発に必要な機能がデフォルトで搭載されている点にある。手軽に、簡単なWebアプリケーションを開発したいなら選択肢に入る。
Flask
シンプルで軽量なWebフレームワークであり、初学者にとって学びやすいためです。Flaskを学ぶことで、ルーティング、テンプレート、リクエスト/レスポンスの処理など、Web開発の基本的な概念を理解できる。
FastAPI
FastAPIはPythonで開発された非常に軽量かつ、高速なWebフレームワークである。非同期処理、依存性注入など、高度なWeb APIの開發に必要な知識を学べる。
余談だが、PythonでWeb開発をするうえで特に拘りがなければFastAPIを選ぶのが無難だろう。
Requests
Requestsライブラリは、PythonでHTTPリクエストを送信するための標準的な方法である。Web開発において外部APIとの通信は一般的なタスクなので、このライブラリを学ぶ必要がある。
SQLAlchemy
SQLAlchemyは、Pythonでリレーショナルデータベースと対話するためのライブラリだ。データベースとのインタラクションはWeb開発の中核であるため、SQLAlchemyのようなORMの使用は、データベースを操作するうえで重宝する。
SQLModel
SQLModelは、SQLAlchemyに型定義の概念を導入したライブラリである。データベースモデルの作成とクエリの構築を簡単にする。型ヒントを利用して、コードの中でデータの整合性を保ちながら、データベースと連携できる。データベースの扱い方だけではなく、型安全に配慮したコーディングの方法も学べる。
Django REST Framework
Django REST Framework(DRF)は、DjangoでRESTful APIを構築するためのライブラリである。API開発はWeb開発の重要な側面であり、DRFを学ぶことで、認証、シリアライゼーション、ビューセット、ルーティングなど、API開発の多くの側面を学べる。
HTTPie
コマンドラインからHTTPリクエストを作成し、APIのテストを行うためのツールだ。Pythonで開発されているのでPythonとの相性が良い。Pythonで開発したWeb APIのテストを実施するなら知っておいて損はないだろう。
Flask-RESTful
Flask-RESTfulはFlaskでREST APIを簡単に開発するための拡張ライブラリである。この拡張を使うことで、リクエストやレスポンス等、REST APIの開発に関連する重要な概念を学べる。
Full Stack Python
Pythonでのフルスタック開発に関連する幅広いトピックを扱っている。Pythonを使ったWeb開発のベストプラクティスやテクニックを学ぶ上で絶対に確認しておきたい。
Werkzeug
WerkzeugはFlaskアプリケーションの基盤を担うミドルウェアである。HTTPレスポンスやリクエストの処理、ミドルウェアなどWeb開発の基本を学べる。
Jinja2
Jinja2はPythonで開発されたテンプレートエンジンだ。HTMLテンプレートの取り扱いに関するスキルはWeb開発において基本中の基本である。
Redis-py
PythonからRedisデータベースにアクセスするために必要なライブラリである。Redisは主にキャッシング(データを一時ブラウザ上に保存するシステム)の実装で多用される。PythonとRedisで開發をしたいなら必要不可欠だろう。
OAuthLib
OAuthプロバイダーを構築するための再利用可能なコンポーネントを提供しているPythonライブラリ。Web開発においてセキュリティと認証は重要な要素だ。学んで損はない。
Pytest
Pythonで開発されたテストフレームワークだ。テストはソフトウェア開発の基本だ。Pytestを学ぶことで、テストの基本的な書き方を学べる。
Mkdocs
Markdownでドキュメントを書き、美しい静的サイトを構築するためのツールである。ドキュメンテーションはソフトウェア開発の重要な部分であり、MkDocsを使って見やすいドキュメントを作る方法を学べる。Mkdocsの最大の特徴はHTMLやCSSの知識を使わずに、ドキュメントを自由自在にカスタマイズできることである。
Awesome Python
Python開発者にとって有用なライブラリ、フレームワーク、ソフトウェア、リソースのカテゴリ別リストだ。Pythonに関する知見や情報、トレンドはすべてこのリポジトリに集約されていると言っても過言ではない。正直、これさえ確認しておけばPythonの学習に困らないだろう。
参考サイト
Discussion