Pythonのライブラリの紹介です。それぞれの説明と使用例は以下になります。
L 307. hug(API構築)
hug は、「できる限り簡単に、できる限り高速に」APIを構築できることを目指した、型アノテーションに対応した軽量フレームワークです。CLIやHTTP APIなど、複数のインターフェースに同時対応可能です。
▼主な機能
Pythonの型ヒントを活かしたバリデーション
RESTful API と CLI の同時対応
自動ドキュメント生成(Swagger UI対応)
高速(Falcon上に構築されている)
▼使い方(例)
# example.py
import hug
@hug.get(‘/’)
def hello(name: hug.types.text):
return f’Hello, {name}!’
# 実行
hug -f example.py
# → http://localhost:8000/?name=John にアクセスで “Hello, John!”
L 308. falcon(Web API構築)
falcon は、高パフォーマンスなWeb API構築に特化したフレームワークで、WSGI/ASGIに対応しています。Flaskよりも低レベルですが、その分高速かつ軽量で、APIサーバやIoT向けに最適です。
▼主な機能
WSGI/ASGI両対応の軽量APIサーバ
ルーティング、リクエスト/レスポンスの最小構成
高速レスポンス(microservice向け)
ミドルウェア対応(認証、ログなど)
▼使い方(例)
# app.py
import falcon
class HelloResource:
def on_get(self, req, resp):
resp.media = {‘message’: ‘Hello, world!’}
app = falcon.App()
app.add_route(‘/’, HelloResource())
# 実行にはWSGIサーバ(例: gunicorn)を使う
gunicorn app:app
# → http://localhost:8000/ にアクセス
L 309. responder(Web APIフレームワーク)
responder は、FlaskとFastAPIの良さを併せ持つ、人に優しい設計のWeb APIフレームワークです。starlette ベースであり、非同期処理(async/await)や自動Swaggerドキュメントを備えています。
▼主な機能
async/await対応
OpenAPI(Swagger)ドキュメント自動生成
Jinja2テンプレートサポート
Starletteベースの高性能
▼使い方(例)
# app.py
import responder
api = responder.API()
@api.route(“/”)
async def hello(req, resp):
resp.media = {“message”: “Hello, world!”}
api.run()
# python app.py で実行可能
# → http://localhost:5042 にアクセス


Comments