FastAPI-fastkit 1.4.1__tar.gz → 1.5.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.
Files changed (532) hide show
  1. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/PKG-INFO +2 -1
  2. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/pyproject.toml +4 -1
  3. fastapi_fastkit-1.5.0/src/fastapi_fastkit/__init__.py +1 -0
  4. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/main.py +35 -40
  5. fastapi_fastkit-1.5.0/src/fastapi_fastkit/backend/route_generators.py +163 -0
  6. fastapi_fastkit-1.5.0/src/fastapi_fastkit/backend/route_wiring.py +117 -0
  7. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/cli.py +13 -2
  8. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/pyproject.toml-tpl +1 -1
  9. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/requirements.txt-tpl +1 -1
  10. {fastapi_fastkit-1.4.1/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel → fastapi_fastkit-1.5.0/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter}/src/app/api/router.py-tpl +1 -1
  11. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/domains/items/router.py-tpl +1 -1
  12. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/tests/conftest.py-tpl +16 -4
  13. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/pyproject.toml-tpl +1 -1
  14. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/requirements.txt-tpl +2 -2
  15. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/setup.cfg-tpl +1 -1
  16. fastapi_fastkit-1.5.0/src/fastapi_fastkit/fastapi_project_template/modules/domain/__init__.py-tpl +10 -0
  17. fastapi_fastkit-1.5.0/src/fastapi_fastkit/fastapi_project_template/modules/domain/models.py-tpl +11 -0
  18. fastapi_fastkit-1.5.0/src/fastapi_fastkit/fastapi_project_template/modules/domain/repository.py-tpl +50 -0
  19. fastapi_fastkit-1.5.0/src/fastapi_fastkit/fastapi_project_template/modules/domain/router.py-tpl +66 -0
  20. fastapi_fastkit-1.5.0/src/fastapi_fastkit/fastapi_project_template/modules/domain/schemas.py-tpl +16 -0
  21. fastapi_fastkit-1.5.0/src/fastapi_fastkit/fastapi_project_template/modules/domain/service.py-tpl +47 -0
  22. fastapi_fastkit-1.5.0/tests/test_backends/test_route_generators.py +633 -0
  23. fastapi_fastkit-1.5.0/tests/test_backends/test_route_wiring.py +50 -0
  24. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_cli_operations/test_cli_config_options.py +37 -10
  25. fastapi_fastkit-1.4.1/src/fastapi_fastkit/__init__.py +0 -1
  26. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/LICENSE +0 -0
  27. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/README.md +0 -0
  28. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/__main__.py +0 -0
  29. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/__init__.py +0 -0
  30. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/__init__.py +0 -0
  31. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/checks.py +0 -0
  32. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/consistency.py +0 -0
  33. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/context.py +0 -0
  34. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/core.py +0 -0
  35. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/docker.py +0 -0
  36. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/freshness.py +0 -0
  37. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/fsutils.py +0 -0
  38. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/lint.py +0 -0
  39. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/report.py +0 -0
  40. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/smoke.py +0 -0
  41. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspection/strategies.py +0 -0
  42. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/inspector.py +0 -0
  43. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/interactive/__init__.py +0 -0
  44. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/interactive/config_builder.py +0 -0
  45. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/interactive/prompts.py +0 -0
  46. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/interactive/selectors.py +0 -0
  47. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/interactive/validators.py +0 -0
  48. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/package_managers/__init__.py +0 -0
  49. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/package_managers/base.py +0 -0
  50. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/package_managers/factory.py +0 -0
  51. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/package_managers/pdm_manager.py +0 -0
  52. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/package_managers/pip_manager.py +0 -0
  53. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/package_managers/poetry_manager.py +0 -0
  54. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/package_managers/uv_manager.py +0 -0
  55. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/project_builder/__init__.py +0 -0
  56. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/project_builder/config_generator.py +0 -0
  57. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/project_builder/config_schema.py +0 -0
  58. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/project_builder/dependency_collector.py +0 -0
  59. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/project_builder/preset_layout.py +0 -0
  60. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/scaffolder.py +0 -0
  61. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/backend/transducer.py +0 -0
  62. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/core/__init__.py +0 -0
  63. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/core/exceptions.py +0 -0
  64. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/core/settings.py +0 -0
  65. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/PROJECT_README_TEMPLATE.md +0 -0
  66. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/README.md +0 -0
  67. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/__init__.py +0 -0
  68. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/.env-tpl +0 -0
  69. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/.gitignore-tpl +0 -0
  70. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/README.md-tpl +0 -0
  71. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/pyproject.toml-tpl +0 -0
  72. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/requirements.txt-tpl +0 -0
  73. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/format.sh-tpl +0 -0
  74. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/lint.sh-tpl +0 -0
  75. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/run-server.sh-tpl +0 -0
  76. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/test.sh-tpl +0 -0
  77. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/setup.cfg-tpl +0 -0
  78. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/__init__.py-tpl +0 -0
  79. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/__init__.py-tpl +0 -0
  80. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/api.py-tpl +0 -0
  81. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/routes/__init__.py-tpl +0 -0
  82. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/routes/items.py-tpl +0 -0
  83. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/core/__init__.py-tpl +0 -0
  84. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/core/config.py-tpl +0 -0
  85. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud/__init__.py-tpl +0 -0
  86. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud/items.py-tpl +0 -0
  87. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/main.py-tpl +0 -0
  88. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/mocks/__init__.py-tpl +0 -0
  89. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/mocks/mock_items.json-tpl +0 -0
  90. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/schemas/__init__.py-tpl +0 -0
  91. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/schemas/items.py-tpl +0 -0
  92. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/__init__.py-tpl +0 -0
  93. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/conftest.py-tpl +0 -0
  94. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/test_items.py-tpl +0 -0
  95. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/.env-tpl +0 -0
  96. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/.gitignore-tpl +0 -0
  97. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/Dockerfile-tpl +0 -0
  98. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/README.md-tpl +0 -0
  99. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/alembic.ini-tpl +0 -0
  100. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/scripts/format.sh-tpl +0 -0
  101. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/scripts/lint.sh-tpl +0 -0
  102. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/scripts/run-server.sh-tpl +0 -0
  103. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/scripts/test.sh-tpl +0 -0
  104. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/__init__.py-tpl +0 -0
  105. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/__init__.py-tpl +0 -0
  106. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/alembic/README-tpl +0 -0
  107. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/alembic/env.py-tpl +0 -0
  108. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/alembic/script.py.mako-tpl +0 -0
  109. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/alembic/versions/0001_initial_auth_schema.py-tpl +0 -0
  110. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/api/__init__.py-tpl +0 -0
  111. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/api/deps.py-tpl +0 -0
  112. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/api/health.py-tpl +0 -0
  113. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/api/router.py-tpl +0 -0
  114. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/core/__init__.py-tpl +0 -0
  115. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/core/config.py-tpl +0 -0
  116. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/core/security.py-tpl +0 -0
  117. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/db/__init__.py-tpl +0 -0
  118. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/db/session.py-tpl +0 -0
  119. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/__init__.py-tpl +0 -0
  120. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/auth/__init__.py-tpl +0 -0
  121. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/auth/models.py-tpl +0 -0
  122. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/auth/repository.py-tpl +0 -0
  123. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/auth/router.py-tpl +0 -0
  124. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/auth/schemas.py-tpl +0 -0
  125. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/auth/service.py-tpl +0 -0
  126. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/users/__init__.py-tpl +0 -0
  127. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/users/models.py-tpl +0 -0
  128. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/users/repository.py-tpl +0 -0
  129. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/users/router.py-tpl +0 -0
  130. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/users/schemas.py-tpl +0 -0
  131. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/domains/users/service.py-tpl +0 -0
  132. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/src/app/main.py-tpl +0 -0
  133. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/template-config.yml-tpl +0 -0
  134. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/tests/__init__.py-tpl +0 -0
  135. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/tests/conftest.py-tpl +0 -0
  136. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/tests/test_auth.py-tpl +0 -0
  137. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/tests/test_health.py-tpl +0 -0
  138. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-auth-jwt/tests/test_users.py-tpl +0 -0
  139. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/.env-tpl +0 -0
  140. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/.gitignore-tpl +0 -0
  141. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/README.md-tpl +0 -0
  142. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/pyproject.toml-tpl +0 -0
  143. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/requirements.txt-tpl +0 -0
  144. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/format.sh-tpl +0 -0
  145. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/lint.sh-tpl +0 -0
  146. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/run-server.sh-tpl +0 -0
  147. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/test.sh-tpl +0 -0
  148. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/setup.cfg-tpl +0 -0
  149. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/__init__.py-tpl +0 -0
  150. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/__init__.py-tpl +0 -0
  151. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/api.py-tpl +0 -0
  152. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/routes/__init__.py-tpl +0 -0
  153. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/routes/items.py-tpl +0 -0
  154. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/core/__init__.py-tpl +0 -0
  155. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/core/config.py-tpl +0 -0
  156. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/crud/__init__.py-tpl +0 -0
  157. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/crud/items.py-tpl +0 -0
  158. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper/__init__.py-tpl +0 -0
  159. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper/exceptions.py-tpl +0 -0
  160. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper/pagination.py-tpl +0 -0
  161. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/main.py-tpl +0 -0
  162. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/mocks/__init__.py-tpl +0 -0
  163. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/mocks/mock_items.json-tpl +0 -0
  164. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/__init__.py-tpl +0 -0
  165. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/base.py-tpl +0 -0
  166. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/items.py-tpl +0 -0
  167. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/utils/__init__.py-tpl +0 -0
  168. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/utils/documents.py-tpl +0 -0
  169. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/__init__.py-tpl +0 -0
  170. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/conftest.py-tpl +0 -0
  171. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/test_items.py-tpl +0 -0
  172. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/.env-tpl +0 -0
  173. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/.gitignore-tpl +0 -0
  174. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/README.md-tpl +0 -0
  175. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/pyproject.toml-tpl +0 -0
  176. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/requirements.txt-tpl +0 -0
  177. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/format.sh-tpl +0 -0
  178. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/lint.sh-tpl +0 -0
  179. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/run-server.sh-tpl +0 -0
  180. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/test.sh-tpl +0 -0
  181. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/setup.cfg-tpl +0 -0
  182. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/__init__.py-tpl +0 -0
  183. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/__init__.py-tpl +0 -0
  184. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/api.py-tpl +0 -0
  185. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/routes/__init__.py-tpl +0 -0
  186. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/routes/items.py-tpl +0 -0
  187. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/core/__init__.py-tpl +0 -0
  188. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/core/config.py-tpl +0 -0
  189. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/crud/__init__.py-tpl +0 -0
  190. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/crud/items.py-tpl +0 -0
  191. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/main.py-tpl +0 -0
  192. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/mocks/__init__.py-tpl +0 -0
  193. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/mocks/mock_items.json-tpl +0 -0
  194. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/schemas/__init__.py-tpl +0 -0
  195. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/schemas/items.py-tpl +0 -0
  196. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/__init__.py-tpl +0 -0
  197. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/conftest.py-tpl +0 -0
  198. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/test_items.py-tpl +0 -0
  199. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/.env-tpl +0 -0
  200. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/.gitignore-tpl +0 -0
  201. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/Dockerfile-tpl +0 -0
  202. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/README.md-tpl +0 -0
  203. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/pyproject.toml-tpl +0 -0
  204. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/requirements.txt-tpl +0 -0
  205. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/format.sh-tpl +0 -0
  206. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/lint.sh-tpl +0 -0
  207. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/run-server.sh-tpl +0 -0
  208. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/test.sh-tpl +0 -0
  209. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/setup.cfg-tpl +0 -0
  210. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/__init__.py-tpl +0 -0
  211. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/__init__.py-tpl +0 -0
  212. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/api.py-tpl +0 -0
  213. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/routes/__init__.py-tpl +0 -0
  214. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/routes/items.py-tpl +0 -0
  215. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/core/__init__.py-tpl +0 -0
  216. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/core/config.py-tpl +0 -0
  217. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/crud/__init__.py-tpl +0 -0
  218. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/crud/items.py-tpl +0 -0
  219. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/main.py-tpl +0 -0
  220. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/mocks/__init__.py-tpl +0 -0
  221. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/mocks/mock_items.json-tpl +0 -0
  222. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/schemas/__init__.py-tpl +0 -0
  223. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/schemas/items.py-tpl +0 -0
  224. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/__init__.py-tpl +0 -0
  225. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/conftest.py-tpl +0 -0
  226. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/test_items.py-tpl +0 -0
  227. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/.env-tpl +0 -0
  228. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/.gitignore-tpl +0 -0
  229. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/README.md-tpl +0 -0
  230. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/pyproject.toml-tpl +0 -0
  231. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/requirements.txt-tpl +0 -0
  232. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/scripts/format.sh-tpl +0 -0
  233. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/scripts/lint.sh-tpl +0 -0
  234. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/scripts/run-server.sh-tpl +0 -0
  235. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/scripts/test.sh-tpl +0 -0
  236. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/__init__.py-tpl +0 -0
  237. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/__init__.py-tpl +0 -0
  238. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/api/__init__.py-tpl +0 -0
  239. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/api/health.py-tpl +0 -0
  240. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/core/__init__.py-tpl +0 -0
  241. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/core/config.py-tpl +0 -0
  242. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/db/__init__.py-tpl +0 -0
  243. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/db/memory.py-tpl +0 -0
  244. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/domains/__init__.py-tpl +0 -0
  245. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/domains/items/__init__.py-tpl +0 -0
  246. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/domains/items/models.py-tpl +0 -0
  247. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/domains/items/repository.py-tpl +0 -0
  248. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/domains/items/schemas.py-tpl +0 -0
  249. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/domains/items/service.py-tpl +0 -0
  250. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/src/app/main.py-tpl +0 -0
  251. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/tests/__init__.py-tpl +0 -0
  252. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/tests/test_health.py-tpl +0 -0
  253. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter/tests/test_items.py-tpl +0 -0
  254. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/.env-tpl +0 -0
  255. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/.gitignore-tpl +0 -0
  256. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/README.md-tpl +0 -0
  257. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/pyproject.toml-tpl +0 -0
  258. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/requirements.txt-tpl +0 -0
  259. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/setup.cfg-tpl +0 -0
  260. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/__init__.py-tpl +0 -0
  261. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/core/__init__.py-tpl +0 -0
  262. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/core/config.py-tpl +0 -0
  263. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/main.py-tpl +0 -0
  264. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/tests/__init__.py-tpl +0 -0
  265. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/tests/conftest.py-tpl +0 -0
  266. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/tests/test_main.py-tpl +0 -0
  267. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/.env-tpl +0 -0
  268. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/.gitignore-tpl +0 -0
  269. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/Dockerfile-tpl +0 -0
  270. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/README.md-tpl +0 -0
  271. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/pyproject.toml-tpl +0 -0
  272. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/requirements.txt-tpl +0 -0
  273. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/scripts/chat.sh-tpl +0 -0
  274. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/scripts/format.sh-tpl +0 -0
  275. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/scripts/lint.sh-tpl +0 -0
  276. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/scripts/run-server.sh-tpl +0 -0
  277. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/scripts/test.sh-tpl +0 -0
  278. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/__init__.py-tpl +0 -0
  279. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/__init__.py-tpl +0 -0
  280. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/api/__init__.py-tpl +0 -0
  281. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/api/chat.py-tpl +0 -0
  282. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/api/deps.py-tpl +0 -0
  283. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/api/health.py-tpl +0 -0
  284. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/api/router.py-tpl +0 -0
  285. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/core/__init__.py-tpl +0 -0
  286. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/core/config.py-tpl +0 -0
  287. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/llm/__init__.py-tpl +0 -0
  288. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/llm/agent.py-tpl +0 -0
  289. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/llm/client.py-tpl +0 -0
  290. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/llm/tools.py-tpl +0 -0
  291. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/main.py-tpl +0 -0
  292. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/memory/__init__.py-tpl +0 -0
  293. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/memory/base.py-tpl +0 -0
  294. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/memory/in_memory.py-tpl +0 -0
  295. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/schemas/__init__.py-tpl +0 -0
  296. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/src/app/schemas/chat.py-tpl +0 -0
  297. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/template-config.yml-tpl +0 -0
  298. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/tests/__init__.py-tpl +0 -0
  299. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/tests/conftest.py-tpl +0 -0
  300. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/tests/test_chat.py-tpl +0 -0
  301. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/tests/test_health.py-tpl +0 -0
  302. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/tests/test_memory.py-tpl +0 -0
  303. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-llm-agent/tests/test_tools.py-tpl +0 -0
  304. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/.env-tpl +0 -0
  305. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/README.md-tpl +0 -0
  306. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/format.sh-tpl +0 -0
  307. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/lint.sh-tpl +0 -0
  308. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/run-server.sh-tpl +0 -0
  309. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/test.sh-tpl +0 -0
  310. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/__init__.py-tpl +0 -0
  311. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/__init__.py-tpl +0 -0
  312. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/api.py-tpl +0 -0
  313. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/routes/__init__.py-tpl +0 -0
  314. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/routes/auth.py-tpl +0 -0
  315. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/routes/items.py-tpl +0 -0
  316. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/auth/__init__.py-tpl +0 -0
  317. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/auth/dependencies.py-tpl +0 -0
  318. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/core/__init__.py-tpl +0 -0
  319. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/core/config.py-tpl +0 -0
  320. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/main.py-tpl +0 -0
  321. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/mcp_server/__init__.py-tpl +0 -0
  322. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/mcp_server/router.py-tpl +0 -0
  323. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/schemas/__init__.py-tpl +0 -0
  324. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/schemas/items.py-tpl +0 -0
  325. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/__init__.py-tpl +0 -0
  326. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/conftest.py-tpl +0 -0
  327. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/test_auth.py-tpl +0 -0
  328. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/test_items.py-tpl +0 -0
  329. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/test_mcp.py-tpl +0 -0
  330. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/.env-tpl +0 -0
  331. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/.gitignore-tpl +0 -0
  332. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/Dockerfile-tpl +0 -0
  333. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/README.md-tpl +0 -0
  334. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/alembic.ini-tpl +0 -0
  335. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/docker-compose.yml-tpl +0 -0
  336. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/pyproject.toml-tpl +0 -0
  337. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/requirements.txt-tpl +0 -0
  338. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/format.sh-tpl +0 -0
  339. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/lint.sh-tpl +0 -0
  340. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/pre-start.sh-tpl +0 -0
  341. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/run-server.sh-tpl +0 -0
  342. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/test.sh-tpl +0 -0
  343. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/setup.cfg-tpl +0 -0
  344. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/__init__.py-tpl +0 -0
  345. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/README-tpl +0 -0
  346. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/env.py-tpl +0 -0
  347. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/script.py.mako-tpl +0 -0
  348. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/versions/bedcdc35b64a_first_alembic.py-tpl +0 -0
  349. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/__init__.py-tpl +0 -0
  350. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/api.py-tpl +0 -0
  351. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/deps.py-tpl +0 -0
  352. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/routes/__init__.py-tpl +0 -0
  353. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/routes/items.py-tpl +0 -0
  354. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/__init__.py-tpl +0 -0
  355. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/config.py-tpl +0 -0
  356. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/db.py-tpl +0 -0
  357. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/crud/__init__.py-tpl +0 -0
  358. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/crud/items.py-tpl +0 -0
  359. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/main.py-tpl +0 -0
  360. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/schemas/__init__.py-tpl +0 -0
  361. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/schemas/items.py-tpl +0 -0
  362. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/__init__.py-tpl +0 -0
  363. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/backend_pre_start.py-tpl +0 -0
  364. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/init_data.py-tpl +0 -0
  365. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/tests_pre_start.py-tpl +0 -0
  366. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/template-config.yml-tpl +0 -0
  367. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/__init__.py-tpl +0 -0
  368. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/conftest.py-tpl +0 -0
  369. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/test_items.py-tpl +0 -0
  370. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/.env-tpl +0 -0
  371. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/.gitignore-tpl +0 -0
  372. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/README.md-tpl +0 -0
  373. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/pyproject.toml-tpl +0 -0
  374. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/requirements.txt-tpl +0 -0
  375. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/setup.cfg-tpl +0 -0
  376. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/src/main.py-tpl +0 -0
  377. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/tests/__init__.py-tpl +0 -0
  378. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/tests/conftest.py-tpl +0 -0
  379. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-single-module/tests/test_main.py-tpl +0 -0
  380. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/.env-tpl +0 -0
  381. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/.gitignore-tpl +0 -0
  382. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/Dockerfile-tpl +0 -0
  383. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/README.md-tpl +0 -0
  384. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/alembic.ini-tpl +0 -0
  385. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/pyproject.toml-tpl +0 -0
  386. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/requirements.txt-tpl +0 -0
  387. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/scripts/format.sh-tpl +0 -0
  388. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/scripts/lint.sh-tpl +0 -0
  389. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/scripts/migrate.sh-tpl +0 -0
  390. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/scripts/run-server.sh-tpl +0 -0
  391. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/scripts/test.sh-tpl +0 -0
  392. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/__init__.py-tpl +0 -0
  393. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/__init__.py-tpl +0 -0
  394. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/alembic/README-tpl +0 -0
  395. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/alembic/env.py-tpl +0 -0
  396. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/alembic/script.py.mako-tpl +0 -0
  397. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/alembic/versions/0001_create_items_table.py-tpl +0 -0
  398. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/api/__init__.py-tpl +0 -0
  399. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/api/health.py-tpl +0 -0
  400. {fastapi_fastkit-1.4.1/src/fastapi_fastkit/fastapi_project_template/fastapi-domain-starter → fastapi_fastkit-1.5.0/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel}/src/app/api/router.py-tpl +0 -0
  401. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/core/__init__.py-tpl +0 -0
  402. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/core/config.py-tpl +0 -0
  403. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/crud/__init__.py-tpl +0 -0
  404. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/crud/base.py-tpl +0 -0
  405. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/crud/pagination.py-tpl +0 -0
  406. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/db/__init__.py-tpl +0 -0
  407. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/db/base.py-tpl +0 -0
  408. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/db/session.py-tpl +0 -0
  409. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/domains/__init__.py-tpl +0 -0
  410. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/domains/items/__init__.py-tpl +0 -0
  411. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/domains/items/crud.py-tpl +0 -0
  412. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/domains/items/models.py-tpl +0 -0
  413. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/domains/items/router.py-tpl +0 -0
  414. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/src/app/main.py-tpl +0 -0
  415. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/template-config.yml-tpl +0 -0
  416. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/tests/__init__.py-tpl +0 -0
  417. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/tests/conftest.py-tpl +0 -0
  418. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/tests/test_crud_base.py-tpl +0 -0
  419. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/tests/test_health.py-tpl +0 -0
  420. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/fastapi-sqlmodel/tests/test_items.py-tpl +0 -0
  421. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/modules/api/__init__.py-tpl +0 -0
  422. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/modules/api/routes/__init__.py-tpl +0 -0
  423. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/modules/api/routes/new_route.py-tpl +0 -0
  424. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/modules/crud/__init__.py-tpl +0 -0
  425. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/modules/crud/new_route.py-tpl +0 -0
  426. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/modules/schemas/__init__.py-tpl +0 -0
  427. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fastapi_project_template/modules/schemas/new_route.py-tpl +0 -0
  428. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/README.md +0 -0
  429. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/auth/fastapi_users.py.j2 +0 -0
  430. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/auth/jwt.py.j2 +0 -0
  431. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/auth/oauth2.py.j2 +0 -0
  432. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/auth/session.py.j2 +0 -0
  433. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/db/mongodb.py.j2 +0 -0
  434. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/db/redis.py.j2 +0 -0
  435. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/db/sqlalchemy.py.j2 +0 -0
  436. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/docker/docker_compose.j2 +0 -0
  437. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/docker/dockerfile.j2 +0 -0
  438. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/features/cache.py.j2 +0 -0
  439. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/features/pagination.py.j2 +0 -0
  440. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/features/tasks_celery.py.j2 +0 -0
  441. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/features/tasks_dramatiq.py.j2 +0 -0
  442. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/features/websocket.py.j2 +0 -0
  443. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/header.j2 +0 -0
  444. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/logging/structured.py.j2 +0 -0
  445. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/async_tasks.j2 +0 -0
  446. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/caching.j2 +0 -0
  447. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/fastapi_users.j2 +0 -0
  448. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/jwt.j2 +0 -0
  449. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/loguru.j2 +0 -0
  450. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/mongodb.j2 +0 -0
  451. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/oauth2.j2 +0 -0
  452. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/opentelemetry.j2 +0 -0
  453. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/pagination.j2 +0 -0
  454. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/prometheus.j2 +0 -0
  455. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/rate_limiting.j2 +0 -0
  456. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/session_auth.j2 +0 -0
  457. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/sqlalchemy.j2 +0 -0
  458. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/structured_logging.j2 +0 -0
  459. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/imports/websocket.j2 +0 -0
  460. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/lifespan/caching.j2 +0 -0
  461. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/lifespan/mongodb.j2 +0 -0
  462. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/lifespan/prometheus.j2 +0 -0
  463. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/lifespan/sqlalchemy.j2 +0 -0
  464. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/async_tasks.j2 +0 -0
  465. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/caching.j2 +0 -0
  466. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/cors.j2 +0 -0
  467. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/oauth2.j2 +0 -0
  468. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/opentelemetry.j2 +0 -0
  469. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/pagination.j2 +0 -0
  470. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/rate_limiting.j2 +0 -0
  471. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/session_auth.j2 +0 -0
  472. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/structured_logging.j2 +0 -0
  473. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main/setup/websocket.j2 +0 -0
  474. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/main.py.j2 +0 -0
  475. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/migrations/alembic_ini.j2 +0 -0
  476. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/migrations/env.py.j2 +0 -0
  477. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/migrations/initial_revision.py.j2 +0 -0
  478. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/migrations/migrate_sh.j2 +0 -0
  479. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/migrations/script.py.mako.j2 +0 -0
  480. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/tasks/celery_worker.py.j2 +0 -0
  481. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/tasks/dramatiq_worker.py.j2 +0 -0
  482. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/test/factories.py.j2 +0 -0
  483. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/test/pytest_ini.j2 +0 -0
  484. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/test/test_factories.py.j2 +0 -0
  485. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/test/test_main.py.j2 +0 -0
  486. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/tooling/devcontainer.j2 +0 -0
  487. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/tooling/github_actions.j2 +0 -0
  488. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/tooling/makefile.j2 +0 -0
  489. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/tooling/pre_commit.j2 +0 -0
  490. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/fragments/tooling/ruff_toml.j2 +0 -0
  491. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/py.typed +0 -0
  492. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/utils/__init__.py +0 -0
  493. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/utils/config_file.py +0 -0
  494. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/utils/logging.py +0 -0
  495. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/src/fastapi_fastkit/utils/main.py +0 -0
  496. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/__init__.py +0 -0
  497. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/conftest.py +0 -0
  498. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/__init__.py +0 -0
  499. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_configure.py +0 -0
  500. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_console_sizing.py +0 -0
  501. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_inspection_docker.py +0 -0
  502. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_inspection_fsutils.py +0 -0
  503. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_inspector.py +0 -0
  504. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_inspector_checks.py +0 -0
  505. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_interactive_config_builder.py +0 -0
  506. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_interactive_prompts.py +0 -0
  507. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_interactive_selectors.py +0 -0
  508. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_interactive_validators.py +0 -0
  509. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_main.py +0 -0
  510. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_package_managers.py +0 -0
  511. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_preset_layout.py +0 -0
  512. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_project_builder_config_generator.py +0 -0
  513. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_project_builder_dependency_collector.py +0 -0
  514. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_project_metadata.py +0 -0
  515. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_safety_regressions.py +0 -0
  516. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_scaffolder.py +0 -0
  517. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_backends/test_transducer.py +0 -0
  518. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_cli_operations/__init__.py +0 -0
  519. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_cli_operations/test_cli.py +0 -0
  520. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_cli_operations/test_cli_error_paths.py +0 -0
  521. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_cli_operations/test_cli_extended.py +0 -0
  522. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_cli_operations/test_cli_interactive_integration.py +0 -0
  523. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_config_file.py +0 -0
  524. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_core.py +0 -0
  525. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_rich/__init__.py +0 -0
  526. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_rich/test_rich.py +0 -0
  527. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_templates/__init__.py +0 -0
  528. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_templates/template_configs.yaml +0 -0
  529. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_templates/test_all_templates.py +0 -0
  530. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_templates/test_config_based_templates.py +0 -0
  531. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_templates/test_domain_starter_e2e.py +0 -0
  532. {fastapi_fastkit-1.4.1 → fastapi_fastkit-1.5.0}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: FastAPI-fastkit
