Skip to main content

fastapi-app-manage make fastapi dev easy

Project description

FastAPI-APP-Manage: 快速构建与管理 FastAPI 应用的利器

概述

FastAPI-APP-Manage 是一款基于 Typer 构建的命令行工具,旨在简化 FastAPI 项目的初始化和配置。它允许开发者通过简单的命令快速搭建一个结构化的 FastAPI 应用,并提供了一系列预设选项来加速开发流程。此工具的设计灵感来源于 Django 框架中常用的 python manage.py startapp my_app 命令。但是与其不同的是,这个工具不仅创建了项目的基本文件结构,还自动生成了 main.pysettings.py 文件,以帮助开发者更快地开始编码。

安装指导

确保您的 Python 版本不低于 3.11。以下是安装方法:

使用 pip 安装

pip install fastapi_app_manage

使用 Poetry 安装(推荐)

Poetry 是一种用于依赖管理和打包的现代工具,能够更好地隔离开发环境。使用 Poetry 安装 fastapi_app_manage 的好处是这些依赖仅存在于本地开发环境中,不会影响生产部署。

poetry add fastapi_app_manage --group dev

使用 uv 安装(推荐)

uv add --group dev fastapi_app_manage

安装完成后,您可以使用以下命令启动一个新的 FastAPI 应用程序:

fastapi-app start [appname]
# 或者简写为:
fastapi-app st [appname]

创建新应用

方法一:使用 pip + venv

步骤 1:创建并进入项目目录

mkdir my_fastapi_project && cd $_

步骤 2:创建虚拟环境并激活

  • 对于 Linux/MacOS 用户:

    python3 -m venv .venv && source .venv/bin/activate
    
  • 对于 Windows 用户:

    python3 -m venv .venv && .venv\Scripts\activate
    

步骤 3:安装 FastAPI-APP-Manage 并创建应用

运行 fastapi-app start my_app 或其简写形式 fastapi-app st my_app 来启动新的应用程序创建过程。

方法二:使用 Poetry

步骤 1:创建 Poetry 项目

poetry new my_fastapi_project

步骤 2:安装 FastAPI-APP-Manage

poetry add fastapi_app_manage --group dev

步骤 3:创建应用

运行 poetry run fastapi-app start my_apppoetry run fastapi-app st my_app 来创建新应用。创建后,根据提示选择配置选项。

方法三:使用 uv

步骤 1:创建 uv 项目

uv init my_fastapi_project

步骤 2:安装 FastAPI-APP-Manage

uv add --group dev fastapi_app_manage

步骤 3:创建应用

运行 uv run fastapi-app start my_appuv run fastapi-app st my_app 来创建新应用。创建后,根据提示选择配置选项。

配置选项说明

在创建应用时,您将被问到一系列问题来定制您的项目配置。每个问题都旨在帮助您根据需要设置最佳实践配置。以下是详细的配置项介绍:

? Select the packagemanager:  poetry
? Do you want to add fastapi standard? Yes
? Select the databaseframework:  none
? Do you want to add fastapi-utils? Yes
? Do you want to add cors? Yes
? Do you want to add jinja2 template? Yes
? Do you want to add standard response? Yes
? Do you want to add git? Yes

以下是对其的介绍

  • 包管理器选择 (Select the packagemanager)

    • 提供三个选项:pippoetryuv(新增),用于管理项目的依赖关系。
  • 是否添加 FastAPI 标准配置 (Do you want to add fastapi standard?)

    • 如果选择“是”,则会安装 FastAPI 及其开发中常用的额外依赖,例如处理文件上传所需的 python-multipart,以及其他有助于开发的标准库。
  • 数据库框架选择 (Select the databaseframework)

    • 当前支持 sqlmodeltortoise-orm,这两个 ORM 工具可以帮助定义数据模型并与数据库交互。
  • 数据库选择 (Select the database)

    • 支持 MySQL 和 PostgreSQL 数据库,选择合适的数据库类型对于应用性能至关重要。
  • 是否添加 fastapi-utils 插件 (Do you want to add fastapi-utils?)

    • fastapi-utils 是一个第三方插件,提供了诸如类视图、API 设置等功能,可以增强 FastAPI 的开发体验。选择后将会使用类视图CBV作为路由函数,同时配置类也变为了APISetting
  • 是否启用跨域资源共享 (CORS) (Do you want to add cors?)

    • 如果您的应用需要与不同的源进行通信,则应启用 CORS 支持。
  • 是否添加 Jinja2 模板引擎 (Do you want to add jinja2 template?)

    • 如果计划使用模板渲染 HTML 页面,则可以选择集成 Jinja2 模板引擎。
  • 是否添加标准响应配置 (Do you want to add standard response?)

    • 这将设置默认的响应格式。如果选择了 FastAPI 标准配置,默认的响应类会采用 ORJSON 进行序列化,提供更快的性能。

注意事项

  • 如果不选择数据库框架,则不会询问关于具体数据库的选择。
  • 完成配置后,需要根据所选的包管理器安装相关依赖。
  • 后续创建新的 app(即新的路由和服务)只需再次输入上述指令,无需重复配置过程,会自动按照上次配置创建。
  • 路由之间的嵌套关系需自行编写代码完成,例如通过 include_router 函数操作。
  • 选择标准的FastAPI,同时也会使用orjson替代默认的json库做默认响应序列化。
  • 选项完成后,会提示安装指令,如果你还没有安装这些依赖请根据自己的选择使用安装指令安装。如果你已经安装了依赖,可以直接开始开发。

项目结构

不同于 Django 的集中式 app 文件夹结构,FastAPI-APP-Manage 推崇模块化的子文件夹组织方式(如 router, models, service, core 等),使代码更加清晰易读。首次使用该指令时,FastAPI-APP-Manage 会自动创建一个 app 文件夹,并在其中添加上述的子文件夹。在同一项目中再次执行该指令时,会在已有的子文件夹下继续添加新的文件。

未来计划

未来版本计划增加更多可选配置,例如 Redis 和 MongoDB 数据库的支持、开发常用工具类等,进一步提升开发效率。


通过上述步骤,您可以轻松地使用 FastAPI-APP-Manage 工具来启动和管理 FastAPI 项目,享受高效便捷的开发体验。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_app_manage-4.0.1.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastapi_app_manage-4.0.1-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_app_manage-4.0.1.tar.gz.

File metadata

  • Download URL: fastapi_app_manage-4.0.1.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.11.9 Windows/10

File hashes

Hashes for fastapi_app_manage-4.0.1.tar.gz
Algorithm Hash digest
SHA256 f400833bf8eb92e0cf0edfb748e0397a2b8c6834cee498495b12d862ed9ac672
MD5 fc0bc801d7a1dc70e8f6cfaba7e30a48
BLAKE2b-256 68d2c9b795f12b56e82140c98f822da74c59a813cdbd644986fb8b70035f708f

See more details on using hashes here.

File details

Details for the file fastapi_app_manage-4.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_app_manage-4.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 37a47cd52c996c9ccca1765ff6caf55749202d6dabe781fd8d22e25f69b52517
MD5 b2d185e4ef8ba92d3eaf85bb0fbca23d
BLAKE2b-256 afb7a99d56e82e5605f3e59ac87de5af3ff5d6e3332ac3fcd871a07da821ba08

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page