• fastapi project template fastapi scaffold


    FastAPI Project Template

    https://github.com/rochacbruno/fastapi-project-template

    fastapi框架的脚手架, 集成的技术都是fastapi作者推荐的:

    • SQLModel -- sqlachemy 和 pydantic的集合
    • Typer -- CLI
    • Poetry

    提供

    • 安装 打包 发布 功能
    • lint test format release
    • mkdocs
    • 容器
    • pytest
    • codecov

    The base to start an openapi project featuring: SQLModel, Typer, FastAPI, JWT Token Auth, Interactive Shell, Management Commands.

    What is included on this template?

      • ️ The base to start an openapi project featuring: SQLModel, Typer, FastAPI, VueJS.
      • A basic setup.py file to provide installation, packaging and distribution for your project.
        Template uses setuptools because it's the de-facto standard for Python packages, you can run make switch-to-poetry later if you want.
      • A Makefile with the most useful commands to install, test, lint, format and release your project.
      • Documentation structure using mkdocs
      • Auto generation of change log using gitchangelog to keep a HISTORY.md file automatically based on your commit history on every release.
      • A simple Containerfile to build a container image for your project.
        Containerfile is a more open standard for building container images than Dockerfile, you can use buildah or docker with this file.
      • Testing structure using pytest
      • ✅ Code linting using flake8
      • Code coverage reports using codecov
      • ️ Automatic release to PyPI using twine and github actions.
      • Entry points to execute your program using python -m <project_name> or $ project_name with basic CLI argument parsing.
      • Continuous integration using Github Actions with jobs to lint, test and release your project on Linux, Mac and Windows environments.

    依赖 -- setuptools

    https://github.com/pypa/setuptools

    https://setuptools.pypa.io/en/latest/

    可以将本应用的代码, 注册到库中, 这样其它应用可以访问此应用。

    使用pip安装, 或者上传到pypi

    https://setuptools.pypa.io/en/latest/userguide/quickstart.html

    Documentation

    Setuptools is a fully-featured, actively-maintained, and stable library designed to facilitate packaging Python projects.

    It helps developers to easily share reusable code (in the form of a library) and programs (e.g., CLI/GUI tools implemented in Python), that can be installed with pip and uploaded to PyPI.

    dynaconf

    https://www.dynaconf.com/

    https://github.com/dynaconf/dynaconf

    • Inspired by the 12-factor application guide
    • Settings management (default values, validation, parsing, templating)
    • Protection of sensitive information (passwords/tokens)
    • Multiple file formats toml|yaml|json|ini|py and also customizable loaders.
    • Full support for environment variables to override existing settings (dotenv support included).
    • Optional layered system for multi environments [default, development, testing, production] (also called multi profiles)
    • Built-in support for Hashicorp Vault and Redis as settings and secrets storage.
    • Built-in extensions for Django and Flask web frameworks.
    • CLI for common operations such as init, list, write, validate, export.
  • 相关阅读:
    学习subprocess模块...
    【排列组合】
    【约瑟夫问题】
    【craps赌博游戏】
    【洗扑克牌(乱数排列)】
    【最大访客数】
    【后序式的运算】
    【中序式转后序式】
    【python基础】之元组 集合 字典
    【费式数列(Fibonacci数列)】
  • 原文地址:https://www.cnblogs.com/lightsong/p/16542346.html
Copyright © 2020-2023  润新知