3
- Version: 1.4.1
3
+ Version: 1.5.0
4
4
  Summary: Fast, easy-to-use starter kit for new users of Python and FastAPI
5
5
  Author-Email: bnbong <bbbong9@gmail.com>
6
6
  License: MIT
@@ -20,6 +20,7 @@ Requires-Dist: pre-commit>=4.0.1; extra == "dev"
20
20
  Requires-Dist: mypy>=1.12.0; extra == "dev"
21
21
  Requires-Dist: isort>=5.13.2; extra == "dev"
22
22
  Requires-Dist: pygments>=2.20.0; extra == "dev"
23
+ Requires-Dist: virtualenv>=21.7.13; extra == "dev"
23
24
  Requires-Dist: types-pyyaml>=6.0.12.20260408; extra == "dev"
24
25
  Description-Content-Type: text/markdown
25
26
 
@@ -12,7 +12,7 @@ dependencies = [
12
12
  ]
13
13
  requires-python = ">=3.12"
14
14
  readme = "README.md"
15
- version = "1.4.1"
15
+ version = "1.5.0"
16
16
 
17
17
  [project.license]
18
18
  text = "MIT"
@@ -32,6 +32,7 @@ dev = [
32
32
  "mypy>=1.12.0",
33
33
  "isort>=5.13.2",
34
34
  "pygments>=2.20.0",
35
+ "virtualenv>=21.7.13",
35
36
  "types-pyyaml>=6.0.12.20260408",
36
37
  ]
