Published

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

FastAPI framework, high performance, easy to learn, fast to code, ready for production We just scratched the surface, but you already get the idea of how it all works...

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

プロジェクトジェネレーターは、初期設定、セキュリティ、データベース、初期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) へ。