{"id":16980512,"url":"https://github.com/fernandocelmer/cookiecutter-fastapi","last_synced_at":"2026-04-09T07:39:19.805Z","repository":{"id":215027821,"uuid":"723871627","full_name":"FernandoCelmer/cookiecutter-fastapi","owner":"FernandoCelmer","description":"❤️️ Amazing project with FastAPI","archived":false,"fork":false,"pushed_at":"2024-01-08T03:29:55.000Z","size":443,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-19T20:49:56.692Z","etag":null,"topics":["cookiecutter","cookiecutter-fastapi","cookiecutter-python","cookiecutter-template","fastapi","fastapi-sqlalchemy","fastapi-template","pydantic","python","python-3","python3"],"latest_commit_sha":null,"homepage":"https://fernandocelmer.github.io/cookiecutter-fastapi/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FernandoCelmer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-26T23:53:34.000Z","updated_at":"2023-12-27T14:13:52.000Z","dependencies_parsed_at":"2024-11-28T08:32:01.362Z","dependency_job_id":null,"html_url":"https://github.com/FernandoCelmer/cookiecutter-fastapi","commit_stats":null,"previous_names":["fernandocelmer/cookiecutter-fastapi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoCelmer%2Fcookiecutter-fastapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoCelmer%2Fcookiecutter-fastapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoCelmer%2Fcookiecutter-fastapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoCelmer%2Fcookiecutter-fastapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FernandoCelmer","download_url":"https://codeload.github.com/FernandoCelmer/cookiecutter-fastapi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244882112,"owners_count":20525803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cookiecutter","cookiecutter-fastapi","cookiecutter-python","cookiecutter-template","fastapi","fastapi-sqlalchemy","fastapi-template","pydantic","python","python-3","python3"],"created_at":"2024-10-14T01:52:17.860Z","updated_at":"2025-12-30T23:55:28.077Z","avatar_url":"https://github.com/FernandoCelmer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cookiecutter-fastapi\n\n![GitHub forks](https://img.shields.io/github/forks/FernandoCelmer/cookiecutter-fastapi?label=Forks\u0026style=flat-square)\n![GitHub Repo stars](https://img.shields.io/github/stars/FernandoCelmer/cookiecutter-fastapi?label=Stars\u0026style=flat-square)\n![GitHub last commit](https://img.shields.io/github/last-commit/FernandoCelmer/cookiecutter-fastapi?style=flat-square)\n\n- **Documentation**: [https://fernandocelmer.github.io/cookiecutter-fastapi](https://fernandocelmer.github.io/cookiecutter-fastapi)\n- **Source Code**: [https://github.com/FernandoCelmer/cookiecutter-fastapi](https://github.com/FernandoCelmer/cookiecutter-fastapi)\n\n\n## Features\n\n- [x] For FastAPI 0.104.1\n- [x] Works with Python 3.12\n- [x] Config for MySQL/SQLite\n- [x] Docker \u0026 Docker Compose\n- [x] Async support\n- [x] UUID ID type\n- [x] Mkdocs\n- [x] Basic Auth JWT\n- [x] Comprehensive test suite (pytest)\n- [x] Templates\n- [x] Code quality tools (Ruff, Flake8, MyPy, Black, Isort)\n- [x] Pre-commit hooks\n- [x] PEP 8 compliance (79 character line length)\n- [ ] Crud\n\n## Usage\n\nFirst install cookiecutter\n\n    pip install cookiecutter\n\nNow run this command to clone\n\n    cookiecutter https://github.com/FernandoCelmer/cookiecutter-fastapi\n\nNow just fill in some information for the cookiecutter to do its work and replace it in the project.\n\n    [1/15] repo_name (cookiecutter-fastapi): cookiecutter-fastapi\n    [2/15] project_name (FastAPI Template): Test FastAPI \n    [3/15] project_slug (test_fastapi): \n    [4/15] description (Amazing project with FastAPI!): Amazing API\n    [5/15] author_name (Fernando Celmer): Fernando Celmer\n    [6/15] domain_name (fernandocelmer.com): fernandocelmer.com\n    [7/15] email (fernando-celmer@fernandocelmer.com): email@fernandocelmer.com\n    [8/15] version (0.1.0): \n    [9/15] Select open_source_license\n        1 - MIT\n        2 - BSD\n        3 - Apache Software License 2.0\n        4 - Not open source\n        Choose from [1/2/3/4] (1): 1\n    [10/15] url_documentation (#): \n    [11/15] url_source_code (#): \n    [12/15] use_mkdocs (y): \n    [13/15] use_templates (y): \n    [14/15] use_auth (y):\n    [15/15] use_github_workflow (y):\n\n## Development\n\n### Running with Docker\n\nThe template includes Docker and Docker Compose configuration for easy development setup.\n\n1. Create a `.env` file based on `.env-exemple`:\n\n    ```bash\n    cp .env-exemple .env\n    ```\n\n2. Start the services:\n\n    ```bash\n    docker-compose up -d\n    ```\n\n3. The API will be available at `http://localhost:8000`\n4. API documentation (Swagger UI) at `http://localhost:8000/docs`\n\n### Running Tests\n\nThe template includes a comprehensive test suite using pytest.\n\n1. Install dependencies:\n\n    ```bash\n    poetry install\n    ```\n\n2. Run tests:\n\n    ```bash\n    pytest\n    ```\n\n3. Run tests with coverage:\n\n    ```bash\n    pytest --cov=app --cov-report=html\n    ```\n\n### Code Quality\n\nThe template includes comprehensive code quality tools configured with PEP 8 standards (79 character line length).\n\n1. Install code quality dependencies:\n\n    ```bash\n    poetry install --with code-quality\n    ```\n\n2. Run code quality checks:\n\n    ```bash\n    # Run Ruff (linting and formatting)\n    poetry run ruff check --config=.code_quality/ruff.toml app/ tests/\n    poetry run ruff format --check --config=.code_quality/ruff.toml app/ tests/\n\n    # Run Flake8\n    poetry run flake8 --append-config=.code_quality/.flake8 app/ tests/\n\n    # Run MyPy (type checking)\n    poetry run mypy --config-file=.code_quality/mypy.ini app/\n    ```\n\n3. Setup pre-commit hooks:\n\n    ```bash\n    poetry run pre-commit install\n    ```\n\n    Pre-commit hooks will automatically run code quality checks before each commit.\n\n### Commit Style\n\n- ⚙️ FEATURE\n- 📝 PEP8\n- 📌 ISSUE\n- 🪲 BUG\n- 📘 DOCS\n- 📦 PyPI\n- ❤️️ TEST\n- ⬆️ CI/CD\n- ⚠️ SECURITY\n\n### License\n\nThis project is licensed under the terms of the **MIT** license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandocelmer%2Fcookiecutter-fastapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernandocelmer%2Fcookiecutter-fastapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandocelmer%2Fcookiecutter-fastapi/lists"}