Webアプリ開発でよく使うPythonライブラリ5選
Webアプリを開発する際、フレームワーク(DjangoやFastAPIなど)以外にも多くの補助ライブラリが重要な役割を果たします。本記事では、PythonでWebアプリを構築する際によく使われるライブラリを5つ紹介し、それぞれの具体的な業務を想定した使用例を示します。
1. requests:外部APIとの通信
Webアプリでは、ユーザーの操作に応じて他のサービスと連携する場面が多くあります。requests
は、外部APIとのHTTP通信をシンプルに行えるライブラリです。
想定シーン:天気APIを呼び出して現在の天気を取得する
import requests
def get_weather(city):
url = f'https://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q={city}'
response = requests.get(url)
if response.status_code == 200:
data = response.json()
return data['current']['condition']['text']
return "取得失敗"
print(get_weather("Tokyo"))
2. python-dotenv:環境変数の管理
APIキーやデータベース接続情報など、機密情報は環境変数で管理するのが一般的です。python-dotenv
を使うと、.env
ファイルから環境変数を簡単に読み込むことができます。
想定シーン:APIキーやDB接続情報を.envから読み込む
from dotenv import load_dotenv
import os
load_dotenv() # .env ファイルを読み込む
api_key = os.getenv("API_KEY")
print(f"APIキー: {api_key}")
.env
ファイルの例
API_KEY=abc123xyz456
3. pydantic:データバリデーション
Webアプリでは、ユーザーから受け取るデータの検証が欠かせません。pydantic
は、Pythonの型ヒントを活かしてデータ構造の検証・整形を行う強力なライブラリです。
想定シーン:ユーザー登録フォームの入力データを検証
from pydantic import BaseModel, EmailStr, ValidationError
class User(BaseModel):
name: str
email: EmailStr
age: int
try:
user = User(name="佐藤", email="sato@example.com", age="29")
print(user)
except ValidationError as e:
print(e.json())
4. schedule:定期実行のタスク管理
cron
のようなタスクスケジューリングをPythonで行いたい場合に便利なのがschedule
です。バッチ処理や通知の自動送信などに使えます。
想定シーン:毎日9時に定型メールを送信
import schedule
import time
def send_daily_report():
print("定型レポートを送信しました")
schedule.every().day.at("09:00").do(send_daily_report)
while True:
schedule.run_pending()
time.sleep(1)
5. loguru:ログ出力の最適化
loguru
はPythonの標準logging
モジュールよりも簡単で柔軟なログ管理ができるライブラリです。Webアプリでのトラブルシュートや監視に役立ちます。
想定シーン:APIの呼び出し処理で詳細ログを出力する
from loguru import logger
logger.add("app.log", rotation="1 MB")
def fetch_data():
logger.info("APIリクエスト開始")
try:
response = requests.get("https://httpbin.org/get")
logger.success("APIレスポンス取得成功")
return response.json()
except Exception as e:
logger.error(f"API取得エラー: {e}")
fetch_data()
まとめ
ライブラリ名 | 主な用途 | 活用例 |
---|---|---|
requests | 外部APIとの通信 | 天気・地図・住所取得など |
python-dotenv | 環境変数の読み込み | APIキー、DB接続先の管理 |
pydantic | 入力データの検証 | フォームデータやAPIバリデーション |
schedule | 定期処理 | バッチ処理や通知 |
loguru | ログ出力 | 開発中や運用中のエラーログ監視 |
これらのライブラリを適切に使うことで、Webアプリの安全性・保守性・信頼性が大きく向上します。特にセキュリティや運用面でも重要な役割を果たすので、ぜひ積極的に活用してみてください。
📝 ご質問・フィードバックはコメントでお気軽に!