Skip to main content

This is a fastapi scaf.

Project description

fastapi-scaf

What is this?

  • by: axiner
  • fastapi-scaf
  • This is a fastapi scaf.
    • new project
    • add api
    • about project:
      • auto init project (conf, db, logger...)
      • auto register router
      • auto register middleware

Installation

This package can be installed using pip (>=Python3.11):

pip install fastapi-scaf

Scaf Usage

  • 1)new project
    • fastapi-scaf new <project_name>
  • 2)add api
    • cd to project root dir
    • fastapi-scaf add <api_name>

Project Run

  • 1)cd to project root dir
  • 2)execute command:
    • pip install -r requirements.txt
    • uvicorn app.main:app --host=0.0.0.0 --port=8000 --log-level=debug --log-config=./config/uvicorn_logging.json --workers=5
    • about uvicorn: www.uvicorn.org

Project Structure

  • ABD: ABD模式
    • A api
    • B business
    • D datatype
  • 调用过程: main.py(initializer) - router(middleware) - api - business - (datatype)
  • 结构如下: (命名经过多次修改敲定,简洁易懂,ABD目录贴合避免杂乱无章)
    └── fastapi-scaf
        ├── app                         (应用)
        │   ├── api                     ├── (api)
        │   │   └── v1                  │   └── (v1)
        │   ├── business                ├── (业务)
        │   ├── datatype                ├── (数据类型)
        │   ├── initializer             ├── (初始化)
        │   │   ├── conf                │   ├── (配置)
        │   │   ├── db                  │   ├── (数据库)
        │   │   ├── logger              │   ├── (日志)
        │   │   └── ...                 │   └── (...)
        │   ├── middleware              ├── (中间件)
        │   ├── router                  ├── (路由)
        │   ├── utils                   ├── (utils)
        │   └── main.py                 └── (main.py)
        ├── config                      (配置目录)
        ├── deploy                      (部署目录)
        ├── docs                        (文档目录)
        ├── log                         (日志目录)
        ├── .gitignore
        ├── LICENSE
        ├── README.md
        └── requirements.txt
    

LICENSE

This project is released under the MIT License (MIT). See LICENSE

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

fastapi_scaf-1.1.8-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_scaf-1.1.8-py3-none-any.whl.

File metadata

  • Download URL: fastapi_scaf-1.1.8-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for fastapi_scaf-1.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 3e5c0c8aae1460adbc09701dfd5cbd8c2c4ba4128ca082e006b407f7192b6d79
MD5 3b3b3a86fa91e98bf4028bc4262716d7
BLAKE2b-256 f471c926e0c3e8a084b38bbbec0a173e6f0ce619d6c3311b0ffae5d4d5b9bc60

See more details on using hashes here.

Supported by

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