コンテンツにスキップ

プロジェクト生成 - テンプレート

プロジェクトジェネレーターは、初期設定、セキュリティ、データベース、初期APIエンドポイントなどの多くが含まれているため、プロジェクトの開始に利用できます。

プロジェクトジェネレーターは常に非常に意見が分かれる設定がされており、ニーズに合わせて更新および調整する必要があります。しかしきっと、プロジェクトの良い出発点となるでしょう。

フルスタック FastAPI PostgreSQL

GitHub: https://github.com/tiangolo/full-stack-fastapi-postgresql

フルスタック FastAPI PostgreSQL - 機能

  • 完全な**Docker**インテグレーション (Dockerベース)。
  • Docker Swarm モードデプロイ。
  • ローカル開発環境向けの**Docker Compose**インテグレーションと最適化。
  • UvicornとGunicornを使用した**リリース可能な** Python web サーバ。
  • Python FastAPI バックエンド:
    • 高速: NodeJSGo 並みのとても高いパフォーマンス (Starlette と Pydantic のおかげ)。
    • 直感的: 素晴らしいエディタのサポートや 補完。 デバッグ時間の短縮。
    • 簡単: 簡単に利用、習得できるようなデザイン。ドキュメントを読む時間を削減。
    • 短い: コードの重複を最小限に。パラメータ宣言による複数の機能。
    • 堅牢性: 自動対話ドキュメントを使用した、本番環境で使用できるコード。
    • 標準規格準拠: API のオープンスタンダードに基く、完全な互換性: OpenAPIJSON スキーマ
    • 自動バリデーション、シリアライゼーション、対話的なドキュメント、OAuth2 JWTトークンを用いた認証などを含む、その他多くの機能
  • セキュアなパスワード ハッシュ化 (デフォルトで)。
  • JWTトークン 認証。
  • SQLAlchemy モデル (Flask用の拡張と独立しているので、Celeryワーカーと直接的に併用できます)。
  • 基本的なユーザーモデル (任意の修正や削除が可能)。
  • Alembic マイグレーション。
  • CORS (Cross Origin Resource Sharing (オリジン間リソース共有))。
  • Celery ワーカー。バックエンドの残りの部分からモデルとコードを選択的にインポートし、使用可能。
  • Dockerと統合された**Pytest**ベースのRESTバックエンドテスト。データベースに依存せずに、全てのAPIをテスト可能。Docker上で動作するので、毎回ゼロから新たなデータストアを構築可能。(ElasticSearch、MongoDB、CouchDBなどを使用して、APIの動作をテスト可能)
  • Atom HydrogenやVisual Studio Code Jupyterなどの拡張機能を使用した、リモートまたはDocker開発用の**Jupyterカーネル**との簡単なPython統合。
  • Vue フロントエンド:
    • Vue CLIにより生成。
    • **JWT認証**の処理。
    • ログインビュー。
    • ログイン後の、メインダッシュボードビュー。
    • メインダッシュボードでのユーザー作成と編集。
    • セルフユーザー版
    • Vuex
    • Vue-router
    • 美しいマテリアルデザインコンポーネントのための**Vuetify**。
    • TypeScript
    • **Nginx**ベースのDockerサーバ (Vue-routerとうまく協調する構成)。
    • Dockerマルチステージビルド。コンパイルされたコードの保存やコミットが不要。
    • ビルド時にフロントエンドテスト実行 (無効化も可能)。
    • 可能な限りモジュール化されているのでそのまま使用できますが、Vue CLIで再生成したり、必要に応じて作成したりして、必要なものを再利用可能。
  • PostgreSQLデータベースのための**PGAdmin**。(PHPMyAdminとMySQLを使用できるように簡単に変更可能)
  • Celeryジョブ監視のための**Flower**。
  • **Traefik**を使用してフロントエンドとバックエンド間をロードバランシング。同一ドメインに配置しパスで区切る、ただし、異なるコンテナで処理。
  • Traefik統合。Let's Encrypt **HTTPS**証明書の自動生成を含む。
  • GitLab CI (継続的インテグレーション)。フロントエンドおよびバックエンドテストを含む。

フルスタック FastAPI Couchbase

GitHub: https://github.com/tiangolo/full-stack-fastapi-couchbase

⚠️ 警告 ⚠️

ゼロから新規プロジェクトを始める場合は、ここで代替案を確認してください。

例えば、フルスタック FastAPI PostgreSQLのプロジェクトジェネレーターは、積極的にメンテナンスされ、利用されているのでより良い代替案かもしれません。また、すべての新機能と改善点が含まれています。

Couchbaseベースのジェネレーターは今も無償提供されています。恐らく正常に動作するでしょう。また、すでにそのジェネレーターで生成されたプロジェクトが存在する場合でも (ニーズに合わせてアップデートしているかもしれません)、同様に正常に動作するはずです。

詳細はレポジトリのドキュメントを参照して下さい。

フルスタック FastAPI MongoDB

...時間の都合等によっては、今後作成されるかもしれません。😅 🎉

spaCyとFastAPIを使用した機械学習モデル

GitHub: https://github.com/microsoft/cookiecutter-spacy-fastapi

spaCyとFastAPIを使用した機械学習モデル - 機能

  • spaCy のNERモデルの統合。
  • Azure Cognitive Search のリクエストフォーマットを搭載。
  • リリース可能な UvicornとGunicornを使用したPythonウェブサーバ。
  • Azure DevOps のKubernetes (AKS) CI/CD デプロイを搭載。
  • 多言語 プロジェクトのために、セットアップ時に言語を容易に選択可能 (spaCyに組み込まれている言語の中から)。
  • 簡単に拡張可能。spaCyだけでなく、他のモデルフレームワーク (Pytorch、Tensorflow) へ。