: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)
cookiecutter template for web API with python

Python project template for Web API with cookiecutter What's this This provides the project template including minimum test/lint/typechecking package

Hitoshi Manabe 4 Jan 28, 2021
Hyperlinks for pydantic models

Hyperlinks for pydantic models In a typical web application relationships between resources are modeled by primary and foreign keys in a database (int

Jaakko Moisio 10 Apr 18, 2022
FastAPI native extension, easy and simple JWT auth

fastapi-jwt FastAPI native extension, easy and simple JWT auth

Konstantin Chernyshev 19 Dec 12, 2022
A RESTful API for creating and monitoring resource components of a hypothetical build system. Built with FastAPI and pydantic. Complete with testing and CI.

diskspace-monitor-CRUD Background The build system is part of a large environment with a multitude of different components. Many of the components hav

Nick Hopewell 67 Dec 14, 2022
FastAPI application and service structure for a more maintainable codebase

Abstracting FastAPI Services See this article for more information: https://camillovisini.com/article/abstracting-fastapi-services/ Poetry poetry inst

Camillo Visini 309 Jan 04, 2023
User authentication fastapi with python

user-authentication-fastapi Authentication API Development Setup environment You should create a virtual environment and activate it: virtualenv venv

Sabir Hussain 3 Mar 03, 2022
A fast and durable Pub/Sub channel over Websockets. FastAPI + WebSockets + PubSub == ⚡ 💪 ❤️

⚡ 🗞️ FastAPI Websocket Pub/Sub A fast and durable Pub/Sub channel over Websockets. The easiest way to create a live publish / subscribe multi-cast ov

8 Dec 06, 2022
fastapi-cache is a tool to cache fastapi response and function result, with backends support redis and memcached.

fastapi-cache Introduction fastapi-cache is a tool to cache fastapi response and function result, with backends support redis, memcache, and dynamodb.

long2ice 551 Jan 08, 2023
Redis-based rate-limiting for FastAPI

Redis-based rate-limiting for FastAPI

Glib 6 Nov 14, 2022
CLI and Streamlit applications to create APIs from Excel data files within seconds, using FastAPI

FastAPI-Wrapper CLI & APIness Streamlit App Arvindra Sehmi, Oxford Economics Ltd. | Website | LinkedIn (Updated: 21 April, 2021) fastapi-wrapper is mo

Arvindra 49 Dec 03, 2022
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
FastAPI simple cache

FastAPI Cache Implements simple lightweight cache system as dependencies in FastAPI. Installation pip install fastapi-cache Usage example from fastapi

Ivan Sushkov 188 Dec 29, 2022
A Flask extension that enables or disables features based on configuration.

Flask FeatureFlags This is a Flask extension that adds feature flagging to your applications. This lets you turn parts of your site on or off based on

Rachel Greenfield 131 Sep 26, 2022
Flask-vs-FastAPI - Understanding Flask vs FastAPI Web Framework. A comparison of two different RestAPI frameworks.

Flask-vs-FastAPI Understanding Flask vs FastAPI Web Framework. A comparison of two different RestAPI frameworks. IntroductionIn Flask is a popular mic

Mithlesh Navlakhe 1 Jan 01, 2022
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
Pagination support for flask

flask-paginate Pagination support for flask framework (study from will_paginate). It supports several css frameworks. It requires Python2.6+ as string

Lix Xu 264 Nov 07, 2022
🍃 A comprehensive monitoring and alerting solution for the status of your Chia farmer and harvesters.

chia-monitor A monitoring tool to collect all important metrics from your Chia farming node and connected harvesters. It can send you push notificatio

Philipp Normann 153 Oct 21, 2022
The template for building scalable web APIs based on FastAPI, Tortoise ORM and other.

FastAPI and Tortoise ORM. Powerful but simple template for web APIs w/ FastAPI (as web framework) and Tortoise-ORM (for working via database without h

prostomarkeloff 95 Jan 08, 2023
Generate Class & Decorators for your FastAPI project ✨🚀

Classes and Decorators to use FastAPI with class based routing. In particular this allows you to construct an instance of a class and have methods of that instance be route handlers for FastAPI & Pyt

Yasser Tahiri 34 Oct 27, 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