Metadata-Version: 2.1
Name: fastapi-builder
Version: 1.1.1
Summary: fastapi-builder Project generator and manager for FastAPI
Home-page: https://github.com/fmw666/fastapi-builder
Author: fmw666
Author-email: fmw19990718@qq.com
License: https://mit-license.org/
Keywords: fastapi,builder
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: anyio (==3.4.0)
Requires-Dist: arrow (==1.2.1)
Requires-Dist: binaryornot (==0.4.4)
Requires-Dist: certifi (==2021.10.8)
Requires-Dist: chardet (==4.0.0)
Requires-Dist: charset-normalizer (==2.0.8)
Requires-Dist: click (==8.0.3)
Requires-Dist: colorama (==0.4.4)
Requires-Dist: cookiecutter (==1.7.3)
Requires-Dist: dnspython (==2.1.0)
Requires-Dist: email-validator (==1.1.3)
Requires-Dist: fastapi (==0.70.0)
Requires-Dist: idna (==3.3)
Requires-Dist: Jinja2 (==3.0.3)
Requires-Dist: jinja2-time (==0.2.0)
Requires-Dist: MarkupSafe (==2.0.1)
Requires-Dist: poyo (==0.5.0)
Requires-Dist: prompt-toolkit (==3.0.22)
Requires-Dist: pydantic (==1.8.2)
Requires-Dist: python-dateutil (==2.8.2)
Requires-Dist: python-slugify (==5.0.2)
Requires-Dist: questionary (==1.10.0)
Requires-Dist: requests (==2.26.0)
Requires-Dist: six (==1.16.0)
Requires-Dist: sniffio (==1.2.0)
Requires-Dist: starlette (==0.16.0)
Requires-Dist: text-unidecode (==1.3)
Requires-Dist: twine (==3.8.0)
Requires-Dist: typer (==0.4.0)
Requires-Dist: typing-extensions (==4.0.0)
Requires-Dist: urllib3 (==1.26.7)
Requires-Dist: wcwidth (==0.2.5)

# 「 FastAPI Builder 」

<div align="right">
    <a href="https://fastapi.tiangolo.com/zh/"><b>fastapi 官方网站 ➡</b></a>
</div>

<br>

> 💡 **fastapi 项目构建器. 一款帮助你快速构建 fastapi 项目的工具.**

+ ***[特性](#-特性)***

+ ***[TODO](#-todo)***

+ ***[快速开始](#-快速开始)***

+ ***[特别感谢](#-特别感谢)***

+ ***[许可证](#-许可证)***

<div align="center">
    <img src="https://github.com/fmw666/my-image-file/blob/master/images/cute/small-cute-8.jpg" width=100>
</div>

<br>

## 💬 特性

+ 参考 Django 化项目基础命令.

+ 创建可自定义的 project 项目.

+ 创建可定制的 app 应用.

+ 为您生成完整的项目结构.

+ 对数据库操作进行封装，便于轻松管理.

+ 支持数据库包括 Mysql.

+ 可选的配置如： Dockerfile、pre-commit.

+ 对虚拟环境进行管理.

<br>

## 📁 项目结构

```c
.
├── alembic---------------------项目源码主目录
├── api-------------------------项目源码主目录
│   ├── errors------------------云端数据分析系统
│   └── routes------------------小程序
├── app_user--------------------项目源码主目录
│   ├── api.py------------------小程序
│   ├── model.py----------------小程序
│   └── schema.py---------------小程序
├── core------------------------项目源码主目录
│   ├── .env--------------------小程序
│   ├── config.py---------------小程序
│   ├── events.py---------------小程序
│   └── logger.py---------------小程序
├── db--------------------------项目源码主目录
│   ├── base.py-----------------小程序
│   ├── database.py-------------小程序
│   ├── errors.py---------------小程序
│   └── events.py---------------小程序
├── lib-------------------------项目源码主目录
│   ├── jwt.py------------------小程序
│   └── security.py-------------小程序
├── middleware------------------项目源码主目录
│   └── logger.py---------------小程序
├── models----------------------项目源码主目录
│   ├── base.py-----------------小程序
│   └── mixins.py---------------小程序
├── schemas---------------------项目源码主目录
│   ├── auth.py-----------------小程序
│   ├── base.py-----------------小程序
│   └── jwt.py------------------小程序
├── utils-----------------------项目源码主目录
│   ├── consts.py---------------小程序
│   ├── dbmanager.py------------小程序
│   └── docs.py-----------------小程序
├── .fastapi-builder------------项目源码主目录
└── main.py---------------------项目源码主目录
```

<br>

## 🎯 TODO

<div align="right"><i><b><a href="#no-reply">PS: 期待您对本项目做出贡献...</a></b></i></div>

+ [ ] 持续完善项目框架代码部分

+ [ ] 持续完善项目框架文档部分

+ [x] 优化 requirements.txt

+ [ ] 提供英文版本

+ [ ] 提供项目数据库 PostgreSQL 选项

+ [x] 提供完整的 run 方法

+ [ ] 内置 alembic 数据迁移等管理

+ [x] 提供对运行环境的检查

+ [x] 提供 fastapi venv 命令，创建/开启/关闭虚拟环境

+ [ ] 针对 Linux 环境提供支持

+ [ ] 针对 Mac 环境提供支持

+ [ ] 生成 app 时，自动注入到 project 中（路由管理分配）

<br>

## 🚀 快速开始

<div align="right">
<i>=> 依赖：<b>Python 3.6+</b></i>
<br>
<i>=> 详细教程：<b><a href="docs/tutorial.md">tutorial</a></b></i>
</div>
<br>

安装 `fastapi-builder` 项目：

```sh
pip install fastapi-builder
```

查看项目版本：

```sh
fastapi --version
```

项目帮助：

```sh
fastapi --help
fastapi startproject --help
```

创建 `fastapi` 项目：

```sh
fastapi startproject [name]

# or 带有交互选择

fastapi startproject [name] --interactive
```

创建 `fastapi` 应用：

```sh
fastapi startapp [name]
```

检查 `fastapi` 项目：

```sh
fastapi run --check
```

运行 `fastapi` 项目：

```sh
fastapi run
```

<br>

## ⚡ 特别感谢

项目配置生成及 questionary 内容基于项目：<https://github.com/ycd/manage-fastapi>

fastapi 项目基础框架参考：<https://github.com/nsidnev/fastapi-realworld-example-app/>

<br>

## 🚩 许可证

项目根据麻省理工学院的许可条款授权.