37
38
 
@@ -136,9 +137,11 @@ docs = [
136
137
  "pygments>=2.20.0",
137
138
  "requests>=2.33.0",
138
139
  "idna>=3.15",
140
+ "urllib3>=2.8.0",
139
141
  "pymdown-extensions>=11.0.1",
140
142
  ]
141
143
  translation = [
142
144
  "openai>=2.8.1",
143
145
  "anthropic>=0.74.0",
146
+ "anyio>=4.14.2",
144
147
  ]
@@ -0,0 +1 @@
1
+ __version__ = 'v1.5.0'
@@ -18,6 +18,7 @@ from fastapi_fastkit.backend.package_managers import PackageManagerFactory
18
18
  from fastapi_fastkit.backend.project_builder.preset_layout import (
19
19
  app_module_from_main_path,
20
20
  )
21
+ from fastapi_fastkit.backend.route_wiring import register_router, router_alias
21
22
  from fastapi_fastkit.backend.transducer import (
22
23
  copy_and_convert_template,
23
24
  copy_and_convert_template_file,
@@ -1464,6 +1465,16 @@ def _handle_api_router_file(
1464
1465
  if os.path.exists(api_source):
1465
1466
  copy_and_convert_template_file(api_source, api_router_file)
1466
1467
 
1468
+ # The __init__ template may be empty; initialize the API router.
1469
+ if os.path.exists(api_router_file):
1470
+ with open(api_router_file, "r", encoding="utf-8") as f:
1471
+ content = f.read()
1472
+ if not content.strip():
1473
+ with open(api_router_file, "w", encoding="utf-8") as f:
1474
+ f.write(
1475
+ "from fastapi import APIRouter\n\napi_router = APIRouter()\n"
1476
+ )
1477
+
1467
1478
  # Update API router to include new route
1468
1479
  if os.path.exists(api_router_file):
1469
1480
  _update_api_router(api_router_file, route_name)
@@ -1484,23 +1495,22 @@ def _update_api_router(api_router_file: str, route_name: str) -> None:
1484
1495
  with open(api_router_file, "r", encoding="utf-8") as f:
1485
1496
  content = f.read()
1486
1497
 
1487
- route_import = f"from .routes import {route_name}"
1498
+ alias = router_alias(api_router_file, "routes", route_name, route_name)
1499
+ suffix = f" as {alias}" if alias != route_name else ""
1500
+ route_import = f"from .routes import {route_name}{suffix}"
1488
1501
  route_include = (
1489
- f"api_router.include_router({route_name}.router, "
1502
+ f"api_router.include_router({alias}.router, "
1490
1503
  f'prefix="/{route_name}", tags=["{route_name}"])'
1491
1504
  )
1492
1505
 
1493
- if (
1494
- route_import in content
1495
- and f"api_router.include_router({route_name}.router" in content
1496
- ):
1497
- return # Already included
1498
-
1499
- content = insert_import_line(content, route_import)
1500
- content = insert_statement_line(content, route_include)
1501
-
1502
- with open(api_router_file, "w", encoding="utf-8") as f:
1503
- f.write(content)
1506
+ register_router(
1507
+ {
1508
+ "api_dir": os.path.dirname(api_router_file),
1509
+ "api_router_file": api_router_file,
1510
+ },
1511
+ route_import,
1512
+ route_include,
1513
+ )
1504
1514
 
1505
1515
  debug_log(f"Updated API router to include {route_name}", "info")
1506
1516
 
@@ -1594,7 +1604,9 @@ def _update_main_app(
1594
1604
  print_warning(f"Failed to update main.py: {e}")
1595
1605
 
1596
1606
 
1597
- def add_new_route(project_dir: str, route_name: str) -> None:
1607
+ def add_new_route(
1608
+ project_dir: str, route_name: str, layout: Optional[str] = None
1609
+ ) -> None:
1598
1610
  """
1599
1611
  Add a new API route to an existing FastAPI project.
1600
1612
 
@@ -1604,37 +1616,20 @@ def add_new_route(project_dir: str, route_name: str) -> None:
1604
1616
 
1605
1617
  :param project_dir: Path to the project directory
1606
1618
  :param route_name: Name of the new route to add
1619
+ :param layout: Explicit route layout, or None to select from preset metadata
1607
1620
  :raises BackendExceptions: If route addition fails
1608
1621
  """
1609
1622
  try:
1610
- # Setup paths
1611
- modules_dir = os.path.join(settings.FASTKIT_TEMPLATE_ROOT, "modules")
1612
- layout = resolve_project_layout(project_dir)
1613
- src_dir = layout["package_dir"]
1614
-
1615
- # Ensure project structure exists
1616
- target_dirs = _ensure_project_structure(src_dir)
1617
-
1618
- # Create route files
1619
- _create_route_files(
1620
- modules_dir, target_dirs, route_name, layout["package_module"]
1623
+ # Import here to avoid a circular import with route_generators.
1624
+ from fastapi_fastkit.backend.route_generators import (
1625
+ get_route_generator,
1626
+ resolve_route_layout,
1621
1627
  )
1622
1628
 
1623
- # Handle API router file
1624
- _handle_api_router_file(
1625
- target_dirs, modules_dir, route_name, layout["api_router_file"]
1626
- )
1627
-
1628
- # Process init files
1629
- module_types = ["api/routes", "crud", "schemas"]
1630
- _process_init_files(modules_dir, target_dirs, module_types)
1631
-
1632
- # Update main application
1633
- _update_main_app(
1634
- src_dir,
1635
- route_name,
1636
- router_module=layout["api_router_module"],
1637
- main_py_path=layout["main"],
1629
+ route_layout = resolve_route_layout(project_dir, layout)
1630
+ project_layout = resolve_project_layout(project_dir)
1631
+ get_route_generator(route_layout).add_new_route(
1632
+ project_dir, route_name, project_layout
1638
1633
  )
1639
1634
 
1640
1635
  debug_log(f"Successfully added new route: {route_name}", "info")
@@ -0,0 +1,163 @@
1
+ # --------------------------------------------------------------------------
2
+ # Route generators for fastkit addroute.
3
+ # --------------------------------------------------------------------------
4
+ import keyword
5
+ import os
6
+ from pathlib import Path
7
+ from typing import Dict, Optional, Union
8
+
9
+ from fastapi_fastkit.backend import main as backend
10
+ from fastapi_fastkit.backend.project_builder.preset_layout import PresetLayoutStrategist
11
+ from fastapi_fastkit.backend.route_wiring import register_router, router_alias
12
+ from fastapi_fastkit.backend.transducer import copy_and_convert_template_file
13
+ from fastapi_fastkit.core.exceptions import BackendExceptions
14
+ from fastapi_fastkit.core.settings import settings
15
+ from fastapi_fastkit.utils.main import print_warning, read_fastkit_metadata
16
+
17
+ ROUTE_LAYOUTS = ("classic-layer", "domain")
18
+
19
+
20
+ def resolve_route_layout(project_dir: str, layout: Optional[str] = None) -> str:
21
+ """Resolve the route layout from the option or project metadata."""
22
+ if layout is not None:
23
+ if layout not in ROUTE_LAYOUTS:
24
+ raise BackendExceptions(f"Unknown route layout: {layout!r}")
25
+ return layout
26
+
27
+ metadata = read_fastkit_metadata(project_dir)
28
+ preset = metadata.get("preset")
29
+ if not preset:
30
+ template = metadata.get("template")
31
+ domain_template = PresetLayoutStrategist("domain-starter").base_template
32
+ if template == domain_template:
33
+ return "domain"
34
+ if preset == "domain-starter":
35
+ return "domain"
36
+ if preset and preset not in ("classic-layered", "minimal", "single-module"):
37
+ print_warning(f"Unknown preset {preset!r}; using classic-layer route layout.")
38
+ return "classic-layer"
39
+
40
+
41
+ def _validate_route_name(route_name: str) -> None:
42
+ """Validate the route module name."""
43
+ if not route_name.isidentifier() or keyword.iskeyword(route_name):
44
+ raise BackendExceptions(f"Route name {route_name!r} is not a Python identifier")
45
+
46
+
47
+ class ClassicLayeredRouteGenerator:
48
+ """Generate api/routes, crud, and schemas modules."""
49
+
50
+ def add_new_route(
51
+ self, project_dir: str, route_name: str, project_layout: Dict[str, str]
52
+ ) -> None:
53
+ """Create route files and register the router."""
54
+ src_dir = project_layout["package_dir"]
55
+ _validate_route_name(route_name)
56
+ modules_dir = os.path.join(settings.FASTKIT_TEMPLATE_ROOT, "modules")
57
+ target_dirs = backend._ensure_project_structure(src_dir)
58
+ backend._create_route_files(
59
+ modules_dir, target_dirs, route_name, project_layout["package_module"]
60
+ )
61
+ backend._handle_api_router_file(
62
+ target_dirs, modules_dir, route_name, project_layout["api_router_file"]
63
+ )
64
+ backend._process_init_files(
65
+ modules_dir, target_dirs, ["api/routes", "crud", "schemas"]
66
+ )
67
+ backend._update_main_app(
68
+ src_dir,
69
+ route_name,
70
+ router_module=project_layout["api_router_module"],
71
+ main_py_path=project_layout["main"],
72
+ )
73
+
74
+
75
+ class DomainRouteGenerator:
76
+ """Generate a domain module."""
77
+
78
+ def add_new_route(
79
+ self, project_dir: str, route_name: str, project_layout: Dict[str, str]
80
+ ) -> None:
81
+ """Create domain files and register the router."""
82
+ package = Path(project_layout["package_dir"])
83
+ _validate_route_name(route_name)
84
+ if not package.is_dir():
85
+ raise BackendExceptions(f"Source directory not found at {package}")
86
+
87
+ domain_module = _create_domain_files(package, route_name, project_layout)
88
+ alias = router_alias(
89
+ project_layout["api_router_file"],
90
+ domain_module,
91
+ "router",
92
+ f"{route_name}_router",
93
+ )
94
+ register_router(
95
+ project_layout,
96
+ f"from {domain_module} import router as {alias}",
97
+ f'api_router.include_router({alias}.router, prefix="/{route_name}", tags=["{route_name}"])',
98
+ )
99
+ backend._update_main_app(
100
+ str(package),
101
+ route_name,
102
+ router_module=project_layout["api_router_module"],
103
+ main_py_path=project_layout["main"],
104
+ )
105
+
106
+
107
+ def _create_domain_files(
108
+ package: Path, route_name: str, project_layout: Dict[str, str]
109
+ ) -> str:
110
+ templates = Path(settings.FASTKIT_TEMPLATE_ROOT) / "modules" / "domain"
111
+ filenames = (
112
+ "__init__.py",
113
+ "models.py",
114
+ "schemas.py",
115
+ "repository.py",
116
+ "service.py",
117
+ "router.py",
118
+ )
119
+ for filename in filenames:
120
+ if not (templates / f"{filename}-tpl").is_file():
121
+ raise BackendExceptions(f"Missing domain template: {filename}-tpl")
122
+
123
+ domain_dir = package / "domains" / route_name
124
+ domain_dir.mkdir(parents=True, exist_ok=True)
125
+ domains_init = domain_dir.parent / "__init__.py"
126
+ if not domains_init.exists():
127
+ domains_init.write_text("", encoding="utf-8")
128
+ prefix = project_layout["package_module"]
129
+ domain_module = (
130
+ f"{prefix}.domains.{route_name}" if prefix else f"domains.{route_name}"
131
+ )
132
+ entity_class = (
133
+ "".join(part[:1].upper() + part[1:] for part in route_name.split("_")) or "_"
134
+ )
135
+ if keyword.iskeyword(entity_class):
136
+ entity_class += "Entity"
137
+ replacements = {
138
+ "<new_route>": route_name,
139
+ "<domain_module>": domain_module,
140
+ "<entity_class>": entity_class,
141
+ }
142
+ for filename in filenames:
143
+ target = domain_dir / filename
144
+ if target.exists():
145
+ print_warning(f"File {target} already exists, skipping...")
146
+ continue
147
+ if not copy_and_convert_template_file(
148
+ str(templates / f"{filename}-tpl"), str(target), replacements
149
+ ):
150
+ raise BackendExceptions(f"Failed to create domain file: {target}")
151
+
152
+ return domain_module
153
+
154
+
155
+ def get_route_generator(
156
+ route_layout: str,
157
+ ) -> Union[ClassicLayeredRouteGenerator, DomainRouteGenerator]:
158
+ """Return the generator for the selected layout."""
159
+ if route_layout == "classic-layer":
160
+ return ClassicLayeredRouteGenerator()
161
+ if route_layout == "domain":
162
+ return DomainRouteGenerator()
163
+ raise BackendExceptions(f"Unknown route layout: {route_layout!r}")
@@ -0,0 +1,117 @@
1
+ """Router registration helpers."""
2
+
3
+ import ast
4
+ from pathlib import Path
5
+ from typing import Dict
6
+
7
+ from fastapi_fastkit.utils.main import print_info
8
+
9
+
10
+ def _parse_module(content: str) -> ast.Module:
11
+ try:
12
+ return ast.parse(content)
13
+ except SyntaxError:
14
+ statements: list[ast.stmt] = []
15
+ for line in content.splitlines():
16
+ try:
17
+ statements.extend(ast.parse(line.strip()).body)
18
+ except SyntaxError:
19
+ continue
20
+ return ast.Module(body=statements, type_ignores=[])
21
+
22
+
23
+ def _router_argument(call: ast.Call) -> ast.expr | None:
24
+ if call.args:
25
+ return call.args[0]
26
+ return next((item.value for item in call.keywords if item.arg == "router"), None)
27
+
28
+
29
+ def register_router(
30
+ project_layout: Dict[str, str], import_line: str, statement: str
31
+ ) -> None:
32
+ """Register a router in the API router module."""
33
+
34
+ from fastapi_fastkit.backend.main import insert_import_line, insert_statement_line
35
+
36
+ api_dir = Path(project_layout["api_dir"])
37
+ api_dir.mkdir(parents=True, exist_ok=True)
38
+ init = api_dir / "__init__.py"
39
+ if not init.exists():
40
+ init.write_text("", encoding="utf-8")
41
+ target = Path(project_layout["api_router_file"])
42
+ content = target.read_text(encoding="utf-8") if target.exists() else ""
43
+ if not content.strip():
44
+ content = "from fastapi import APIRouter\n\napi_router = APIRouter()\n"
45
+ registration = ast.parse(statement).body[0]
46
+ existing = None
47
+ if isinstance(registration, ast.Expr) and isinstance(registration.value, ast.Call):
48
+ expected = registration.value
49
+ expected_router = _router_argument(expected)
50
+ existing = next(
51
+ (
52
+ node
53
+ for node in ast.walk(_parse_module(content))
54
+ if isinstance(node, ast.Call)
55
+ and ast.dump(node.func) == ast.dump(expected.func)
56
+ and (argument := _router_argument(node)) is not None
57
+ and expected_router is not None
58
+ and ast.dump(argument) == ast.dump(expected_router)
59
+ ),
60
+ None,
61
+ )
62
+ if existing is not None:
63
+ current_options = {
64
+ item.arg: ast.dump(item.value)
65
+ for item in existing.keywords
66
+ if item.arg != "router"
67
+ }
68
+ expected_options = {
69
+ item.arg: ast.dump(item.value)
70
+ for item in expected.keywords
71
+ if item.arg != "router"
72
+ }
73
+ if (
74
+ current_options != expected_options
75
+ or existing.args[1:] != expected.args[1:]
76
+ ):
77
+ print_info(
78
+ f"Keeping existing router registration in {target} with its current prefix and options."
79
+ )
80
+ updated = insert_import_line(content, import_line)
81
+ if existing is None:
82
+ updated = insert_statement_line(updated, statement)
83
+ if not target.exists() or updated != content:
84
+ target.write_text(updated, encoding="utf-8")
85
+
86
+
87
+ def router_alias(file: str, module: str, name: str, preferred: str) -> str:
88
+ """Reuse the router import alias or choose an unused name."""
89
+
90
+ target = Path(file)
91
+ if not target.exists():
92
+ return preferred
93
+ tree = _parse_module(target.read_text(encoding="utf-8"))
94
+ occupied: set[str] = set()
95
+ for node in tree.body:
96
+ if isinstance(node, ast.ImportFrom):
97
+ for imported in node.names:
98
+ if node.module == module and imported.name == name:
99
+ return imported.asname or name
100
+ occupied.add(imported.asname or imported.name)
101
+ elif isinstance(node, ast.Import):
102
+ occupied.update(
103
+ item.asname or item.name.split(".")[0] for item in node.names
104
+ )
105
+ elif isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef, ast.ClassDef)):
106
+ occupied.add(node.name)
107
+ elif isinstance(node, (ast.Assign, ast.AnnAssign)):
108
+ targets = node.targets if isinstance(node, ast.Assign) else [node.target]
109
+ occupied.update(
110
+ target.id for target in targets if isinstance(target, ast.Name)
111
+ )
112
+ alias = preferred
113
+ counter = 2
114
+ while alias in occupied:
115
+ alias = f"{preferred}_{counter}"
116
+ counter += 1
117
+ return alias
@@ -37,6 +37,7 @@ from fastapi_fastkit.backend.project_builder.config_schema import (
37
37
  ConfigSchemaError,
38
38
  normalize_project_config,
39
39
  )
40
+ from fastapi_fastkit.backend.route_generators import resolve_route_layout
40
41
  from fastapi_fastkit.backend.scaffolder import (
41
42
  ProjectScaffolder,
42
43
  ScaffoldOptions,
@@ -829,8 +830,16 @@ def _init_from_config(
829
830
  @fastkit_cli.command()
830
831
  @click.argument("route_name")
831
832
  @click.argument("project_dir", default=".")
833
+ @click.option(
834
+ "--layout",
835
+ type=click.Choice(["classic-layer", "domain"]),
836
+ default=None,
837
+ help="Route layout. Defaults to domain for domain-starter, otherwise classic-layer.",
838
+ )
832
839
  @click.pass_context
833
- def addroute(ctx: Context, route_name: str, project_dir: str) -> None:
840
+ def addroute(
841
+ ctx: Context, route_name: str, project_dir: str, layout: Optional[str]
842
+ ) -> None:
834
843
  """
835
844
  Add a new route to the FastAPI project.
836
845
 
@@ -879,12 +888,14 @@ def addroute(ctx: Context, route_name: str, project_dir: str) -> None:
879
888
  return
880
889
 
881
890
  try:
891
+ route_layout = resolve_route_layout(actual_project_dir, layout)
882
892
  # Show information about the operation
883
893
  table = create_info_table(
884
894
  "Adding New Route",
885
895
  {
886
896
  "Project": project_name,
887
897
  "Route Name": route_name,
898
+ "Layout": route_layout,
888
899
  "Target Directory": actual_project_dir,
889
900
  },
890
901
  )
@@ -903,7 +914,7 @@ def addroute(ctx: Context, route_name: str, project_dir: str) -> None:
903
914
  return
904
915
 
905
916
  # Add the new route
906
- add_new_route(actual_project_dir, route_name)
917
+ add_new_route(actual_project_dir, route_name, layout=route_layout)
907
918
 
908
919
  if project_dir == ".":
909
920
  print_success(
@@ -19,7 +19,7 @@ dependencies = [
19
19
  "sqlmodel>=0.0.42",
20
20
  "SQLAlchemy>=2.0.52",
21
21
  "alembic>=1.19.1",
22
- "PyJWT>=2.13.0",
22
+ "PyJWT>=2.15.1",
23
23
  "pwdlib[argon2]>=0.3.1",
24
24
  "psycopg[binary]>=3.3.5",
25
25
  ]
@@ -12,7 +12,7 @@ SQLAlchemy==2.0.52
12
12
  alembic==1.19.1
13
13
  psycopg[binary]==3.3.5
14
14
  # Authentication
15
- PyJWT==2.13.0
15
+ PyJWT==2.15.1
16
16
  pwdlib[argon2]==0.3.1
17
17
  # Development & tests
18
18
  pytest==9.1.1
@@ -11,5 +11,5 @@ from src.app.domains.items import router as items_router
11
11
 
12
12
  api_router = APIRouter()
13
13
  api_router.include_router(health.router)
14
- api_router.include_router(items_router.router)
14
+ api_router.include_router(items_router.router, prefix="/items", tags=["items"])
15
15
  # fastkit:routes
@@ -7,7 +7,7 @@ from fastapi import APIRouter, Depends, HTTPException, Response, status
7
7
  from src.app.domains.items.schemas import ItemCreate, ItemRead
8
8
  from src.app.domains.items.service import ItemNotFoundError, ItemService
9
9
 
10
- router = APIRouter(prefix="/items", tags=["items"])
10
+ router = APIRouter()
11
11
 
12
12
 
13
13
  def get_item_service() -> ItemService:
@@ -2,19 +2,31 @@
2
2
  # pytest fixtures for <project_name>.
3
3
  # --------------------------------------------------------------------------
4
4
  from collections.abc import Generator
5
+ from importlib import import_module
6
+ from pkgutil import iter_modules
5
7
 
6
8
  import pytest
7
9
  from fastapi.testclient import TestClient
10
+ from src.app import domains
8
11
  from src.app.domains.items.repository import ItemRepository
9
12
  from src.app.main import app
10
13
 
11
14
 
12
- @pytest.fixture(autouse=True)
13
- def reset_items_store() -> Generator[None, None, None]:
14
- """Each test starts with an empty items store."""
15
+ def reset_stores() -> None:
15
16
  ItemRepository().reset()
17
+ for module in iter_modules(domains.__path__, prefix=f"{domains.__name__}."):
18
+ if module.ispkg:
19
+ domain = import_module(module.name)
20
+ reset = getattr(getattr(domain, "service", None), "reset_store", None)
21
+ if reset is not None:
22
+ reset()
23
+
24
+
25
+ @pytest.fixture(autouse=True)
26
+ def reset_domain_stores() -> Generator[None, None, None]:
27
+ reset_stores()
16
28
  yield
17
- ItemRepository().reset()
29
+ reset_stores()
18
30
 
19
31
 
20
32
  @pytest.fixture
@@ -18,7 +18,7 @@ dependencies = [
18
18
  "fastapi-mcp>=0.3.7,<0.4.0",
19
19
  "mcp>=1.29.1,<2.0.0",
20
20
  "pwdlib[argon2]>=0.3.1",
21
- "PyJWT[crypto]>=2.13.0",
21
+ "PyJWT[crypto]>=2.15.1",
22
22
  "python-multipart>=0.0.32",
23
23
  ]
24
24
 
@@ -40,7 +40,7 @@ pydantic==2.13.5
40
40
  pydantic-core==2.46.5
41
41
  pydantic-settings==2.15.0
42
42
  pygments==2.21.0
43
- PyJWT==2.13.0
43
+ PyJWT==2.15.1
44
44
  pytest==9.1.1
45
45
  pytest-cov==7.1.0
46
46
  python-dotenv==1.2.3
@@ -59,7 +59,7 @@ tomli==2.4.1
59
59
  typer==0.27.2
60
60
  typing-extensions==4.16.0
61
61
  typing-inspection==0.4.4
62
- urllib3==2.7.0
62
+ urllib3==2.8.0
63
63
  uvicorn==0.52.4
64
64
  uvloop==0.22.1
65
65
  watchfiles==1.2.0
@@ -29,7 +29,7 @@ install_requires =
29
29
  pydantic>=2.10.6
30
30
  pydantic-settings>=2.7.1
31
31
  python-dotenv>=1.0.1
32
- PyJWT[crypto]>=2.10.0
32
+ PyJWT[crypto]>=2.15.1
33
33
  pwdlib[argon2]>=0.3.1
34
34
  python-multipart>=0.0.17
35
35
 
@@ -0,0 +1,10 @@
1
+ # --------------------------------------------------------------------------
2
+ # <new_route> domain.
3
+ # --------------------------------------------------------------------------
4
+ from <domain_module> import ( # noqa: F401
5
+ models,
6
+ repository,
7
+ router,
8
+ schemas,
9
+ service,
10
+ )
@@ -0,0 +1,11 @@
1
+ # --------------------------------------------------------------------------
2
+ # <new_route> domain models.
3
+ # --------------------------------------------------------------------------
4
+
5
+ from dataclasses import dataclass
6
+
7
+
8
+ @dataclass
9
+ class <entity_class>:
10
+ id: int
11
+ name: str