cookiecutter-fastapi-backend


Namecookiecutter-fastapi-backend JSON
Version 2.4.1 PyPI version JSON
download
home_pageNone
SummaryCookiecutter template to build and deploy fastapi backends..batteries included
upload_time2025-07-18 03:33:52
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords cookiecutter python projects project templates jinja2 skeleton scaffolding project directory package packaging fastapi
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
    <a href="https://github.com/nickatnight/cookiecutter-fastapi-backend/actions">
        <img alt="GitHub Actions status" src="https://github.com/nickatnight/cookiecutter-fastapi-backend/actions/workflows/main.yml/badge.svg">
    </a>
    <a href="https://pypi.org/project/cookiecutter-fastapi-backend/">
        <img alt="PyPi Shield" src="https://img.shields.io/pypi/v/cookiecutter-fastapi-backend">
    </a>
    <a href="https://github.com/nickatnight/cookiecutter-fastapi-backend/blob/master/LICENSE">
        <img alt="License Shield" src="https://img.shields.io/github/license/nickatnight/cookiecutter-fastapi-backend">
    </a>
    <a href="https://docs.astral.sh/uv/">
        <img alt="uv version" src="https://img.shields.io/badge/uv-0.7.18+-purple">
    </a>
    <a href="https://cookiecutter-fastapi-backend.readthedocs.io/en/latest/"><img alt="Read The Docs Badge" src="https://img.shields.io/readthedocs/cookiecutter-fastapi-backend"></a>
</p>

