FastAPI-fastkit 1.1.4__tar.gz → 1.1.5__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.1.4 → fastapi_fastkit-1.1.5}/PKG-INFO +1 -1
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/pyproject.toml +1 -1
- fastapi_fastkit-1.1.5/src/fastapi_fastkit/__init__.py +1 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/package_managers/pdm_manager.py +6 -2
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/package_managers/pip_manager.py +6 -2
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/package_managers/poetry_manager.py +6 -2
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/package_managers/uv_manager.py +6 -2
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/cli.py +8 -5
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/utils/main.py +121 -10
- fastapi_fastkit-1.1.5/tests/test_backends/test_console_sizing.py +199 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_utils.py +5 -5
- fastapi_fastkit-1.1.4/src/fastapi_fastkit/__init__.py +0 -1
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/LICENSE +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/README.md +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/__main__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/inspector.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/main.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/package_managers/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/package_managers/base.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/package_managers/factory.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/transducer.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/core/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/core/exceptions.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/core/settings.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/PROJECT_README_TEMPLATE.md +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/README.md +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/.env-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/.gitignore-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/README.md-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/pyproject.toml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/requirements.txt-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/format.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/lint.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/run-server.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/test.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/setup.cfg-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/setup.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/api.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/routes/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/routes/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/core/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/core/config.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/mocks/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/mocks/mock_items.json-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/schemas/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/schemas/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/conftest.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/test_items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/.env-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/.gitignore-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/README.md-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/pyproject.toml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/requirements.txt-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/format.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/lint.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/run-server.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/test.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/setup.cfg-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/setup.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/api.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/routes/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/routes/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/core/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/core/config.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/crud/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/crud/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper/exceptions.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper/pagination.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/mocks/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/mocks/mock_items.json-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/base.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/utils/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/utils/documents.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/conftest.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/test_items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/.env-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/.gitignore-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/README.md-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/pyproject.toml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/requirements.txt-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/format.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/lint.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/run-server.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/test.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/setup.cfg-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/setup.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/api.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/routes/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/routes/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/core/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/core/config.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/crud/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/crud/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/mocks/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/mocks/mock_items.json-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/schemas/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/schemas/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/conftest.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/test_items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/.env-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/.gitignore-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/Dockerfile-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/README.md-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/pyproject.toml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/requirements.txt-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/format.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/lint.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/run-server.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/test.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/setup.cfg-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/setup.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/api.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/routes/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/routes/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/core/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/core/config.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/crud/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/crud/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/mocks/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/mocks/mock_items.json-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/schemas/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/schemas/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/conftest.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/test_items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/.env-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/.gitignore-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/README.md-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/pyproject.toml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/requirements.txt-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/setup.cfg-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/setup.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/core/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/core/config.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/tests/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/tests/conftest.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/tests/test_main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/.env-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/README.md-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/pyproject.toml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/requirements.txt-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/format.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/lint.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/run-server.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/test.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/setup.cfg-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/setup.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/api.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/routes/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/routes/auth.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/routes/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/auth/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/auth/dependencies.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/core/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/core/config.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/mcp/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/mcp/router.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/schemas/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/schemas/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/conftest.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/test_auth.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/test_items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/test_mcp.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/.env-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/.gitignore-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/Dockerfile-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/README.md-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/alembic.ini-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/docker-compose.yml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/pyproject.toml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/requirements.txt-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/format.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/lint.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/pre-start.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/run-server.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/test.sh-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/setup.cfg-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/setup.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/README-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/env.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/script.py.mako-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/versions/bedcdc35b64a_first_alembic.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/api.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/deps.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/routes/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/routes/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/config.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/db.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/crud/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/crud/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/schemas/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/schemas/items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/backend_pre_start.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/init_data.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/tests_pre_start.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/template-config.yml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/conftest.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/test_items.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/README.md-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/pyproject.toml-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/requirements.txt-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/setup.cfg-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/setup.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/src/main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/tests/conftest.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/tests/test_main.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/modules/api/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/modules/api/routes/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/modules/api/routes/new_route.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/modules/crud/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/modules/crud/new_route.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/modules/schemas/__init__.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/fastapi_project_template/modules/schemas/new_route.py-tpl +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/py.typed +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/utils/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/utils/logging.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/conftest.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_backends/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_backends/test_configure.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_backends/test_inspector.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_backends/test_main.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_backends/test_package_managers.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_backends/test_transducer.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_cli_operations/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_cli_operations/test_cli.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_cli_operations/test_cli_extended.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_core.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_rich/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_rich/test_rich.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_templates/__init__.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_templates/template_configs.yaml +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_templates/test_all_templates.py +0 -0
- {fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/tests/test_templates/test_config_based_templates.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = 'v1.1.5'
|
|
@@ -8,10 +8,14 @@ import subprocess
|
|
|
8
8
|
import sys
|
|
9
9
|
from typing import List
|
|
10
10
|
|
|
11
|
-
from fastapi_fastkit import console
|
|
12
11
|
from fastapi_fastkit.core.exceptions import BackendExceptions
|
|
13
12
|
from fastapi_fastkit.utils.logging import debug_log, get_logger
|
|
14
|
-
from fastapi_fastkit.utils.main import
|
|
13
|
+
from fastapi_fastkit.utils.main import (
|
|
14
|
+
console,
|
|
15
|
+
handle_exception,
|
|
16
|
+
print_error,
|
|
17
|
+
print_success,
|
|
18
|
+
)
|
|
15
19
|
|
|
16
20
|
from .base import BasePackageManager
|
|
17
21
|
|
|
@@ -8,10 +8,14 @@ import subprocess
|
|
|
8
8
|
import sys
|
|
9
9
|
from typing import List
|
|
10
10
|
|
|
11
|
-
from fastapi_fastkit import console
|
|
12
11
|
from fastapi_fastkit.core.exceptions import BackendExceptions
|
|
13
12
|
from fastapi_fastkit.utils.logging import debug_log, get_logger
|
|
14
|
-
from fastapi_fastkit.utils.main import
|
|
13
|
+
from fastapi_fastkit.utils.main import (
|
|
14
|
+
console,
|
|
15
|
+
handle_exception,
|
|
16
|
+
print_error,
|
|
17
|
+
print_success,
|
|
18
|
+
)
|
|
15
19
|
|
|
16
20
|
from .base import BasePackageManager
|
|
17
21
|
|
|
@@ -6,10 +6,14 @@
|
|
|
6
6
|
import subprocess
|
|
7
7
|
from typing import List
|
|
8
8
|
|
|
9
|
-
from fastapi_fastkit import console
|
|
10
9
|
from fastapi_fastkit.core.exceptions import BackendExceptions
|
|
11
10
|
from fastapi_fastkit.utils.logging import debug_log, get_logger
|
|
12
|
-
from fastapi_fastkit.utils.main import
|
|
11
|
+
from fastapi_fastkit.utils.main import (
|
|
12
|
+
console,
|
|
13
|
+
handle_exception,
|
|
14
|
+
print_error,
|
|
15
|
+
print_success,
|
|
16
|
+
)
|
|
13
17
|
|
|
14
18
|
from .base import BasePackageManager
|
|
15
19
|
|
|
@@ -7,10 +7,14 @@ import os
|
|
|
7
7
|
import subprocess
|
|
8
8
|
from typing import List
|
|
9
9
|
|
|
10
|
-
from fastapi_fastkit import console
|
|
11
10
|
from fastapi_fastkit.core.exceptions import BackendExceptions
|
|
12
11
|
from fastapi_fastkit.utils.logging import debug_log, get_logger
|
|
13
|
-
from fastapi_fastkit.utils.main import
|
|
12
|
+
from fastapi_fastkit.utils.main import (
|
|
13
|
+
console,
|
|
14
|
+
handle_exception,
|
|
15
|
+
print_error,
|
|
16
|
+
print_success,
|
|
17
|
+
)
|
|
14
18
|
|
|
15
19
|
from .base import BasePackageManager
|
|
16
20
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# TODO : add a feature to automatically fix appropriate fastkit output console size
|
|
2
1
|
# --------------------------------------------------------------------------
|
|
3
2
|
# The Module defines main and core CLI operations for FastAPI-fastkit.
|
|
4
3
|
#
|
|
@@ -31,6 +30,7 @@ from fastapi_fastkit.backend.main import (
|
|
|
31
30
|
from fastapi_fastkit.core.exceptions import CLIExceptions
|
|
32
31
|
from fastapi_fastkit.core.settings import FastkitConfig
|
|
33
32
|
from fastapi_fastkit.utils.logging import get_logger, setup_logging
|
|
33
|
+
from fastapi_fastkit.utils.main import console as utils_console
|
|
34
34
|
from fastapi_fastkit.utils.main import (
|
|
35
35
|
create_info_table,
|
|
36
36
|
is_fastkit_project,
|
|
@@ -41,7 +41,9 @@ from fastapi_fastkit.utils.main import (
|
|
|
41
41
|
validate_email,
|
|
42
42
|
)
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
console = utils_console
|
|
45
|
+
|
|
46
|
+
from . import __version__
|
|
45
47
|
|
|
46
48
|
|
|
47
49
|
@click.group()
|
|
@@ -97,6 +99,7 @@ def echo(ctx: Context) -> None:
|
|
|
97
99
|
Deploy FastAPI app foundation instantly at your local!
|
|
98
100
|
|
|
99
101
|
---
|
|
102
|
+
|
|
100
103
|
- Project Maintainer : [link=mailto:bbbong9@gmail.com]bnbong(JunHyeok Lee)[/link]
|
|
101
104
|
- Current Version : {__version__}
|
|
102
105
|
- Github : [link]https://github.com/bnbong/FastAPI-fastkit[/link]
|
|
@@ -135,8 +138,7 @@ def list_templates(ctx: Context) -> None:
|
|
|
135
138
|
print_warning("No available templates.")
|
|
136
139
|
return
|
|
137
140
|
|
|
138
|
-
|
|
139
|
-
|
|
141
|
+
template_data = {}
|
|
140
142
|
for template in templates:
|
|
141
143
|
template_path = os.path.join(template_dir, template)
|
|
142
144
|
readme_path = os.path.join(template_path, "README.md-tpl")
|
|
@@ -148,8 +150,9 @@ def list_templates(ctx: Context) -> None:
|
|
|
148
150
|
if first_line.startswith("# "):
|
|
149
151
|
description = first_line[2:]
|
|
150
152
|
|
|
151
|
-
|
|
153
|
+
template_data[template] = description
|
|
152
154
|
|
|
155
|
+
table = create_info_table("Available Templates", template_data)
|
|
153
156
|
console.print(table)
|
|
154
157
|
|
|
155
158
|
|
|
@@ -15,7 +15,6 @@ from rich.panel import Panel
|
|
|
15
15
|
from rich.table import Table
|
|
16
16
|
from rich.text import Text
|
|
17
17
|
|
|
18
|
-
from fastapi_fastkit import console
|
|
19
18
|
from fastapi_fastkit.core.settings import settings
|
|
20
19
|
from fastapi_fastkit.utils.logging import debug_log, get_logger
|
|
21
20
|
|
|
@@ -25,6 +24,66 @@ logger = get_logger(__name__)
|
|
|
25
24
|
REGEX = r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b"
|
|
26
25
|
|
|
27
26
|
|
|
27
|
+
def get_optimal_console_size() -> tuple[int, int]:
|
|
28
|
+
"""
|
|
29
|
+
Get optimal console size based on terminal dimensions.
|
|
30
|
+
|
|
31
|
+
Returns:
|
|
32
|
+
tuple: (width, height) - optimal console dimensions
|
|
33
|
+
"""
|
|
34
|
+
try:
|
|
35
|
+
# Get terminal size
|
|
36
|
+
terminal_size = os.get_terminal_size()
|
|
37
|
+
width = terminal_size.columns
|
|
38
|
+
height = terminal_size.lines
|
|
39
|
+
|
|
40
|
+
# Set minimum and maximum constraints
|
|
41
|
+
min_width = 80
|
|
42
|
+
max_width = 120
|
|
43
|
+
min_height = 24
|
|
44
|
+
|
|
45
|
+
# Calculate optimal width (80% of terminal width, but within constraints)
|
|
46
|
+
optimal_width = max(min_width, min(max_width, int(width * 0.8)))
|
|
47
|
+
# Calculate optimal height (leave some space for prompt and buffer)
|
|
48
|
+
optimal_height = max(min_height, height - 5)
|
|
49
|
+
|
|
50
|
+
return optimal_width, optimal_height
|
|
51
|
+
except (OSError, ValueError):
|
|
52
|
+
# Fallback to default size if terminal size detection fails
|
|
53
|
+
return 80, 24
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def create_adaptive_console() -> Console:
|
|
57
|
+
"""
|
|
58
|
+
Create a console instance with adaptive sizing based on terminal dimensions.
|
|
59
|
+
|
|
60
|
+
Returns:
|
|
61
|
+
Console: Rich console instance with optimal sizing
|
|
62
|
+
"""
|
|
63
|
+
if "PYTEST_CURRENT_TEST" in os.environ:
|
|
64
|
+
return Console(no_color=True)
|
|
65
|
+
|
|
66
|
+
width, height = get_optimal_console_size()
|
|
67
|
+
return Console(width=width, height=height)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
# Initialize console with adaptive sizing
|
|
71
|
+
console = create_adaptive_console()
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def _get_adaptive_panel_width(message: str) -> int:
|
|
75
|
+
"""
|
|
76
|
+
Calculate optimal panel width based on message length and terminal size.
|
|
77
|
+
|
|
78
|
+
:param message: Message content
|
|
79
|
+
:return: Optimal panel width
|
|
80
|
+
"""
|
|
81
|
+
optimal_width, _ = get_optimal_console_size()
|
|
82
|
+
# Use message length + padding, but constrain to reasonable bounds
|
|
83
|
+
min_width = min(len(message) + 10, optimal_width - 4)
|
|
84
|
+
return max(40, min_width) # Minimum 40 chars, leave margin for borders
|
|
85
|
+
|
|
86
|
+
|
|
28
87
|
def print_error(
|
|
29
88
|
message: str,
|
|
30
89
|
title: str = "Error",
|
|
@@ -42,7 +101,9 @@ def print_error(
|
|
|
42
101
|
error_text = Text()
|
|
43
102
|
error_text.append("❌ ", style="bold red")
|
|
44
103
|
error_text.append(message)
|
|
45
|
-
|
|
104
|
+
|
|
105
|
+
panel_width = _get_adaptive_panel_width(message)
|
|
106
|
+
console.print(Panel(error_text, border_style="red", title=title, width=panel_width))
|
|
46
107
|
|
|
47
108
|
# Log error for debugging purposes (internal logging)
|
|
48
109
|
debug_log(f"Error: {message}", "error")
|
|
@@ -81,7 +142,11 @@ def print_success(
|
|
|
81
142
|
success_text = Text()
|
|
82
143
|
success_text.append("✨ ", style="bold yellow")
|
|
83
144
|
success_text.append(message, style="bold green")
|
|
84
|
-
|
|
145
|
+
|
|
146
|
+
panel_width = _get_adaptive_panel_width(message)
|
|
147
|
+
console.print(
|
|
148
|
+
Panel(success_text, border_style="green", title=title, width=panel_width)
|
|
149
|
+
)
|
|
85
150
|
|
|
86
151
|
|
|
87
152
|
def print_warning(
|
|
@@ -97,7 +162,11 @@ def print_warning(
|
|
|
97
162
|
warning_text = Text()
|
|
98
163
|
warning_text.append("⚠️ ", style="bold yellow")
|
|
99
164
|
warning_text.append(message)
|
|
100
|
-
|
|
165
|
+
|
|
166
|
+
panel_width = _get_adaptive_panel_width(message)
|
|
167
|
+
console.print(
|
|
168
|
+
Panel(warning_text, border_style="yellow", title=title, width=panel_width)
|
|
169
|
+
)
|
|
101
170
|
|
|
102
171
|
|
|
103
172
|
def print_info(message: str, title: str = "Info", console: Console = console) -> None:
|
|
@@ -111,7 +180,9 @@ def print_info(message: str, title: str = "Info", console: Console = console) ->
|
|
|
111
180
|
info_text = Text()
|
|
112
181
|
info_text.append("ℹ ", style="bold blue")
|
|
113
182
|
info_text.append(message)
|
|
114
|
-
|
|
183
|
+
|
|
184
|
+
panel_width = _get_adaptive_panel_width(message)
|
|
185
|
+
console.print(Panel(info_text, border_style="blue", title=title, width=panel_width))
|
|
115
186
|
|
|
116
187
|
|
|
117
188
|
def create_info_table(
|
|
@@ -121,7 +192,7 @@ def create_info_table(
|
|
|
121
192
|
console: Console = console,
|
|
122
193
|
) -> Table:
|
|
123
194
|
"""
|
|
124
|
-
Create a table for displaying information.
|
|
195
|
+
Create a table for displaying information that never truncates text.
|
|
125
196
|
|
|
126
197
|
:param title: Title for the table
|
|
127
198
|
:param data: Dictionary of data to populate the table
|
|
@@ -129,13 +200,53 @@ def create_info_table(
|
|
|
129
200
|
:param console: Rich console instance
|
|
130
201
|
:return: Configured Rich Table instance
|
|
131
202
|
"""
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
203
|
+
# Calculate exact content lengths if data exists
|
|
204
|
+
if data:
|
|
205
|
+
max_field_length = max(len(str(key)) for key in data.keys())
|
|
206
|
+
max_value_length = max(len(str(value)) for value in data.values())
|
|
207
|
+
|
|
208
|
+
# Set column widths to exactly match the longest content
|
|
209
|
+
# Add small padding to ensure content fits comfortably
|
|
210
|
+
field_width = max_field_length + 2
|
|
211
|
+
value_width = max_value_length + 2
|
|
212
|
+
else:
|
|
213
|
+
# Default widths for empty tables
|
|
214
|
+
field_width = 15
|
|
215
|
+
value_width = 30
|
|
216
|
+
|
|
217
|
+
# Create table that prioritizes full text display over terminal fitting
|
|
218
|
+
table = Table(
|
|
219
|
+
title=title,
|
|
220
|
+
show_header=show_header,
|
|
221
|
+
title_style="bold magenta",
|
|
222
|
+
expand=False, # Never expand to terminal width
|
|
223
|
+
width=None, # Let table size itself based on content
|
|
224
|
+
pad_edge=False, # Reduce padding to save space
|
|
225
|
+
)
|
|
226
|
+
|
|
227
|
+
# Add columns with settings that prevent any truncation
|
|
228
|
+
table.add_column(
|
|
229
|
+
"Field",
|
|
230
|
+
style="cyan",
|
|
231
|
+
no_wrap=False, # Allow wrapping instead of truncating
|
|
232
|
+
width=field_width, # Exact width for content
|
|
233
|
+
min_width=field_width, # Minimum width to prevent shrinking
|
|
234
|
+
max_width=None, # No maximum width limit
|
|
235
|
+
overflow="fold", # Fold text instead of truncating
|
|
236
|
+
)
|
|
237
|
+
table.add_column(
|
|
238
|
+
"Value",
|
|
239
|
+
style="green",
|
|
240
|
+
no_wrap=False, # Allow wrapping instead of truncating
|
|
241
|
+
width=value_width, # Exact width for content
|
|
242
|
+
min_width=value_width, # Minimum width to prevent shrinking
|
|
243
|
+
max_width=None, # No maximum width limit
|
|
244
|
+
overflow="fold", # Fold text instead of truncating
|
|
245
|
+
)
|
|
135
246
|
|
|
136
247
|
if data:
|
|
137
248
|
for key, value in data.items():
|
|
138
|
-
table.add_row(key, value)
|
|
249
|
+
table.add_row(str(key), str(value))
|
|
139
250
|
|
|
140
251
|
return table
|
|
141
252
|
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# --------------------------------------------------------------------------
|
|
2
|
+
# Tests for console sizing functionality in FastAPI-fastkit CLI.
|
|
3
|
+
#
|
|
4
|
+
# @author bnbong bbbong9@gmail.com
|
|
5
|
+
# --------------------------------------------------------------------------
|
|
6
|
+
import os
|
|
7
|
+
from unittest.mock import MagicMock, patch
|
|
8
|
+
|
|
9
|
+
import pytest
|
|
10
|
+
from rich.console import Console
|
|
11
|
+
|
|
12
|
+
from fastapi_fastkit.utils.main import (
|
|
13
|
+
create_adaptive_console,
|
|
14
|
+
create_info_table,
|
|
15
|
+
get_optimal_console_size,
|
|
16
|
+
print_error,
|
|
17
|
+
print_info,
|
|
18
|
+
print_success,
|
|
19
|
+
print_warning,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class TestConsoleSizing:
|
|
24
|
+
"""Test cases for console sizing functionality."""
|
|
25
|
+
|
|
26
|
+
def test_get_optimal_console_size_normal_terminal(self) -> None:
|
|
27
|
+
"""Test optimal console size calculation with normal terminal dimensions."""
|
|
28
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
29
|
+
# Mock terminal size: 100 columns, 30 lines
|
|
30
|
+
mock_get_size.return_value = os.terminal_size((100, 30))
|
|
31
|
+
|
|
32
|
+
width, height = get_optimal_console_size()
|
|
33
|
+
|
|
34
|
+
# Width should be 80% of terminal width (80), but within constraints
|
|
35
|
+
assert width == 80 # min(120, max(80, int(100 * 0.8)))
|
|
36
|
+
# Height should be terminal height minus buffer (25)
|
|
37
|
+
assert height == 25 # max(24, 30 - 5)
|
|
38
|
+
|
|
39
|
+
def test_get_optimal_console_size_large_terminal(self) -> None:
|
|
40
|
+
"""Test optimal console size calculation with large terminal dimensions."""
|
|
41
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
42
|
+
# Mock large terminal: 200 columns, 50 lines
|
|
43
|
+
mock_get_size.return_value = os.terminal_size((200, 50))
|
|
44
|
+
|
|
45
|
+
width, height = get_optimal_console_size()
|
|
46
|
+
|
|
47
|
+
# Width should be capped at max_width (120)
|
|
48
|
+
assert width == 120 # min(120, max(80, int(200 * 0.8)))
|
|
49
|
+
# Height should be terminal height minus buffer (45)
|
|
50
|
+
assert height == 45 # max(24, 50 - 5)
|
|
51
|
+
|
|
52
|
+
def test_get_optimal_console_size_small_terminal(self) -> None:
|
|
53
|
+
"""Test optimal console size calculation with small terminal dimensions."""
|
|
54
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
55
|
+
# Mock small terminal: 60 columns, 20 lines
|
|
56
|
+
mock_get_size.return_value = os.terminal_size((60, 20))
|
|
57
|
+
|
|
58
|
+
width, height = get_optimal_console_size()
|
|
59
|
+
|
|
60
|
+
# Width should be minimum width (80)
|
|
61
|
+
assert width == 80 # min(120, max(80, int(60 * 0.8)))
|
|
62
|
+
# Height should be minimum height (24)
|
|
63
|
+
assert height == 24 # max(24, 20 - 5)
|
|
64
|
+
|
|
65
|
+
def test_get_optimal_console_size_fallback(self) -> None:
|
|
66
|
+
"""Test fallback behavior when terminal size detection fails."""
|
|
67
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
68
|
+
# Mock OSError (terminal size detection failure)
|
|
69
|
+
mock_get_size.side_effect = OSError("Terminal size not available")
|
|
70
|
+
|
|
71
|
+
width, height = get_optimal_console_size()
|
|
72
|
+
|
|
73
|
+
# Should fallback to default size
|
|
74
|
+
assert width == 80
|
|
75
|
+
assert height == 24
|
|
76
|
+
|
|
77
|
+
def test_create_adaptive_console_normal(self) -> None:
|
|
78
|
+
"""Test adaptive console creation in normal environment."""
|
|
79
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
80
|
+
mock_get_size.return_value = os.terminal_size((100, 30))
|
|
81
|
+
|
|
82
|
+
console = create_adaptive_console()
|
|
83
|
+
|
|
84
|
+
assert isinstance(console, Console)
|
|
85
|
+
# Console should have adaptive sizing
|
|
86
|
+
assert console.width == 80
|
|
87
|
+
# Rich Console may use different height handling
|
|
88
|
+
assert console.height >= 25 or console.height == 30
|
|
89
|
+
|
|
90
|
+
def test_create_adaptive_console_pytest_env(self) -> None:
|
|
91
|
+
"""Test adaptive console creation in pytest environment."""
|
|
92
|
+
with patch.dict(
|
|
93
|
+
os.environ, {"PYTEST_CURRENT_TEST": "test_module::test_function"}
|
|
94
|
+
):
|
|
95
|
+
console = create_adaptive_console()
|
|
96
|
+
|
|
97
|
+
assert isinstance(console, Console)
|
|
98
|
+
# Should create no_color console for testing
|
|
99
|
+
assert console._color_system is None or console._force_terminal is False
|
|
100
|
+
|
|
101
|
+
def test_create_info_table_adaptive_sizing(self) -> None:
|
|
102
|
+
"""Test that create_info_table uses adaptive sizing."""
|
|
103
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
104
|
+
mock_get_size.return_value = os.terminal_size((100, 30))
|
|
105
|
+
|
|
106
|
+
data = {
|
|
107
|
+
"Project Name": "test-project",
|
|
108
|
+
"Author": "Test Author",
|
|
109
|
+
"Description": "A test project description",
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
table = create_info_table("Test Table", data)
|
|
113
|
+
|
|
114
|
+
# Table should have columns with proper width settings
|
|
115
|
+
assert len(table.columns) == 2
|
|
116
|
+
assert (
|
|
117
|
+
table.columns[0].width is not None and table.columns[0].width >= 14
|
|
118
|
+
) # Length of "Project Name" + 2
|
|
119
|
+
assert (
|
|
120
|
+
table.columns[1].width is not None and table.columns[1].width >= 27
|
|
121
|
+
) # Length of "A test project description" + 2
|
|
122
|
+
|
|
123
|
+
def test_create_info_table_long_content(self) -> None:
|
|
124
|
+
"""Test table creation with long content that needs scaling."""
|
|
125
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
126
|
+
mock_get_size.return_value = os.terminal_size((80, 30)) # Small terminal
|
|
127
|
+
|
|
128
|
+
data = {
|
|
129
|
+
"Very Long Project Name Field": "This is a very long project description that might exceed normal terminal width",
|
|
130
|
+
"Another Long Field Name": "Another very long value that should be handled properly",
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
table = create_info_table("Test Table", data)
|
|
134
|
+
|
|
135
|
+
# Table should have appropriate column widths based on content
|
|
136
|
+
assert len(table.columns) == 2
|
|
137
|
+
assert (
|
|
138
|
+
table.columns[0].width is not None
|
|
139
|
+
and table.columns[0].width >= len("Very Long Project Name Field") + 2
|
|
140
|
+
)
|
|
141
|
+
assert (
|
|
142
|
+
table.columns[1].width is not None
|
|
143
|
+
and table.columns[1].width
|
|
144
|
+
>= len(
|
|
145
|
+
"This is a very long project description that might exceed normal terminal width"
|
|
146
|
+
)
|
|
147
|
+
+ 2
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
@patch("fastapi_fastkit.utils.main.console")
|
|
151
|
+
def test_print_functions_use_adaptive_sizing(self, mock_console: MagicMock) -> None:
|
|
152
|
+
"""Test that print functions use adaptive panel sizing."""
|
|
153
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
154
|
+
mock_get_size.return_value = os.terminal_size((100, 30))
|
|
155
|
+
|
|
156
|
+
test_message = "Test message"
|
|
157
|
+
|
|
158
|
+
# Test each print function
|
|
159
|
+
print_error(test_message, console=mock_console)
|
|
160
|
+
print_success(test_message, console=mock_console)
|
|
161
|
+
print_warning(test_message, console=mock_console)
|
|
162
|
+
print_info(test_message, console=mock_console)
|
|
163
|
+
|
|
164
|
+
# Each function should have been called once
|
|
165
|
+
assert mock_console.print.call_count == 4
|
|
166
|
+
|
|
167
|
+
# Check that panels were created with width parameter
|
|
168
|
+
for call in mock_console.print.call_args_list:
|
|
169
|
+
panel = call[0][0] # First positional argument should be the Panel
|
|
170
|
+
assert hasattr(panel, "width")
|
|
171
|
+
assert panel.width is not None
|
|
172
|
+
|
|
173
|
+
def test_empty_data_table_creation(self) -> None:
|
|
174
|
+
"""Test table creation with empty data."""
|
|
175
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
176
|
+
mock_get_size.return_value = os.terminal_size((100, 30))
|
|
177
|
+
|
|
178
|
+
table = create_info_table("Empty Table")
|
|
179
|
+
|
|
180
|
+
# Should create table with default column setup
|
|
181
|
+
assert len(table.columns) == 2
|
|
182
|
+
assert table.columns[0].width == 15 # Default field width
|
|
183
|
+
assert table.columns[1].width == 30 # Default value width
|
|
184
|
+
|
|
185
|
+
def test_console_sizing_edge_cases(self) -> None:
|
|
186
|
+
"""Test edge cases in console sizing."""
|
|
187
|
+
with patch("os.get_terminal_size") as mock_get_size:
|
|
188
|
+
# Test with zero dimensions
|
|
189
|
+
mock_get_size.return_value = os.terminal_size((0, 0))
|
|
190
|
+
|
|
191
|
+
width, height = get_optimal_console_size()
|
|
192
|
+
|
|
193
|
+
# Should use minimum constraints
|
|
194
|
+
assert width == 80
|
|
195
|
+
assert height == 24
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
if __name__ == "__main__":
|
|
199
|
+
pytest.main([__file__])
|
|
@@ -40,7 +40,7 @@ class TestUtilsMain:
|
|
|
40
40
|
test_message = "Test message"
|
|
41
41
|
|
|
42
42
|
# when & then
|
|
43
|
-
with patch("fastapi_fastkit.console.print") as mock_console_print:
|
|
43
|
+
with patch("fastapi_fastkit.utils.main.console.print") as mock_console_print:
|
|
44
44
|
print_error(test_message)
|
|
45
45
|
print_info(test_message)
|
|
46
46
|
print_success(test_message)
|
|
@@ -55,7 +55,7 @@ class TestUtilsMain:
|
|
|
55
55
|
error_message = "Critical error occurred"
|
|
56
56
|
|
|
57
57
|
# when
|
|
58
|
-
with patch("fastapi_fastkit.console.print") as mock_console_print:
|
|
58
|
+
with patch("fastapi_fastkit.utils.main.console.print") as mock_console_print:
|
|
59
59
|
print_error(error_message)
|
|
60
60
|
|
|
61
61
|
# then
|
|
@@ -70,7 +70,7 @@ class TestUtilsMain:
|
|
|
70
70
|
success_message = "Operation completed successfully"
|
|
71
71
|
|
|
72
72
|
# when
|
|
73
|
-
with patch("fastapi_fastkit.console.print") as mock_console_print:
|
|
73
|
+
with patch("fastapi_fastkit.utils.main.console.print") as mock_console_print:
|
|
74
74
|
print_success(success_message)
|
|
75
75
|
|
|
76
76
|
# then
|
|
@@ -85,7 +85,7 @@ class TestUtilsMain:
|
|
|
85
85
|
warning_message = "This is a warning"
|
|
86
86
|
|
|
87
87
|
# when
|
|
88
|
-
with patch("fastapi_fastkit.console.print") as mock_console_print:
|
|
88
|
+
with patch("fastapi_fastkit.utils.main.console.print") as mock_console_print:
|
|
89
89
|
print_warning(warning_message)
|
|
90
90
|
|
|
91
91
|
# then
|
|
@@ -100,7 +100,7 @@ class TestUtilsMain:
|
|
|
100
100
|
info_message = "Information message"
|
|
101
101
|
|
|
102
102
|
# when
|
|
103
|
-
with patch("fastapi_fastkit.console.print") as mock_console_print:
|
|
103
|
+
with patch("fastapi_fastkit.utils.main.console.print") as mock_console_print:
|
|
104
104
|
print_info(info_message)
|
|
105
105
|
|
|
106
106
|
# then
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = 'v1.1.4'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_fastkit-1.1.4 → fastapi_fastkit-1.1.5}/src/fastapi_fastkit/backend/package_managers/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|