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.py 和 settings.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_app 或 poetry 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_app 或 uv 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)- 提供三个选项:
pip、poetry和uv(新增),用于管理项目的依赖关系。
- 提供三个选项:
-
是否添加 FastAPI 标准配置 (
Do you want to add fastapi standard?)- 如果选择“是”,则会安装 FastAPI 及其开发中常用的额外依赖,例如处理文件上传所需的
python-multipart,以及其他有助于开发的标准库。
- 如果选择“是”,则会安装 FastAPI 及其开发中常用的额外依赖,例如处理文件上传所需的
-
数据库框架选择 (
Select the databaseframework)- 当前支持
sqlmodel和tortoise-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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f400833bf8eb92e0cf0edfb748e0397a2b8c6834cee498495b12d862ed9ac672
|
|
| MD5 |
fc0bc801d7a1dc70e8f6cfaba7e30a48
|
|
| BLAKE2b-256 |
68d2c9b795f12b56e82140c98f822da74c59a813cdbd644986fb8b70035f708f
|
File details
Details for the file fastapi_app_manage-4.0.1-py3-none-any.whl.
File metadata
- Download URL: fastapi_app_manage-4.0.1-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.11.9 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37a47cd52c996c9ccca1765ff6caf55749202d6dabe781fd8d22e25f69b52517
|
|
| MD5 |
b2d185e4ef8ba92d3eaf85bb0fbca23d
|
|
| BLAKE2b-256 |
afb7a99d56e82e5605f3e59ac87de5af3ff5d6e3332ac3fcd871a07da821ba08
|