エンジニアとしての市場価値を測りませんか?PR

企業からあなたに合ったオリジナルのスカウトを受け取って、市場価値を測りましょう

2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Webアプリ開発でよく使うPythonライブラリ5選

Posted at

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アプリの安全性・保守性・信頼性が大きく向上します。特にセキュリティや運用面でも重要な役割を果たすので、ぜひ積極的に活用してみてください。

📝 ご質問・フィードバックはコメントでお気軽に!

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Conference 2025 will be held!: 4/23(wed) - 4/25(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

ymrl、Masanobu Naruse, Takeshi Kano, Junichi Ito, uhyo, Hiroshi Tokumaru, MinoDriven, Minorun, Hiroyuki Sakuraba, tenntenn, drken, konifar

View event details
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?