# :cookie: cookiecutter-fastapi-backend
[Cookiecutter](https://github.com/cookiecutter/cookiecutter) template to build and deploy fastapi backends to your favorite PaaS..batteries included.

Supported PaaS's:
- Render
- DigitalOcean
- Platform.sh (Coming soon)
- Fly.io (Coming soon)

## Quickstart
Install the latest Cookiecutter if you haven't installed it yet:
```sh
# pipx is strongly recommended.
$ pipx install cookiecutter

# If pipx is not an option,
# you can install cookiecutter in your Python user directory.
$ python -m pip install --user cookiecutter
```

Generate project from GitHub template:

```sh
$ pipx run cookiecutter gh:nickatnight/cookiecutter-fastapi-backend
```

Or from Python code:

```python
from cookiecutter.main import cookiecutter

cookiecutter("gh:nickatnight/cookiecutter-fastapi-backend")
```

## Features
* :whale: **Docker & Docker Compose** integration and optimization for [local development](https://docs.docker.com/compose/). Fast bundles using build stages and [uv](https://docs.astral.sh/uv/)
* :computer: **Production ready** Python web server using [FastAPI](https://fastapi.tiangolo.com/)
* :pencil2: **SQLModel** [Library](https://sqlmodel.tiangolo.com/) for interacting with SQL databases from Python code, with Python objects. It is designed to be intuitive, easy to use, highly compatible, and robust
* :light_rail: **Alembic** Lightweight database migration tool for usage with the [SQLAlchemy](https://alembic.sqlalchemy.org/en/latest/) Database Toolkit for Python
* :floppy_disk: **postgresql** Powerful open source [object-relational](https://www.postgresql.org/) database
* :convenience_store: **Redis** In-memory data structure [store](https://redis.io/), used as a distributed, in-memory key–value database, cache and message broker
* :gear: **Common** Base models and repository classes for common CRUD operations and database schemas.
* :seedling: **Celery** [Asynchronous](https://docs.celeryq.dev/en/stable/getting-started/introduction.html) task or job queue
* :inbox_tray: **Continuous Integration/Deployment** Modular [GitHub Actions](https://github.com/features/actions) to lint, test, and deploy to your favorite platform-as-a-service. Automatically includes [Codecov](https://about.codecov.io/) reporting.
* :leftwards_arrow_with_hook: **pre-commit** [Git hooks](https://pre-commit.com/) to maintain code quality using modern tooling (ruff, black, isort)
* :rocket: **Sentry** Application monitoring and error tracking. You can sign up for free at [sentry.io](https://sentry.io/)

## Input Variables
The generator (cookiecutter) will ask you for some data, you might want to have at hand before generating the project.

The input variables, with their default values (some auto generated) are:

* `project_name`: The name of the project
* `project_slug`: The development friendly name of the project. By default, based on the project name
* `project_slug_db`: The database friendly name of the project. By default, based on the project name
* `author_email`: The authors email...for maintainer info in `pyproject.toml`
* `py_version`: The version of Python to install. Options are `3.9`, `3.10`, and `3.11`
* `db_container_name`: The name of the database container. Default `db`
* `backend_container_name`: The name of the backend container. Default `backend`
* `use_celery`: Whether to use Celery/Beat and Redis for asynchronous/scheduled tasks. Default `no`
* `use_sentry`: Whether to use Sentry for application monitoring and error tracking. Default `no`
* `github_username`: The username of the GitHub user. Used for badge display in generated project `README.md`
* `deployments`: Deploy to your favorite platform, Render.com, DigitalOcean, (and more to come). Default `none`

## Documentation
See full documentation [here](https://cookiecutter-fastapi-backend.readthedocs.io/en/latest/).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cookiecutter-fastapi-backend",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "cookiecutter, Python, projects, project templates, Jinja2, skeleton, scaffolding, project directory, package, packaging, FastAPI",
    "author": null,
    "author_email": "nickatnight <nialexanderke@proton.me>",
    "download_url": "https://files.pythonhosted.org/packages/ad/ee/993e4255bcbff21a6cafe3373bb220ce87170b6789489d8f43b2f307d5c5/cookiecutter_fastapi_backend-2.4.1.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n    <a href=\"https://github.com/nickatnight/cookiecutter-fastapi-backend/actions\">\n        <img alt=\"GitHub Actions status\" src=\"https://github.com/nickatnight/cookiecutter-fastapi-backend/actions/workflows/main.yml/badge.svg\">\n    </a>\n    <a href=\"https://pypi.org/project/cookiecutter-fastapi-backend/\">\n        <img alt=\"PyPi Shield\" src=\"https://img.shields.io/pypi/v/cookiecutter-fastapi-backend\">\n    </a>\n    <a href=\"https://github.com/nickatnight/cookiecutter-fastapi-backend/blob/master/LICENSE\">\n        <img alt=\"License Shield\" src=\"https://img.shields.io/github/license/nickatnight/cookiecutter-fastapi-backend\">\n    </a>\n    <a href=\"https://docs.astral.sh/uv/\">\n        <img alt=\"uv version\" src=\"https://img.shields.io/badge/uv-0.7.18+-purple\">\n    </a>\n    <a href=\"https://cookiecutter-fastapi-backend.readthedocs.io/en/latest/\"><img alt=\"Read The Docs Badge\" src=\"https://img.shields.io/readthedocs/cookiecutter-fastapi-backend\"></a>\n</p>\n\n# :cookie: cookiecutter-fastapi-backend\n[Cookiecutter](https://github.com/cookiecutter/cookiecutter) template to build and deploy fastapi backends to your favorite PaaS..batteries included.\n\nSupported PaaS's:\n- Render\n- DigitalOcean\n- Platform.sh (Coming soon)\n- Fly.io (Coming soon)\n\n## Quickstart\nInstall the latest Cookiecutter if you haven't installed it yet:\n```sh\n# pipx is strongly recommended.\n$ pipx install cookiecutter\n\n# If pipx is not an option,\n# you can install cookiecutter in your Python user directory.\n$ python -m pip install --user cookiecutter\n```\n\nGenerate project from GitHub template:\n\n```sh\n$ pipx run cookiecutter gh:nickatnight/cookiecutter-fastapi-backend\n```\n\nOr from Python code:\n\n```python\nfrom cookiecutter.main import cookiecutter\n\ncookiecutter(\"gh:nickatnight/cookiecutter-fastapi-backend\")\n```\n\n## Features\n* :whale: **Docker & Docker Compose** integration and optimization for [local development](https://docs.docker.com/compose/). Fast bundles using build stages and [uv](https://docs.astral.sh/uv/)\n* :computer: **Production ready** Python web server using [FastAPI](https://fastapi.tiangolo.com/)\n* :pencil2: **SQLModel** [Library](https://sqlmodel.tiangolo.com/) for interacting with SQL databases from Python code, with Python objects. It is designed to be intuitive, easy to use, highly compatible, and robust\n* :light_rail: **Alembic** Lightweight database migration tool for usage with the [SQLAlchemy](https://alembic.sqlalchemy.org/en/latest/) Database Toolkit for Python\n* :floppy_disk: **postgresql** Powerful open source [object-relational](https://www.postgresql.org/) database\n* :convenience_store: **Redis** In-memory data structure [store](https://redis.io/), used as a distributed, in-memory key\u2013value database, cache and message broker\n* :gear: **Common** Base models and repository classes for common CRUD operations and database schemas.\n* :seedling: **Celery** [Asynchronous](https://docs.celeryq.dev/en/stable/getting-started/introduction.html) task or job queue\n* :inbox_tray: **Continuous Integration/Deployment** Modular [GitHub Actions](https://github.com/features/actions) to lint, test, and deploy to your favorite platform-as-a-service. Automatically includes [Codecov](https://about.codecov.io/) reporting.\n* :leftwards_arrow_with_hook: **pre-commit** [Git hooks](https://pre-commit.com/) to maintain code quality using modern tooling (ruff, black, isort)\n* :rocket: **Sentry** Application monitoring and error tracking. You can sign up for free at [sentry.io](https://sentry.io/)\n\n## Input Variables\nThe generator (cookiecutter) will ask you for some data, you might want to have at hand before generating the project.\n\nThe input variables, with their default values (some auto generated) are:\n\n* `project_name`: The name of the project\n* `project_slug`: The development friendly name of the project. By default, based on the project name\n* `project_slug_db`: The database friendly name of the project. By default, based on the project name\n* `author_email`: The authors email...for maintainer info in `pyproject.toml`\n* `py_version`: The version of Python to install. Options are `3.9`, `3.10`, and `3.11`\n* `db_container_name`: The name of the database container. Default `db`\n* `backend_container_name`: The name of the backend container. Default `backend`\n* `use_celery`: Whether to use Celery/Beat and Redis for asynchronous/scheduled tasks. Default `no`\n* `use_sentry`: Whether to use Sentry for application monitoring and error tracking. Default `no`\n* `github_username`: The username of the GitHub user. Used for badge display in generated project `README.md`\n* `deployments`: Deploy to your favorite platform, Render.com, DigitalOcean, (and more to come). Default `none`\n\n## Documentation\nSee full documentation [here](https://cookiecutter-fastapi-backend.readthedocs.io/en/latest/).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Cookiecutter template to build and deploy fastapi backends..batteries included",
    "version": "2.4.1",
    "project_urls": {
        "Homepage": "https://github.com/nickatnight/cookiecutter-fastapi-backend",
        "Repository": "https://github.com/nickatnight/cookiecutter-fastapi-backend"
    },
    "split_keywords": [
        "cookiecutter",
        " python",
        " projects",
        " project templates",
        " jinja2",
        " skeleton",
        " scaffolding",
        " project directory",
        " package",
        " packaging",
        " fastapi"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b59a26ec8fb7948a3dc5bb04e6f1c9723940ffda5f6a2cdac9ffc0e2950f3e96",
                "md5": "4961c0d64371f03bfa30eb2a3064b7c2",
                "sha256": "dc549c7d1bf12ca089f477771fc30a7baba389b063f22c34a9484c3077140f37"
            },
            "downloads": -1,
            "filename": "cookiecutter_fastapi_backend-2.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4961c0d64371f03bfa30eb2a3064b7c2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 5850,
            "upload_time": "2025-07-18T03:33:51",
            "upload_time_iso_8601": "2025-07-18T03:33:51.146226Z",
            "url": "https://files.pythonhosted.org/packages/b5/9a/26ec8fb7948a3dc5bb04e6f1c9723940ffda5f6a2cdac9ffc0e2950f3e96/cookiecutter_fastapi_backend-2.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "adee993e4255bcbff21a6cafe3373bb220ce87170b6789489d8f43b2f307d5c5",
                "md5": "b2d8362052499d5efbbc3fa7ada0f8e3",
                "sha256": "646b9179c6636cb438b7bdff000766399aaaee70de205c719f319221a0d66813"
            },
            "downloads": -1,
            "filename": "cookiecutter_fastapi_backend-2.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b2d8362052499d5efbbc3fa7ada0f8e3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 6829,
            "upload_time": "2025-07-18T03:33:52",
            "upload_time_iso_8601": "2025-07-18T03:33:52.531920Z",
            "url": "https://files.pythonhosted.org/packages/ad/ee/993e4255bcbff21a6cafe3373bb220ce87170b6789489d8f43b2f307d5c5/cookiecutter_fastapi_backend-2.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-18 03:33:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nickatnight",
    "github_project": "cookiecutter-fastapi-backend",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cookiecutter-fastapi-backend"
}
        
Elapsed time: 0.48325s