:rocket: CLI tool for FastAPI. Generating new FastAPI projects & boilerplates made easy.

Overview

Project generator and manager for FastAPI.

Latest Commit
Package version


Source Code: View it on Github


Features 🚀

  • Creates customizable project boilerplate.

  • Creates customizable app boilerplate.

  • Handles the project structuring for you.

  • Optional Dockerfile generation.

  • Optional docker-compose generation for your project needs.

  • Optional pre-commit hook generation.

Installation 📌

  • Prerequisites
    • Python 3.6 +

Manage FastAPI can be installed by running

pip install manage-fastapi 

Getting started 🎈

Easiest way to start is using the defaults:

fastapi startproject [name]

But there is an interactive mode!

fastapi startproject [name] --interactive

Command line options 🧰

Manage FastAPI provides three different commands.

You can list them with

fastapi --help

The idea is to have a highly customizable CLI, but at the same time a simple interface for new users. You can see the available options for startproject running fastapi startproject --help:

The other commands are already available but the current implementation is too shallow. More details about startapp and run commands will be provided once they have more functionalities, at the moment you can run startapp by just:

fastapi startapp {name}

On the other hand, the run command expects you to have a startproject structure:

fastapi run

License

This project is licensed under the terms of the MIT license.

Comments
  • Manage FastAPI August-September 2020 Roadmap

    Manage FastAPI August-September 2020 Roadmap

    :hammer: Roadmap August-September 2020 :hammer:

    Goals

    • Adding more templates for databases and object relatioınal mappers.
    • Instead of creating database with async sql, now the database will be up to user

    Example:

    manage-fastapi startproject myproject
    

    The command we ran above will ask the user something like this to select a database.

    Select a database:
    [0] Postgresql, sqlite3, mysql
    [1] Tortoise ORM
    [2] Peewee
    [3] MongoDB, Couchbase
    

    Each selection will have unique database template.

    New Features

    runserver

    Also thinking about showmodels to show all models also this command will came with option for request method like

    showmodels --get showmodels --post

    enhancement help wanted 
    opened by ycd 12
  • ImportError: python-dotenv is not installed, run `pip install pydantic[dotenv]`

    ImportError: python-dotenv is not installed, run `pip install pydantic[dotenv]`

    Hey.

    I'm having an weird issue with manage-fastapi. I installed all the needed packages using poetry:

    pyprocject.toml file

    [tool.poetry]
    name = "ossah"
    version = "0.1.0"
    description = ""
    
    [tool.poetry.dependencies]
    python = "^3.7"
    fastapi = "^0.68.1"
    pydantic = {extras = ["dotenv"], version = "^1.8.2"}
    
    [tool.poetry.dev-dependencies]
    pytest = "^5.2"
    pytest-cov = "^2.10.1"
    
    [build-system]
    requires = ["poetry-core>=1.0.0"]
    build-backend = "poetry.core.masonry.api"
    

    After the command fastapi run I got this error message:

      module = importlib.import_module(module_str)
      File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 790, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "./app/main.py", line 4, in <module>
        from app.core.config import settings
      File "./app/core/config.py", line 43, in <module>
        settings = Settings()
      File "pydantic/env_settings.py", line 37, in pydantic.env_settings.BaseSettings.__init__
      File "pydantic/env_settings.py", line 63, in pydantic.env_settings.BaseSettings._build_values
      File "pydantic/env_settings.py", line 154, in pydantic.env_settings.EnvSettingsSource.__call__
      File "pydantic/env_settings.py", line 227, in pydantic.env_settings.read_env_file
    ImportError: python-dotenv is not installed, run `pip install pydantic[dotenv]`
    
    
    opened by arkryonia 7
  • Error during startproject [ ModuleNotFoundError: No module named 'termios' ]

    Error during startproject [ ModuleNotFoundError: No module named 'termios' ]

    Hi all.

    So I'm trying to generate a project by using fastapi startproject core --interactive

    But this error below pops out of my terminal Traceback (most recent call last): File "c:\users\x\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\x\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\x\Documents\Development\Playground\test-fastapi\env\Scripts\fastapi.exe\__main__.py", line 4, in <module> File "c:\users\x\documents\development\playground\test-fastapi\env\lib\site-packages\manage_fastapi\main.py", line 11, in <module> from manage_fastapi.helpers import bullet, launch_cli, yes_no File "c:\users\x\documents\development\playground\test-fastapi\env\lib\site-packages\manage_fastapi\helpers.py", line 4, in <module> from bullet import Bullet, SlidePrompt, colors File "c:\users\x\documents\development\playground\test-fastapi\env\lib\site-packages\bullet\__init__.py", line 1, in <module> from .client import Bullet File "c:\users\x\documents\development\playground\test-fastapi\env\lib\site-packages\bullet\client.py", line 4, in <module> from . import utils File "c:\users\x\documents\development\playground\test-fastapi\env\lib\site-packages\bullet\utils.py", line 3, in <module> import tty, termios File "c:\users\x\appdata\local\programs\python\python39\lib\tty.py", line 5, in <module> from termios import * ModuleNotFoundError: No module named 'termios'

    And I'm running this on Windows 10 machine. I've read somewhere that termios is only unix and not windows. Is this true?

    opened by syfqpie 7
  • Bump typer from 0.3.2 to 0.4.0

    Bump typer from 0.3.2 to 0.4.0

    ⚠️ Dependabot is rebasing this PR ⚠️

    Rebasing might not happen immediately, so don't worry if this takes some time.

    Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


    Bumps typer from 0.3.2 to 0.4.0.

    Release notes

    Sourced from typer's releases.

    0.4.0

    Features

    • ✨ Add support for Click 8 while keeping compatibility with Click 7. PR #317 by @​tiangolo.

    Internal

    Changelog

    Sourced from typer's changelog.

    0.4.0

    Features

    • ✨ Add support for Click 8 while keeping compatibility with Click 7. PR #317 by @​tiangolo.

    Internal

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 4
  • Support Windows and MacOS

    Support Windows and MacOS

    Closes #32

    Changes

    • Replace bullet by questionary.
    • Add windows-latest and macos-latest on the CI.
    • Remove interactive test. I was not able to make it work, and I'll not spend more time on it.
    opened by Kludex 4
  • Fastapi & Python 3.9

    Fastapi & Python 3.9

    Hi! Are there any discrepancies in the support for Python versions?

    image

    Interested in support v3.9 Do I understand correctly that the help text about Python versions is just incomplete?

    image

    Thankx

    opened by studio-salamander 3
  • Remove support of python 3.6

    Remove support of python 3.6

    As long as the FastAPI version has been bumped to 0.85.0 and it also drops the support to the python version 3.6 as mentionned here : https://fastapi.tiangolo.com/release-notes/ , shouldn't we drop the support within the package (This will make it also possible to make some updates on the packages such as Black, pydantic, ...

    opened by kaieslamiri 2
  • Bump pytest from 5.4.3 to 6.2.5

    Bump pytest from 5.4.3 to 6.2.5

    ⚠️ Dependabot is rebasing this PR ⚠️

    Rebasing might not happen immediately, so don't worry if this takes some time.

    Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


    Bumps pytest from 5.4.3 to 6.2.5.

    Release notes

    Sourced from pytest's releases.

    6.2.5

    pytest 6.2.5 (2021-08-29)

    Trivial/Internal Changes

    • #8494: Python 3.10 is now supported.
    • #9040: Enable compatibility with pluggy 1.0 or later.

    6.2.4

    pytest 6.2.4 (2021-05-04)

    Bug Fixes

    • #8539: Fixed assertion rewriting on Python 3.10.

    6.2.3

    pytest 6.2.3 (2021-04-03)

    Bug Fixes

    • #8414: pytest used to create directories under /tmp with world-readable permissions. This means that any user in the system was able to read information written by tests in temporary directories (such as those created by the tmp_path/tmpdir fixture). Now the directories are created with private permissions.

      pytest used silenty use a pre-existing /tmp/pytest-of-<username> directory, even if owned by another user. This means another user could pre-create such a directory and gain control of another user's temporary directory. Now such a condition results in an error.

    6.2.2

    pytest 6.2.2 (2021-01-25)

    Bug Fixes

    • #8152: Fixed "(<Skipped instance>)" being shown as a skip reason in the verbose test summary line when the reason is empty.
    • #8249: Fix the faulthandler plugin for occasions when running with twisted.logger and using pytest --capture=no.

    6.2.1

    pytest 6.2.1 (2020-12-15)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • Bump typer from 0.6.1 to 0.7.0

    Bump typer from 0.6.1 to 0.7.0

    Bumps typer from 0.6.1 to 0.7.0.

    Release notes

    Sourced from typer's releases.

    0.7.0

    Features

    Fixes

    Docs

    • 📝 Add note about how subcommands with function names using underscores are converted to dashes. PR #403 by @​targhs.
    • 📝 Fix typo in docs at docs/tutorial/commands/help.md. PR #466 by @​fepegar.
    • ✏ Fix link in docs to datetime.strptime(). PR #464 by @​Kobu.
    • ✏ Update first-steps.md, clarify distinction between parameter and argument. PR #176 by @​mccarthysean.
    • ✏ Fix broken plac link. PR #275 by @​mgielda.

    Internal

    Changelog

    Sourced from typer's changelog.

    0.7.0

    Features

    Fixes

    Docs

    • 📝 Add note about how subcommands with function names using underscores are converted to dashes. PR #403 by @​targhs.
    • 📝 Fix typo in docs at docs/tutorial/commands/help.md. PR #466 by @​fepegar.
    • ✏ Fix link in docs to datetime.strptime(). PR #464 by @​Kobu.
    • ✏ Update first-steps.md, clarify distinction between parameter and argument. PR #176 by @​mccarthysean.
    • ✏ Fix broken plac link. PR #275 by @​mgielda.

    Internal

    Commits
    • 6c5698f 🔖 Release version 0.7.0
    • aaf3cdd 📝 Update release notes
    • 24d3c39 📝 Update release notes
    • c1ddf1d ✅ Add extra tests just for coverage because monkeypatching with strange impor...
    • 5e46deb 📝 Update release notes
    • 8999df2 📝 Update release notes
    • 36e4080 ✨ Make typer.run() not add completion scripts by default, it only makes sen...
    • bd7dd4c 📝 Update release notes
    • a6f28a7 ✨ Add support for Python 3.11, tests in CI and official marker (#487)
    • 2b0aa71 📝 Update release notes
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pytest-cov from 3.0.0 to 4.0.0

    Bump pytest-cov from 3.0.0 to 4.0.0

    Bumps pytest-cov from 3.0.0 to 4.0.0.

    Changelog

    Sourced from pytest-cov's changelog.

    4.0.0 (2022-09-28)

    Note that this release drops support for multiprocessing.

    • --cov-fail-under no longer causes pytest --collect-only to fail Contributed by Zac Hatfield-Dodds in [#511](https://github.com/pytest-dev/pytest-cov/issues/511) <https://github.com/pytest-dev/pytest-cov/pull/511>_.

    • Dropped support for multiprocessing (mostly because issue 82408 <https://github.com/python/cpython/issues/82408>_). This feature was mostly working but very broken in certain scenarios and made the test suite very flaky and slow.

      There is builtin multiprocessing support in coverage and you can migrate to that. All you need is this in your .coveragerc::

      [run] concurrency = multiprocessing parallel = true sigterm = true

    • Fixed deprecation in setup.py by trying to import setuptools before distutils. Contributed by Ben Greiner in [#545](https://github.com/pytest-dev/pytest-cov/issues/545) <https://github.com/pytest-dev/pytest-cov/pull/545>_.

    • Removed undesirable new lines that were displayed while reporting was disabled. Contributed by Delgan in [#540](https://github.com/pytest-dev/pytest-cov/issues/540) <https://github.com/pytest-dev/pytest-cov/pull/540>_.

    • Documentation fixes. Contributed by Andre Brisco in [#543](https://github.com/pytest-dev/pytest-cov/issues/543) <https://github.com/pytest-dev/pytest-cov/pull/543>_ and Colin O'Dell in [#525](https://github.com/pytest-dev/pytest-cov/issues/525) <https://github.com/pytest-dev/pytest-cov/pull/525>_.

    • Added support for LCOV output format via --cov-report=lcov. Only works with coverage 6.3+. Contributed by Christian Fetzer in [#536](https://github.com/pytest-dev/pytest-cov/issues/536) <https://github.com/pytest-dev/pytest-cov/issues/536>_.

    • Modernized pytest hook implementation. Contributed by Bruno Oliveira in [#549](https://github.com/pytest-dev/pytest-cov/issues/549) <https://github.com/pytest-dev/pytest-cov/pull/549>_ and Ronny Pfannschmidt in [#550](https://github.com/pytest-dev/pytest-cov/issues/550) <https://github.com/pytest-dev/pytest-cov/pull/550>_.

    Commits
    • 28db055 Bump version: 3.0.0 → 4.0.0
    • 57e9354 Really update the changelog.
    • 56b810b Update chagelog.
    • f7fced5 Add support for LCOV output
    • 1211d31 Fix flake8 error
    • b077753 Use modern approach to specify hook options
    • 00713b3 removed incorrect docs on data_file.
    • b3dda36 Improve workflow with a collecting status check. (#548)
    • 218419f Prevent undesirable new lines to be displayed when report is disabled
    • 60b73ec migrate build command from distutils to setuptools
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump flake8 from 4.0.1 to 5.0.3

    Bump flake8 from 4.0.1 to 5.0.3

    Bumps flake8 from 4.0.1 to 5.0.3.

    Commits
    • ff6569b Release 5.0.3
    • e76b59a Merge pull request #1648 from PyCQA/invalid-syntax-partial-parse
    • 25e8ff1 ignore config files that partially parse as flake8 configs
    • 70c0b3d Release 5.0.2
    • 5e69ba9 Merge pull request #1642 from PyCQA/no-home
    • 8b51ee4 skip skipping home if home does not exist
    • 446b18d Merge pull request #1641 from PyCQA/entry-points-not-pickleable
    • b70d7a2 work around un-pickleabiliy of EntryPoint in 3.8.0
    • 91a7fa9 fix order of release notes
    • 405cfe0 Release 5.0.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Error when startproject: value is not a valid email address (type=value_error.email)

    Error when startproject: value is not a valid email address (type=value_error.email)

    version==1.1.1 (caas_app) C:\E\proj>fastapi startproject test_fastapi Traceback (most recent call last): File "C:\D\miniconda3\envs\caas_app\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\D\miniconda3\envs\caas_app\lib\runpy.py", line 87, in run_code exec(code, run_globals) File "C:\D\miniconda3\envs\caas_app\Scripts\fastapi.exe_main.py", line 7, in File "C:\D\miniconda3\envs\caas_app\lib\site-packages\typer\main.py", line 214, in call return get_command(self)(*args, **kwargs) File "C:\D\miniconda3\envs\caas_app\lib\site-packages\click\core.py", line 1130, in call return self.main(*args, **kwargs) File "C:\D\miniconda3\envs\caas_app\lib\site-packages\click\core.py", line 1055, in main rv = self.invoke(ctx) File "C:\D\miniconda3\envs\caas_app\lib\site-packages\click\core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\D\miniconda3\envs\caas_app\lib\site-packages\click\core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) File "C:\D\miniconda3\envs\caas_app\lib\site-packages\click\core.py", line 760, in invoke return __callback(*args, **kwargs) File "C:\D\miniconda3\envs\caas_app\lib\site-packages\typer\main.py", line 532, in wrapper return callback(**use_params) # type: ignore File "C:\D\miniconda3\envs\caas_app\lib\site-packages\manage_fastapi\main.py", line 43, in startproject context = ProjectContext( File "pydantic\main.py", line 342, in pydantic.main.BaseModel.init pydantic.error_wrappers.ValidationError: 1 validation error for ProjectContext email value is not a valid email address (type=value_error.email)

    opened by yuhengShii 0
  • get-poetry will be removed within the upcoming versions

    get-poetry will be removed within the upcoming versions

    I think it would be convenient to update the Dockerfile and replace the get-poetry.py url with this one

    curl -sSL https://install.python-poetry.org | python3 -
    

    as it will be deprecated as discussed here : https://python-poetry.org/docs/

    opened by kaieslamiri 3
  • feat: add examples

    feat: add examples

    Add examples folder and a project that demonstrates how to get started with templates.

    Resolves: #31

    A review would be appreciated @Kludex, this is nearly the first Python code that i wrote in the last 7-8 months 😬

    opened by ycd 3
Releases(1.1.1)
Boilerplate code for quick docker implementation of REST API with JWT Authentication using FastAPI, PostgreSQL and PgAdmin ⭐

FRDP Boilerplate code for quick docker implementation of REST API with JWT Authentication using FastAPI, PostgreSQL and PgAdmin ⛏ . Getting Started Fe

BnademOverflow 53 Dec 29, 2022
LuSyringe is a documentation injection tool for your classes when using Fast API

LuSyringe LuSyringe is a documentation injection tool for your classes when using Fast API Benefits The main benefit is being able to separate your bu

Enzo Ferrari 2 Sep 06, 2021
Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.

The Mixer is a helper to generate instances of Django or SQLAlchemy models. It's useful for testing and fixture replacement. Fast and convenient test-

Kirill Klenov 871 Dec 25, 2022
Docker Sample Project - FastAPI + NGINX

Docker Sample Project - FastAPI + NGINX Run FastAPI and Nginx using Docker container Installation Make sure Docker is installed on your local machine

1 Feb 11, 2022
A dynamic FastAPI router that automatically creates CRUD routes for your models

⚡ Create CRUD routes with lighting speed ⚡ A dynamic FastAPI router that automatically creates CRUD routes for your models Documentation: https://fast

Adam Watkins 943 Jan 01, 2023
High-performance Async REST API, in Python. FastAPI + GINO + Arq + Uvicorn (w/ Redis and PostgreSQL).

fastapi-gino-arq-uvicorn High-performance Async REST API, in Python. FastAPI + GINO + Arq + Uvicorn (powered by Redis & PostgreSQL). Contents Get Star

Leo Sussan 351 Jan 04, 2023
Generate modern Python clients from OpenAPI

openapi-python-client Generate modern Python clients from OpenAPI 3.x documents. This generator does not support OpenAPI 2.x FKA Swagger. If you need

Triax Technologies 558 Jan 07, 2023
Feature rich robust FastAPI template.

Flexible and Lightweight general-purpose template for FastAPI. Usage ⚠️ Git, Python and Poetry must be installed and accessible ⚠️ Poetry version must

Pavel Kirilin 588 Jan 04, 2023
API for Submarino store

submarino-api API for the submarino e-commerce documentation read the documentation in: https://submarino-api.herokuapp.com/docs or in https://submari

Miguel 1 Oct 14, 2021
flask extension for integration with the awesome pydantic package

flask extension for integration with the awesome pydantic package

249 Jan 06, 2023
京东图片点击验证码识别

京东图片验证码识别 本项目是@yqchilde 大佬的 JDMemberCloseAccount 识别图形验证码(#45)思路验证,若你也有思路可以提交Issue和PR也可以在 @yqchilde 的 TG群 找到我 声明 本脚本只是为了学习研究使用 本脚本除了采集处理验证码图片没有其他任何功能,也

AntonVanke 37 Dec 22, 2022
Fetching Cryptocurrency Prices from Coingecko and Displaying them on Grafana

cryptocurrency-prices-grafana Fetching Cryptocurrency Prices from Coingecko and Displaying them on Grafana About This stack consists of: Prometheus (t

Ruan Bekker 7 Aug 01, 2022
This is an API developed in python with the FastApi framework and putting into practice the recommendations of the book Clean Architecture in Python by Leonardo Giordani,

This is an API developed in python with the FastApi framework and putting into practice the recommendations of the book Clean Architecture in Python by Leonardo Giordani,

0 Sep 24, 2022
A minimal Streamlit app showing how to launch and stop a FastAPI process on demand

Simple Streamlit + FastAPI Integration A minimal Streamlit app showing how to launch and stop a FastAPI process on demand. The FastAPI /run route simu

Arvindra 18 Jan 02, 2023
Complete Fundamental to Expert Codes of FastAPI for creating API's

FastAPI FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3 based on standard Python type hints. The key featu

Pranav Anand 1 Nov 28, 2021
FastAPI Server Session is a dependency-based extension for FastAPI that adds support for server-sided session management

FastAPI Server-sided Session FastAPI Server Session is a dependency-based extension for FastAPI that adds support for server-sided session management.

DevGuyAhnaf 5 Dec 23, 2022
Hook Slinger acts as a simple service that lets you send, retry, and manage event-triggered POST requests, aka webhooks

Hook Slinger acts as a simple service that lets you send, retry, and manage event-triggered POST requests, aka webhooks. It provides a fully self-contained docker image that is easy to orchestrate, m

Redowan Delowar 96 Jan 02, 2023
Docker image with Uvicorn managed by Gunicorn for high-performance FastAPI web applications in Python 3.6 and above with performance auto-tuning. Optionally with Alpine Linux.

Supported tags and respective Dockerfile links python3.8, latest (Dockerfile) python3.7, (Dockerfile) python3.6 (Dockerfile) python3.8-slim (Dockerfil

Sebastián Ramírez 2.1k Dec 31, 2022
Prometheus exporter for Starlette and FastAPI

starlette_exporter Prometheus exporter for Starlette and FastAPI. The middleware collects basic metrics: Counter: starlette_requests_total Histogram:

Steve Hillier 225 Jan 05, 2023
Slack webhooks API served by FastAPI

Slackers Slack webhooks API served by FastAPI What is Slackers Slackers is a FastAPI implementation to handle Slack interactions and events. It serves

Niels van Huijstee 68 Jan 05, 2023