FastAPI-fastkit 0.1.1__tar.gz → 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fastapi_fastkit-1.0.0/PKG-INFO +208 -0
- fastapi_fastkit-1.0.0/README.md +190 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/pyproject.toml +2 -16
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/__init__.py +1 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/backend/main.py +482 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/backend/transducer.py +36 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/cli.py +230 -43
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/core/settings.py +12 -2
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/README.md +20 -1
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/README.md-tpl +107 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/requirements.txt-tpl +36 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/run-server.sh-tpl +8 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/setup.cfg-tpl +14 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/setup.py-tpl +25 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/routes/items.py-tpl +57 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud/items.py-tpl +21 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/src/mocks/mock_items.json-tpl +2 -2
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/conftest.py-tpl +42 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/test_items.py-tpl +48 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/.env-tpl +1 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/README.md-tpl +156 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/requirements.txt-tpl +36 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/format.sh-tpl +5 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/lint.sh-tpl +5 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/run-server.sh-tpl +8 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/test.sh-tpl +6 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response}/setup.cfg-tpl +3 -4
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response}/setup.py-tpl +10 -18
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/api.py-tpl +9 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/routes/items.py-tpl +172 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/core/config.py-tpl +64 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/crud/items.py-tpl +21 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response}/src/helper/exceptions.py-tpl +12 -3
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response}/src/helper/pagination.py-tpl +3 -2
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/main.py-tpl +39 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/mocks/mock_items.json-tpl +8 -0
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/schemas/__init__.py-tpl → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/base.py-tpl +3 -2
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/items.py-tpl +22 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response}/src/utils/documents.py-tpl +1 -1
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/conftest.py-tpl +42 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/test_items.py-tpl +61 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/.env-tpl +1 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/.gitignore-tpl +30 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/README.md-tpl +101 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/format.sh-tpl +5 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/lint.sh-tpl +5 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/run-server.sh-tpl +8 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/test.sh-tpl +6 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/setup.py-tpl +1 -1
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/api.py-tpl +9 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/core/config.py-tpl +64 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/main.py-tpl +26 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/mocks/mock_items.json-tpl +8 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/schemas/items.py-tpl +22 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/conftest.py-tpl +15 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/test_items.py-tpl +6 -24
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/.env-tpl +1 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/.gitignore-tpl +30 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/Dockerfile-tpl +23 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/README.md-tpl +119 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/requirements.txt-tpl +36 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/format.sh-tpl +5 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/lint.sh-tpl +5 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/run-server.sh-tpl +8 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/test.sh-tpl +6 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/setup.cfg-tpl +13 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/setup.py-tpl +22 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/api.py-tpl +6 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/routes/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/routes/items.py-tpl +54 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/core/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/core/config.py-tpl +64 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/crud/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/crud/items.py-tpl +15 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/main.py-tpl +26 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/mocks/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/mocks/mock_items.json-tpl +8 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/schemas/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/schemas/items.py-tpl +19 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/conftest.py-tpl +30 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/test_items.py-tpl +44 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/.env-tpl +1 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/setup.py-tpl +22 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/core/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/core/config.py-tpl +75 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/main.py-tpl +36 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/.env-tpl +9 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/.gitignore-tpl +30 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/Dockerfile-tpl +23 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/README.md-tpl +144 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/alembic.ini-tpl +119 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/docker-compose.yml-tpl +44 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/requirements.txt-tpl +41 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/format.sh-tpl +5 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/lint.sh-tpl +5 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/pre-start.sh-tpl +16 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/run-server.sh-tpl +8 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/test.sh-tpl +10 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/setup.cfg-tpl +13 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/setup.py-tpl +25 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/README-tpl +1 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/env.py-tpl +85 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/script.py.mako-tpl +26 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/versions/bedcdc35b64a_first_alembic.py-tpl +37 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/api.py-tpl +11 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/deps.py-tpl +19 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/routes/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/routes/items.py-tpl +109 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/config.py-tpl +88 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/db.py-tpl +53 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/crud/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/crud/items.py-tpl +102 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/main.py-tpl +45 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/schemas/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/schemas/items.py-tpl +54 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/backend_pre_start.py-tpl +39 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/init_data.py-tpl +23 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/tests_pre_start.py-tpl +39 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/conftest.py-tpl +63 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/test_items.py-tpl +44 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/modules/api/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/modules/api/routes/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/modules/api/routes/new_route.py-tpl +64 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/modules/crud/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/modules/crud/new_route.py-tpl +29 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/modules/schemas/__init__.py-tpl +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/modules/schemas/new_route.py-tpl +23 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/py.typed +0 -0
- fastapi_fastkit-1.0.0/src/fastapi_fastkit/utils/__init__.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/utils/main.py +51 -5
- fastapi_fastkit-1.0.0/tests/__init__.py +0 -0
- fastapi_fastkit-1.0.0/tests/test_backends/__init__.py +0 -0
- fastapi_fastkit-1.0.0/tests/test_cli_operations/__init__.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/tests/test_cli_operations/test_cli.py +51 -19
- fastapi_fastkit-1.0.0/tests/test_rich/__init__.py +0 -0
- fastapi_fastkit-1.0.0/tests/test_templates/__init__.py +0 -0
- fastapi_fastkit-1.0.0/tests/test_templates/test_fastapi-async-crud.py +61 -0
- fastapi_fastkit-1.0.0/tests/test_templates/test_fastapi-customized-response.py +61 -0
- fastapi_fastkit-1.0.0/tests/test_templates/test_fastapi-default.py +58 -0
- fastapi_fastkit-1.0.0/tests/test_templates/test_fastapi-dockerized.py +59 -0
- fastapi_fastkit-0.1.1/PKG-INFO +0 -173
- fastapi_fastkit-0.1.1/README.md +0 -154
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/__init__.py +0 -1
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/backend/main.py +0 -191
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/.env.test-tpl +0 -3
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/README.md-tpl +0 -17
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/main.py-tpl +0 -21
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/requirements.txt-tpl +0 -47
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/script/run-server.sh-tpl +0 -2
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/script/run-test.sh-tpl +0 -2
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/__init__.py-tpl +0 -88
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/core/settings.py-tpl +0 -96
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud/_base.py-tpl +0 -92
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud/user.py-tpl +0 -44
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/helper/global_data.py-tpl +0 -33
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/helper/logging.py-tpl +0 -25
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/mocks/mock_users.json-tpl +0 -17
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/router/__init__.py-tpl +0 -48
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/router/user.py-tpl +0 -126
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/schemas/user.py-tpl +0 -81
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/templates/index.html-tpl +0 -27
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/conftest.py-tpl +0 -22
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/routes/test_user.py-tpl +0 -112
- fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/README.md-tpl +0 -25
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/LICENSE +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/__main__.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/backend/__init__.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/backend/inspector.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/core/__init__.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/core/exceptions.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/PROJECT_README_TEMPLATE.md +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/__init__.py +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/.env-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/.gitignore-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/scripts/format.sh-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/scripts/lint.sh-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/scripts/test.sh-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/core → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/src/api/api.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/helper → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/routes}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/mocks → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/core}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/src/core/config.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/utils → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/src/main.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/mocks}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/routes → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/schemas}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud}/src/schemas/items.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response}/.gitignore-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/routes → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/core → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/routes}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/crud → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/core}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/mocks → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/crud}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/schemas → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper}/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests → fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/mocks}/__init__.py-tpl +0 -0
- /fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-customized-response/README.md-tpl → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/__init__.py-tpl +0 -0
- /fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/README.md-tpl → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/utils/__init__.py-tpl +0 -0
- /fastapi_fastkit-0.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/README.md-tpl → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/requirements.txt-tpl +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/setup.cfg-tpl +0 -0
- /fastapi_fastkit-0.1.1/src/fastapi_fastkit/py.typed → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/__init__.py-tpl +0 -0
- /fastapi_fastkit-0.1.1/src/fastapi_fastkit/utils/__init__.py → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/__init__.py-tpl +0 -0
- /fastapi_fastkit-0.1.1/tests/__init__.py → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/routes/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/routes/items.py-tpl +0 -0
- /fastapi_fastkit-0.1.1/tests/test_backends/__init__.py → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/core/__init__.py-tpl +0 -0
- /fastapi_fastkit-0.1.1/tests/test_cli_operations/__init__.py → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/crud/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/crud/items.py-tpl +0 -0
- /fastapi_fastkit-0.1.1/tests/test_rich/__init__.py → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/mocks/__init__.py-tpl +0 -0
- /fastapi_fastkit-0.1.1/tests/test_templates/__init__.py → /fastapi_fastkit-1.0.0/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/schemas/__init__.py-tpl +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/src/fastapi_fastkit/utils/logging.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/tests/conftest.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/tests/test_backends/test_configure.py +0 -0
- {fastapi_fastkit-0.1.1 → fastapi_fastkit-1.0.0}/tests/test_rich/test_rich.py +0 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: FastAPI-fastkit
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Fast, easy-to-use starter kit for new users of Python and FastAPI
|
|
5
|
+
Author-Email: bnbong <bbbong9@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Requires-Python: >=3.12
|
|
8
|
+
Requires-Dist: click>=8.1.7
|
|
9
|
+
Requires-Dist: rich>=13.9.2
|
|
10
|
+
Provides-Extra: dev
|
|
11
|
+
Requires-Dist: pytest>=8.3.3; extra == "dev"
|
|
12
|
+
Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
|
|
13
|
+
Requires-Dist: black>=24.10.0; extra == "dev"
|
|
14
|
+
Requires-Dist: pre-commit>=4.0.1; extra == "dev"
|
|
15
|
+
Requires-Dist: mypy>=1.12.0; extra == "dev"
|
|
16
|
+
Requires-Dist: isort>=5.13.2; extra == "dev"
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
<img align="top" width="70%" src="https://bnbong.github.io/projects/img/fastkit_general_logo.png" alt="FastAPI-fastkit"/>
|
|
21
|
+
</p>
|
|
22
|
+
<p align="center">
|
|
23
|
+
<em><b>FastAPI-fastkit</b>: Fast, easy-to-use starter kit for new users of Python and FastAPI</em>
|
|
24
|
+
</p>
|
|
25
|
+
<p align="center">
|
|
26
|
+
<a href="https://pypi.org/project/fastapi-fastkit" target="_blank">
|
|
27
|
+
<img src="https://img.shields.io/pypi/v/fastapi-fastkit" alt="PyPI - Version">
|
|
28
|
+
</a>
|
|
29
|
+
<a href="https://github.com/bnbong/FastAPI-fastkit/releases" target="_blank">
|
|
30
|
+
<img src="https://img.shields.io/github/v/release/bnbong/FastAPI-fastkit" alt="GitHub Release">
|
|
31
|
+
</a>
|
|
32
|
+
</p>
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
This project was created to speed up the configuration of the development environment needed to develop Python-based web apps for new users of Python and [FastAPI](https://github.com/fastapi/fastapi).
|
|
37
|
+
|
|
38
|
+
This project was inspired by the `SpringBoot initializer` & Python Django's `django-admin` cli operation.
|
|
39
|
+
|
|
40
|
+
## Key Features
|
|
41
|
+
|
|
42
|
+
- **Immediate FastAPI project creation** : Super-fast FastAPI workspace & project creation via CLI, inspired by `django-admin`feature of [Python Django](https://github.com/django/django)
|
|
43
|
+
- **Prettier CLI outputs** : beautiful CLI experiment ([rich library](https://github.com/Textualize/rich) feature)
|
|
44
|
+
- **Standards-based FastAPI project template** : All FastAPI-fastkit templates are based on Python standards and FastAPI's common use
|
|
45
|
+
|
|
46
|
+
## Installation
|
|
47
|
+
|
|
48
|
+
Install `FastAPI-fastkit` at your Python environment.
|
|
49
|
+
|
|
50
|
+
```console
|
|
51
|
+
$ pip install FastAPI-fastkit
|
|
52
|
+
|
|
53
|
+
---> 100%
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Usage
|
|
57
|
+
|
|
58
|
+
### Create a new FastAPI project workspace environment immediately
|
|
59
|
+
|
|
60
|
+
You can now start new FastAPI project really fast with FastAPI-fastkit!
|
|
61
|
+
|
|
62
|
+
Create a new FastAPI project workspace immediately with:
|
|
63
|
+
|
|
64
|
+
```console
|
|
65
|
+
$ fastkit init
|
|
66
|
+
Enter the project name: <your-project-name>
|
|
67
|
+
Enter the author name: <your-name>
|
|
68
|
+
Enter the author email: <your-email>
|
|
69
|
+
Enter the project description: <your-project-description>
|
|
70
|
+
|
|
71
|
+
Available Stacks and Dependencies:
|
|
72
|
+
MINIMAL Stack
|
|
73
|
+
┌──────────────┬─────────┐
|
|
74
|
+
│ Dependency 1 │ fastapi │
|
|
75
|
+
│ Dependency 2 │ uvicorn │
|
|
76
|
+
└──────────────┴─────────┘
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
STANDARD Stack
|
|
80
|
+
┌──────────────┬────────────┐
|
|
81
|
+
│ Dependency 1 │ fastapi │
|
|
82
|
+
│ Dependency 2 │ uvicorn │
|
|
83
|
+
│ Dependency 3 │ sqlalchemy │
|
|
84
|
+
│ Dependency 4 │ alembic │
|
|
85
|
+
│ Dependency 5 │ pytest │
|
|
86
|
+
└──────────────┴────────────┘
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
FULL Stack
|
|
90
|
+
┌──────────────┬────────────────┐
|
|
91
|
+
│ Dependency 1 │ fastapi │
|
|
92
|
+
│ Dependency 2 │ uvicorn │
|
|
93
|
+
│ Dependency 3 │ sqlalchemy │
|
|
94
|
+
│ Dependency 4 │ alembic │
|
|
95
|
+
│ Dependency 5 │ pytest │
|
|
96
|
+
│ Dependency 6 │ redis │
|
|
97
|
+
│ Dependency 7 │ celery │
|
|
98
|
+
│ Dependency 8 │ docker-compose │
|
|
99
|
+
└──────────────┴────────────────┘
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
Select stack (minimal, standard, full): minimal
|
|
103
|
+
Creating Project:
|
|
104
|
+
new-fastapi-project
|
|
105
|
+
┌───────────┬────────┐
|
|
106
|
+
│ Component │ Status │
|
|
107
|
+
│ fastapi │ ✓ │
|
|
108
|
+
│ uvicorn │ ✓ │
|
|
109
|
+
└───────────┴────────┘
|
|
110
|
+
Creating virtual environment...
|
|
111
|
+
Installing dependencies...
|
|
112
|
+
⠙ Setting up project environment...Collecting <packages~>
|
|
113
|
+
|
|
114
|
+
---> 100%
|
|
115
|
+
|
|
116
|
+
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Success ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
117
|
+
│ ✨ Dependencies installed successfully │
|
|
118
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
119
|
+
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Success ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
120
|
+
│ ✨ FastAPI project '<your-project-name>' has been created successfully and saved to '<your-project-path>'! │
|
|
121
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
122
|
+
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Info ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
123
|
+
│ ℹ To start your project, run 'fastkit runserver' at newly created FastAPI project directory │
|
|
124
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
This command will create a new FastAPI project workspace environment with Python virtual environment.
|
|
128
|
+
|
|
129
|
+
### Add a new route to the FastAPI project
|
|
130
|
+
|
|
131
|
+
`FastAPI-fastkit` makes it easy to expand your FastAPI project.
|
|
132
|
+
|
|
133
|
+
Add a new route endpoint to your FastAPI project with:
|
|
134
|
+
|
|
135
|
+
```console
|
|
136
|
+
$ fastkit addroute <your-project-name> <new-route-name>
|
|
137
|
+
|
|
138
|
+
---> 100%
|
|
139
|
+
|
|
140
|
+
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Info ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
141
|
+
│ ℹ Updated main.py to include the API router │
|
|
142
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
143
|
+
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Success ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
144
|
+
│ ✨ Successfully added new route '<new-route-name>' to project '<your-project-name>'. │
|
|
145
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
### Place a structured FastAPI demo project immediately
|
|
150
|
+
|
|
151
|
+
You can also start with a structured FastAPI demo project.
|
|
152
|
+
|
|
153
|
+
Demo projects are consist of various tech stacks with simple item CRUD endpoints implemented.
|
|
154
|
+
|
|
155
|
+
Place a structured FastAPI demo project immediately with:
|
|
156
|
+
|
|
157
|
+
```console
|
|
158
|
+
$ fastkit startdemo
|
|
159
|
+
Enter the project name: <your-project-name>
|
|
160
|
+
Enter the author name: <your-name>
|
|
161
|
+
Enter the author email: <your-email>
|
|
162
|
+
Enter the project description: <your-project-description>
|
|
163
|
+
Deploying FastAPI project using 'fastapi-default' template
|
|
164
|
+
Template path:
|
|
165
|
+
/<fastapi_fastkit-package-path>/fastapi_project_template/fastapi-defau
|
|
166
|
+
lt
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
Project Information
|
|
170
|
+
┌──────────────┬──────────────────────────────────────────┐
|
|
171
|
+
│ Project Name │ <your-project-name> │
|
|
172
|
+
│ Author │ <your-name> │
|
|
173
|
+
│ Author Email │ <your-email> │
|
|
174
|
+
│ Description │ <your-project-description> │
|
|
175
|
+
└──────────────┴──────────────────────────────────────────┘
|
|
176
|
+
|
|
177
|
+
Do you want to proceed with project creation? [y/N]: y
|
|
178
|
+
FastAPI template project will deploy at '<your-project-path>'
|
|
179
|
+
|
|
180
|
+
---> 100%
|
|
181
|
+
|
|
182
|
+
╭─────────────────────────────────────────────────────────────────── Success ────────────────────────────────────────────────────────────────────╮
|
|
183
|
+
│ ✨ FastAPI project '<your-project-name>' from 'fastapi-default' has been created and saved to │
|
|
184
|
+
│ <your-project-path>! │
|
|
185
|
+
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
To view the list of available FastAPI demos, check with:
|
|
189
|
+
|
|
190
|
+
```console
|
|
191
|
+
$ fastkit list-templates
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Significance of FastAPI-fastkit
|
|
195
|
+
|
|
196
|
+
FastAPI-fastkit aims to provide a fast and easy-to-use starter kit for new users of Python and FastAPI.
|
|
197
|
+
|
|
198
|
+
This idea was initiated with the aim of full fill to help FastAPI newcomers to learn from the beginning, which is the production significance of the FastAPI-cli package added with the [FastAPI 0.111.0 version update](https://github.com/fastapi/fastapi/releases/tag/0.111.0).
|
|
199
|
+
|
|
200
|
+
As one person who has been using and loving FastAPI for a long time, I wanted to develop a project that could help me a little bit to practice [the wonderful motivation](https://github.com/fastapi/fastapi/pull/11522#issuecomment-2264639417) that FastAPI developer [tiangolo](https://github.com/tiangolo) has.
|
|
201
|
+
|
|
202
|
+
## License
|
|
203
|
+
|
|
204
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
@author bnbong bbbong9@gmail.com
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img align="top" width="70%" src="https://bnbong.github.io/projects/img/fastkit_general_logo.png" alt="FastAPI-fastkit"/>
|
|
3
|
+
</p>
|
|
4
|
+
<p align="center">
|
|
5
|
+
<em><b>FastAPI-fastkit</b>: Fast, easy-to-use starter kit for new users of Python and FastAPI</em>
|
|
6
|
+
</p>
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://pypi.org/project/fastapi-fastkit" target="_blank">
|
|
9
|
+
<img src="https://img.shields.io/pypi/v/fastapi-fastkit" alt="PyPI - Version">
|
|
10
|
+
</a>
|
|
11
|
+
<a href="https://github.com/bnbong/FastAPI-fastkit/releases" target="_blank">
|
|
12
|
+
<img src="https://img.shields.io/github/v/release/bnbong/FastAPI-fastkit" alt="GitHub Release">
|
|
13
|
+
</a>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
This project was created to speed up the configuration of the development environment needed to develop Python-based web apps for new users of Python and [FastAPI](https://github.com/fastapi/fastapi).
|
|
19
|
+
|
|
20
|
+
This project was inspired by the `SpringBoot initializer` & Python Django's `django-admin` cli operation.
|
|
21
|
+
|
|
22
|
+
## Key Features
|
|
23
|
+
|
|
24
|
+
- **Immediate FastAPI project creation** : Super-fast FastAPI workspace & project creation via CLI, inspired by `django-admin`feature of [Python Django](https://github.com/django/django)
|
|
25
|
+
- **Prettier CLI outputs** : beautiful CLI experiment ([rich library](https://github.com/Textualize/rich) feature)
|
|
26
|
+
- **Standards-based FastAPI project template** : All FastAPI-fastkit templates are based on Python standards and FastAPI's common use
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
Install `FastAPI-fastkit` at your Python environment.
|
|
31
|
+
|
|
32
|
+
```console
|
|
33
|
+
$ pip install FastAPI-fastkit
|
|
34
|
+
|
|
35
|
+
---> 100%
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Usage
|
|
39
|
+
|
|
40
|
+
### Create a new FastAPI project workspace environment immediately
|
|
41
|
+
|
|
42
|
+
You can now start new FastAPI project really fast with FastAPI-fastkit!
|
|
43
|
+
|
|
44
|
+
Create a new FastAPI project workspace immediately with:
|
|
45
|
+
|
|
46
|
+
```console
|
|
47
|
+
$ fastkit init
|
|
48
|
+
Enter the project name: <your-project-name>
|
|
49
|
+
Enter the author name: <your-name>
|
|
50
|
+
Enter the author email: <your-email>
|
|
51
|
+
Enter the project description: <your-project-description>
|
|
52
|
+
|
|
53
|
+
Available Stacks and Dependencies:
|
|
54
|
+
MINIMAL Stack
|
|
55
|
+
┌──────────────┬─────────┐
|
|
56
|
+
│ Dependency 1 │ fastapi │
|
|
57
|
+
│ Dependency 2 │ uvicorn │
|
|
58
|
+
└──────────────┴─────────┘
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
STANDARD Stack
|
|
62
|
+
┌──────────────┬────────────┐
|
|
63
|
+
│ Dependency 1 │ fastapi │
|
|
64
|
+
│ Dependency 2 │ uvicorn │
|
|
65
|
+
│ Dependency 3 │ sqlalchemy │
|
|
66
|
+
│ Dependency 4 │ alembic │
|
|
67
|
+
│ Dependency 5 │ pytest │
|
|
68
|
+
└──────────────┴────────────┘
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
FULL Stack
|
|
72
|
+
┌──────────────┬────────────────┐
|
|
73
|
+
│ Dependency 1 │ fastapi │
|
|
74
|
+
│ Dependency 2 │ uvicorn │
|
|
75
|
+
│ Dependency 3 │ sqlalchemy │
|
|
76
|
+
│ Dependency 4 │ alembic │
|
|
77
|
+
│ Dependency 5 │ pytest │
|
|
78
|
+
│ Dependency 6 │ redis │
|
|
79
|
+
│ Dependency 7 │ celery │
|
|
80
|
+
│ Dependency 8 │ docker-compose │
|
|
81
|
+
└──────────────┴────────────────┘
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
Select stack (minimal, standard, full): minimal
|
|
85
|
+
Creating Project:
|
|
86
|
+
new-fastapi-project
|
|
87
|
+
┌───────────┬────────┐
|
|
88
|
+
│ Component │ Status │
|
|
89
|
+
│ fastapi │ ✓ │
|
|
90
|
+
│ uvicorn │ ✓ │
|
|
91
|
+
└───────────┴────────┘
|
|
92
|
+
Creating virtual environment...
|
|
93
|
+
Installing dependencies...
|
|
94
|
+
⠙ Setting up project environment...Collecting <packages~>
|
|
95
|
+
|
|
96
|
+
---> 100%
|
|
97
|
+
|
|
98
|
+
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Success ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
99
|
+
│ ✨ Dependencies installed successfully │
|
|
100
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
101
|
+
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Success ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
102
|
+
│ ✨ FastAPI project '<your-project-name>' has been created successfully and saved to '<your-project-path>'! │
|
|
103
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
104
|
+
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Info ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
105
|
+
│ ℹ To start your project, run 'fastkit runserver' at newly created FastAPI project directory │
|
|
106
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
This command will create a new FastAPI project workspace environment with Python virtual environment.
|
|
110
|
+
|
|
111
|
+
### Add a new route to the FastAPI project
|
|
112
|
+
|
|
113
|
+
`FastAPI-fastkit` makes it easy to expand your FastAPI project.
|
|
114
|
+
|
|
115
|
+
Add a new route endpoint to your FastAPI project with:
|
|
116
|
+
|
|
117
|
+
```console
|
|
118
|
+
$ fastkit addroute <your-project-name> <new-route-name>
|
|
119
|
+
|
|
120
|
+
---> 100%
|
|
121
|
+
|
|
122
|
+
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Info ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
123
|
+
│ ℹ Updated main.py to include the API router │
|
|
124
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
125
|
+
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Success ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
126
|
+
│ ✨ Successfully added new route '<new-route-name>' to project '<your-project-name>'. │
|
|
127
|
+
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
### Place a structured FastAPI demo project immediately
|
|
132
|
+
|
|
133
|
+
You can also start with a structured FastAPI demo project.
|
|
134
|
+
|
|
135
|
+
Demo projects are consist of various tech stacks with simple item CRUD endpoints implemented.
|
|
136
|
+
|
|
137
|
+
Place a structured FastAPI demo project immediately with:
|
|
138
|
+
|
|
139
|
+
```console
|
|
140
|
+
$ fastkit startdemo
|
|
141
|
+
Enter the project name: <your-project-name>
|
|
142
|
+
Enter the author name: <your-name>
|
|
143
|
+
Enter the author email: <your-email>
|
|
144
|
+
Enter the project description: <your-project-description>
|
|
145
|
+
Deploying FastAPI project using 'fastapi-default' template
|
|
146
|
+
Template path:
|
|
147
|
+
/<fastapi_fastkit-package-path>/fastapi_project_template/fastapi-defau
|
|
148
|
+
lt
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
Project Information
|
|
152
|
+
┌──────────────┬──────────────────────────────────────────┐
|
|
153
|
+
│ Project Name │ <your-project-name> │
|
|
154
|
+
│ Author │ <your-name> │
|
|
155
|
+
│ Author Email │ <your-email> │
|
|
156
|
+
│ Description │ <your-project-description> │
|
|
157
|
+
└──────────────┴──────────────────────────────────────────┘
|
|
158
|
+
|
|
159
|
+
Do you want to proceed with project creation? [y/N]: y
|
|
160
|
+
FastAPI template project will deploy at '<your-project-path>'
|
|
161
|
+
|
|
162
|
+
---> 100%
|
|
163
|
+
|
|
164
|
+
╭─────────────────────────────────────────────────────────────────── Success ────────────────────────────────────────────────────────────────────╮
|
|
165
|
+
│ ✨ FastAPI project '<your-project-name>' from 'fastapi-default' has been created and saved to │
|
|
166
|
+
│ <your-project-path>! │
|
|
167
|
+
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
To view the list of available FastAPI demos, check with:
|
|
171
|
+
|
|
172
|
+
```console
|
|
173
|
+
$ fastkit list-templates
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Significance of FastAPI-fastkit
|
|
177
|
+
|
|
178
|
+
FastAPI-fastkit aims to provide a fast and easy-to-use starter kit for new users of Python and FastAPI.
|
|
179
|
+
|
|
180
|
+
This idea was initiated with the aim of full fill to help FastAPI newcomers to learn from the beginning, which is the production significance of the FastAPI-cli package added with the [FastAPI 0.111.0 version update](https://github.com/fastapi/fastapi/releases/tag/0.111.0).
|
|
181
|
+
|
|
182
|
+
As one person who has been using and loving FastAPI for a long time, I wanted to develop a project that could help me a little bit to practice [the wonderful motivation](https://github.com/fastapi/fastapi/pull/11522#issuecomment-2264639417) that FastAPI developer [tiangolo](https://github.com/tiangolo) has.
|
|
183
|
+
|
|
184
|
+
## License
|
|
185
|
+
|
|
186
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
@author bnbong bbbong9@gmail.com
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "FastAPI-fastkit"
|
|
3
|
-
|
|
3
|
+
dynamic = []
|
|
4
4
|
description = "Fast, easy-to-use starter kit for new users of Python and FastAPI"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "bnbong", email = "bbbong9@gmail.com" },
|
|
@@ -8,10 +8,10 @@ authors = [
|
|
|
8
8
|
dependencies = [
|
|
9
9
|
"click>=8.1.7",
|
|
10
10
|
"rich>=13.9.2",
|
|
11
|
-
"fastapi-cli>=0.0.5",
|
|
12
11
|
]
|
|
13
12
|
requires-python = ">=3.12"
|
|
14
13
|
readme = "README.md"
|
|
14
|
+
version = "1.0.0"
|
|
15
15
|
|
|
16
16
|
[project.license]
|
|
17
17
|
text = "MIT"
|
|
@@ -42,20 +42,6 @@ distribution = true
|
|
|
42
42
|
source = "file"
|
|
43
43
|
path = "src/fastapi_fastkit/__init__.py"
|
|
44
44
|
|
|
45
|
-
[tool.pdm.dev-dependencies]
|
|
46
|
-
test = [
|
|
47
|
-
"pytest>=8.3.3",
|
|
48
|
-
"pytest-cov>=5.0.0",
|
|
49
|
-
]
|
|
50
|
-
lint = [
|
|
51
|
-
"black>=24.10.0",
|
|
52
|
-
"mypy>=1.12.0",
|
|
53
|
-
"isort>=5.13.2",
|
|
54
|
-
]
|
|
55
|
-
dev = [
|
|
56
|
-
"pre-commit>=4.0.1",
|
|
57
|
-
]
|
|
58
|
-
|
|
59
45
|
[tool.pytest.ini_options]
|
|
60
46
|
testpaths = [
|
|
61
47
|
"test",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = 'v1.0.0'
|