FastAPI-fastkit 1.1.0__tar.gz → 1.1.1__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 (259) hide show
  1. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/PKG-INFO +1 -1
  2. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/pyproject.toml +1 -1
  3. fastapi_fastkit-1.1.1/src/fastapi_fastkit/__init__.py +1 -0
  4. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/inspector.py +86 -2
  5. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/main.py +61 -2
  6. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/package_managers/uv_manager.py +14 -3
  7. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/core/settings.py +3 -0
  8. fastapi_fastkit-1.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/pyproject.toml-tpl +85 -0
  9. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/requirements.txt-tpl +1 -1
  10. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/core/config.py-tpl +6 -6
  11. fastapi_fastkit-1.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/pyproject.toml-tpl +85 -0
  12. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/routes/items.py-tpl +6 -6
  13. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/core/config.py-tpl +6 -6
  14. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper/exceptions.py-tpl +2 -2
  15. fastapi_fastkit-1.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-default/pyproject.toml-tpl +81 -0
  16. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/core/config.py-tpl +6 -6
  17. fastapi_fastkit-1.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/pyproject.toml-tpl +84 -0
  18. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/core/config.py-tpl +6 -6
  19. fastapi_fastkit-1.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/pyproject.toml-tpl +77 -0
  20. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/core/config.py-tpl +6 -6
  21. fastapi_fastkit-1.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/pyproject.toml-tpl +88 -0
  22. fastapi_fastkit-1.1.1/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/pyproject.toml-tpl +90 -0
  23. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_backends/test_inspector.py +23 -4
  24. fastapi_fastkit-1.1.0/src/fastapi_fastkit/__init__.py +0 -1
  25. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/LICENSE +0 -0
  26. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/README.md +0 -0
  27. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/__main__.py +0 -0
  28. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/__init__.py +0 -0
  29. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/package_managers/__init__.py +0 -0
  30. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/package_managers/base.py +0 -0
  31. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/package_managers/factory.py +0 -0
  32. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/package_managers/pdm_manager.py +0 -0
  33. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/package_managers/pip_manager.py +0 -0
  34. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/package_managers/poetry_manager.py +0 -0
  35. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/backend/transducer.py +0 -0
  36. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/cli.py +0 -0
  37. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/core/__init__.py +0 -0
  38. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/core/exceptions.py +0 -0
  39. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/PROJECT_README_TEMPLATE.md +0 -0
  40. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/README.md +0 -0
  41. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/__init__.py +0 -0
  42. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/.env-tpl +0 -0
  43. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/.gitignore-tpl +0 -0
  44. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/README.md-tpl +0 -0
  45. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/format.sh-tpl +0 -0
  46. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/lint.sh-tpl +0 -0
  47. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/run-server.sh-tpl +0 -0
  48. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/scripts/test.sh-tpl +0 -0
  49. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/setup.cfg-tpl +0 -0
  50. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/setup.py-tpl +0 -0
  51. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/__init__.py-tpl +0 -0
  52. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/__init__.py-tpl +0 -0
  53. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/api.py-tpl +0 -0
  54. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/routes/__init__.py-tpl +0 -0
  55. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/api/routes/items.py-tpl +0 -0
  56. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/core/__init__.py-tpl +0 -0
  57. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud/__init__.py-tpl +0 -0
  58. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/crud/items.py-tpl +0 -0
  59. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/main.py-tpl +0 -0
  60. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/mocks/__init__.py-tpl +0 -0
  61. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/mocks/mock_items.json-tpl +0 -0
  62. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/schemas/__init__.py-tpl +0 -0
  63. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/src/schemas/items.py-tpl +0 -0
  64. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/__init__.py-tpl +0 -0
  65. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/conftest.py-tpl +0 -0
  66. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-async-crud/tests/test_items.py-tpl +0 -0
  67. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/.env-tpl +0 -0
  68. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/.gitignore-tpl +0 -0
  69. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/README.md-tpl +0 -0
  70. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/requirements.txt-tpl +0 -0
  71. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/format.sh-tpl +0 -0
  72. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/lint.sh-tpl +0 -0
  73. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/run-server.sh-tpl +0 -0
  74. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/scripts/test.sh-tpl +0 -0
  75. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/setup.cfg-tpl +0 -0
  76. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/setup.py-tpl +0 -0
  77. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/__init__.py-tpl +0 -0
  78. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/__init__.py-tpl +0 -0
  79. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/api.py-tpl +0 -0
  80. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/api/routes/__init__.py-tpl +0 -0
  81. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/core/__init__.py-tpl +0 -0
  82. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/crud/__init__.py-tpl +0 -0
  83. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/crud/items.py-tpl +0 -0
  84. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper/__init__.py-tpl +0 -0
  85. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/helper/pagination.py-tpl +0 -0
  86. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/main.py-tpl +0 -0
  87. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/mocks/__init__.py-tpl +0 -0
  88. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/mocks/mock_items.json-tpl +0 -0
  89. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/__init__.py-tpl +0 -0
  90. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/base.py-tpl +0 -0
  91. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/schemas/items.py-tpl +0 -0
  92. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/utils/__init__.py-tpl +0 -0
  93. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/src/utils/documents.py-tpl +0 -0
  94. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/__init__.py-tpl +0 -0
  95. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/conftest.py-tpl +0 -0
  96. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-custom-response/tests/test_items.py-tpl +0 -0
  97. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/.env-tpl +0 -0
  98. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/.gitignore-tpl +0 -0
  99. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/README.md-tpl +0 -0
  100. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/requirements.txt-tpl +0 -0
  101. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/format.sh-tpl +0 -0
  102. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/lint.sh-tpl +0 -0
  103. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/run-server.sh-tpl +0 -0
  104. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/scripts/test.sh-tpl +0 -0
  105. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/setup.cfg-tpl +0 -0
  106. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/setup.py-tpl +0 -0
  107. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/__init__.py-tpl +0 -0
  108. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/__init__.py-tpl +0 -0
  109. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/api.py-tpl +0 -0
  110. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/routes/__init__.py-tpl +0 -0
  111. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/api/routes/items.py-tpl +0 -0
  112. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/core/__init__.py-tpl +0 -0
  113. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/crud/__init__.py-tpl +0 -0
  114. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/crud/items.py-tpl +0 -0
  115. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/main.py-tpl +0 -0
  116. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/mocks/__init__.py-tpl +0 -0
  117. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/mocks/mock_items.json-tpl +0 -0
  118. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/schemas/__init__.py-tpl +0 -0
  119. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/src/schemas/items.py-tpl +0 -0
  120. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/__init__.py-tpl +0 -0
  121. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/conftest.py-tpl +0 -0
  122. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-default/tests/test_items.py-tpl +0 -0
  123. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/.env-tpl +0 -0
  124. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/.gitignore-tpl +0 -0
  125. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/Dockerfile-tpl +0 -0
  126. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/README.md-tpl +0 -0
  127. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/requirements.txt-tpl +0 -0
  128. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/format.sh-tpl +0 -0
  129. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/lint.sh-tpl +0 -0
  130. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/run-server.sh-tpl +0 -0
  131. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/scripts/test.sh-tpl +0 -0
  132. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/setup.cfg-tpl +0 -0
  133. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/setup.py-tpl +0 -0
  134. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/__init__.py-tpl +0 -0
  135. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/__init__.py-tpl +0 -0
  136. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/api.py-tpl +0 -0
  137. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/routes/__init__.py-tpl +0 -0
  138. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/api/routes/items.py-tpl +0 -0
  139. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/core/__init__.py-tpl +0 -0
  140. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/crud/__init__.py-tpl +0 -0
  141. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/crud/items.py-tpl +0 -0
  142. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/main.py-tpl +0 -0
  143. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/mocks/__init__.py-tpl +0 -0
  144. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/mocks/mock_items.json-tpl +0 -0
  145. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/schemas/__init__.py-tpl +0 -0
  146. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/src/schemas/items.py-tpl +0 -0
  147. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/__init__.py-tpl +0 -0
  148. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/conftest.py-tpl +0 -0
  149. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-dockerized/tests/test_items.py-tpl +0 -0
  150. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/.env-tpl +0 -0
  151. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/.gitignore-tpl +0 -0
  152. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/README.md-tpl +0 -0
  153. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/requirements.txt-tpl +0 -0
  154. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/setup.cfg-tpl +0 -0
  155. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/setup.py-tpl +0 -0
  156. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/__init__.py-tpl +0 -0
  157. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/core/__init__.py-tpl +0 -0
  158. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/src/main.py-tpl +0 -0
  159. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/tests/__init__.py-tpl +0 -0
  160. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/tests/conftest.py-tpl +0 -0
  161. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-empty/tests/test_main.py-tpl +0 -0
  162. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/.env-tpl +0 -0
  163. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/README.md-tpl +0 -0
  164. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/requirements.txt-tpl +0 -0
  165. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/format.sh-tpl +0 -0
  166. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/lint.sh-tpl +0 -0
  167. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/run-server.sh-tpl +0 -0
  168. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/scripts/test.sh-tpl +0 -0
  169. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/setup.cfg-tpl +0 -0
  170. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/setup.py-tpl +0 -0
  171. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/__init__.py-tpl +0 -0
  172. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/__init__.py-tpl +0 -0
  173. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/api.py-tpl +0 -0
  174. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/routes/__init__.py-tpl +0 -0
  175. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/routes/auth.py-tpl +0 -0
  176. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/api/routes/items.py-tpl +0 -0
  177. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/auth/__init__.py-tpl +0 -0
  178. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/auth/dependencies.py-tpl +0 -0
  179. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/core/__init__.py-tpl +0 -0
  180. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/core/config.py-tpl +0 -0
  181. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/main.py-tpl +0 -0
  182. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/mcp/__init__.py-tpl +0 -0
  183. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/mcp/router.py-tpl +0 -0
  184. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/schemas/__init__.py-tpl +0 -0
  185. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/src/schemas/items.py-tpl +0 -0
  186. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/__init__.py-tpl +0 -0
  187. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/conftest.py-tpl +0 -0
  188. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/test_auth.py-tpl +0 -0
  189. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/test_items.py-tpl +0 -0
  190. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-mcp/tests/test_mcp.py-tpl +0 -0
  191. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/.env-tpl +0 -0
  192. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/.gitignore-tpl +0 -0
  193. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/Dockerfile-tpl +0 -0
  194. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/README.md-tpl +0 -0
  195. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/alembic.ini-tpl +0 -0
  196. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/docker-compose.yml-tpl +0 -0
  197. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/requirements.txt-tpl +0 -0
  198. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/format.sh-tpl +0 -0
  199. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/lint.sh-tpl +0 -0
  200. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/pre-start.sh-tpl +0 -0
  201. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/run-server.sh-tpl +0 -0
  202. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/scripts/test.sh-tpl +0 -0
  203. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/setup.cfg-tpl +0 -0
  204. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/setup.py-tpl +0 -0
  205. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/__init__.py-tpl +0 -0
  206. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/README-tpl +0 -0
  207. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/env.py-tpl +0 -0
  208. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/script.py.mako-tpl +0 -0
  209. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/alembic/versions/bedcdc35b64a_first_alembic.py-tpl +0 -0
  210. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/__init__.py-tpl +0 -0
  211. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/api.py-tpl +0 -0
  212. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/deps.py-tpl +0 -0
  213. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/routes/__init__.py-tpl +0 -0
  214. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/api/routes/items.py-tpl +0 -0
  215. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/__init__.py-tpl +0 -0
  216. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/config.py-tpl +0 -0
  217. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/core/db.py-tpl +0 -0
  218. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/crud/__init__.py-tpl +0 -0
  219. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/crud/items.py-tpl +0 -0
  220. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/main.py-tpl +0 -0
  221. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/schemas/__init__.py-tpl +0 -0
  222. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/schemas/items.py-tpl +0 -0
  223. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/__init__.py-tpl +0 -0
  224. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/backend_pre_start.py-tpl +0 -0
  225. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/init_data.py-tpl +0 -0
  226. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/src/utils/tests_pre_start.py-tpl +0 -0
  227. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/template-config.yml-tpl +0 -0
  228. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/__init__.py-tpl +0 -0
  229. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/conftest.py-tpl +0 -0
  230. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/fastapi-psql-orm/tests/test_items.py-tpl +0 -0
  231. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/modules/api/__init__.py-tpl +0 -0
  232. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/modules/api/routes/__init__.py-tpl +0 -0
  233. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/modules/api/routes/new_route.py-tpl +0 -0
  234. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/modules/crud/__init__.py-tpl +0 -0
  235. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/modules/crud/new_route.py-tpl +0 -0
  236. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/modules/schemas/__init__.py-tpl +0 -0
  237. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/fastapi_project_template/modules/schemas/new_route.py-tpl +0 -0
  238. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/py.typed +0 -0
  239. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/utils/__init__.py +0 -0
  240. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/utils/logging.py +0 -0
  241. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/src/fastapi_fastkit/utils/main.py +0 -0
  242. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/__init__.py +0 -0
  243. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/conftest.py +0 -0
  244. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_backends/__init__.py +0 -0
  245. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_backends/test_configure.py +0 -0
  246. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_backends/test_main.py +0 -0
  247. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_backends/test_package_managers.py +0 -0
  248. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_backends/test_transducer.py +0 -0
  249. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_cli_operations/__init__.py +0 -0
  250. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_cli_operations/test_cli.py +0 -0
  251. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_cli_operations/test_cli_extended.py +0 -0
  252. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_core.py +0 -0
  253. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_rich/__init__.py +0 -0
  254. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_rich/test_rich.py +0 -0
  255. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_templates/__init__.py +0 -0
  256. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_templates/template_configs.yaml +0 -0
  257. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_templates/test_all_templates.py +0 -0
  258. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_templates/test_config_based_templates.py +0 -0
  259. {fastapi_fastkit-1.1.0 → fastapi_fastkit-1.1.1}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: FastAPI-fastkit
3
- Version: 1.1.0
3
+ Version: 1.1.1
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
@@ -11,7 +11,7 @@ dependencies = [
11
11
  ]
12
12
  requires-python = ">=3.12"
13
13
  readme = "README.md"
14
- version = "1.1.0"
14
+ version = "1.1.1"
15
15
 
16
16
  [project.license]
17
17
  text = "MIT"
@@ -0,0 +1 @@
1
+ __version__ = 'v1.1.1'
@@ -31,7 +31,9 @@ import yaml # type: ignore
31
31
  from fastapi_fastkit.backend.main import (
32
32
  create_venv,
33
33
  find_template_core_modules,
34
+ inject_project_metadata,
34
35
  install_dependencies,
36
+ install_dependencies_with_manager,
35
37
  )
36
38
  from fastapi_fastkit.backend.transducer import copy_and_convert_template
37
39
  from fastapi_fastkit.core.settings import settings
@@ -61,6 +63,10 @@ class TemplateInspector:
61
63
  try:
62
64
  os.makedirs(self.temp_dir, exist_ok=True)
63
65
  copy_and_convert_template(str(self.template_path), self.temp_dir)
66
+
67
+ # Inject dummy metadata for inspection
68
+ self._inject_dummy_metadata()
69
+
64
70
  self._cleanup_needed = True
65
71
  self.template_config = self._load_template_config()
66
72
  debug_log(f"Created temporary directory at {self.temp_dir}", "debug")
@@ -112,6 +118,43 @@ class TemplateInspector:
112
118
  debug_log(f"Failed to load template configuration: {e}", "warning")
113
119
  return None
114
120
 
121
+ def _inject_dummy_metadata(self) -> None:
122
+ """Inject dummy metadata for template inspection."""
123
+ try:
124
+ # Use dummy metadata for inspection
125
+ dummy_metadata = {
126
+ "project_name": "test-template",
127
+ "author": "Template Inspector",
128
+ "author_email": "inspector@fastapi-fastkit.dev",
129
+ "description": "Test project for template inspection",
130
+ }
131
+
132
+ inject_project_metadata(
133
+ self.temp_dir,
134
+ dummy_metadata["project_name"],
135
+ dummy_metadata["author"],
136
+ dummy_metadata["author_email"],
137
+ dummy_metadata["description"],
138
+ )
139
+ debug_log("Injected dummy metadata for template inspection", "info")
140
+
141
+ except Exception as e:
142
+ debug_log(f"Failed to inject dummy metadata: {e}", "warning")
143
+ self.warnings.append(f"Failed to inject metadata: {str(e)}")
144
+
145
+ def _detect_package_manager(self) -> str:
146
+ """Detect the appropriate package manager for the template."""
147
+ # Check for pyproject.toml (modern Python packaging)
148
+ if os.path.exists(os.path.join(self.temp_dir, "pyproject.toml")):
149
+ return "uv" # Use UV for pyproject.toml based projects
150
+
151
+ # Check for requirements.txt (traditional pip)
152
+ if os.path.exists(os.path.join(self.temp_dir, "requirements.txt")):
153
+ return "pip"
154
+
155
+ # Default to pip if no dependency file found
156
+ return "pip"
157
+
115
158
  def _check_docker_available(self) -> bool:
116
159
  """Check if Docker and Docker Compose are available."""
117
160
  try:
@@ -393,7 +436,21 @@ class TemplateInspector:
393
436
  try:
394
437
  # Create virtual environment for testing
395
438
  venv_path = create_venv(self.temp_dir)
396
- install_dependencies(self.temp_dir, venv_path)
439
+
440
+ # Detect and use appropriate package manager
441
+ package_manager = self._detect_package_manager()
442
+ debug_log(f"Using package manager: {package_manager}", "info")
443
+
444
+ try:
445
+ install_dependencies_with_manager(
446
+ self.temp_dir, venv_path, package_manager
447
+ )
448
+ except Exception as dep_error:
449
+ # Capture detailed dependency installation error
450
+ error_msg = f"Failed to install dependencies: {str(dep_error)}"
451
+ debug_log(f"Dependency installation failed: {dep_error}", "error")
452
+ self.errors.append(error_msg)
453
+ return False
397
454
 
398
455
  # Check if scripts/test.sh exists
399
456
  test_script_path = os.path.join(self.temp_dir, "scripts", "test.sh")
@@ -557,7 +614,21 @@ class TemplateInspector:
557
614
  try:
558
615
  # Create virtual environment for testing
559
616
  venv_path = create_venv(self.temp_dir)
560
- install_dependencies(self.temp_dir, venv_path)
617
+
618
+ # Detect and use appropriate package manager
619
+ package_manager = self._detect_package_manager()
620
+ debug_log(f"Using package manager: {package_manager}", "info")
621
+
622
+ try:
623
+ install_dependencies_with_manager(
624
+ self.temp_dir, venv_path, package_manager
625
+ )
626
+ except Exception as dep_error:
627
+ # Capture detailed dependency installation error
628
+ error_msg = f"Failed to install dependencies: {str(dep_error)}"
629
+ debug_log(f"Dependency installation failed: {dep_error}", "error")
630
+ self.errors.append(error_msg)
631
+ return False
561
632
 
562
633
  # Set up fallback environment (e.g., SQLite database)
563
634
  fallback_config = self.template_config["fallback_testing"]
@@ -683,6 +754,14 @@ class TemplateInspector:
683
754
  # Check if all services are running
684
755
  all_running = True
685
756
  for service in services:
757
+ # Ensure service is a dictionary before calling .get()
758
+ if not isinstance(service, dict):
759
+ debug_log(
760
+ f"Service info is not a dictionary: {service}",
761
+ "warning",
762
+ )
763
+ continue
764
+
686
765
  if service.get("State") != "running":
687
766
  all_running = False
688
767
  debug_log(
@@ -738,6 +817,11 @@ class TemplateInspector:
738
817
  app_running = False
739
818
 
740
819
  for service in services:
820
+ # Ensure service is a dictionary before calling .get()
821
+ if not isinstance(service, dict):
822
+ debug_log(f"Service info is not a dictionary: {service}", "warning")
823
+ continue
824
+
741
825
  service_name = service.get("Name", "")
742
826
  service_state = service.get("State", "")
743
827
 
@@ -32,12 +32,12 @@ logger = get_logger(__name__)
32
32
  def find_template_core_modules(project_dir: str) -> Dict[str, str]:
33
33
  """
34
34
  Find core module files in the template project structure.
35
- Returns a dictionary with paths to main.py, setup.py, and config files.
35
+ Returns a dictionary with paths to main.py, setup.py, pyproject.toml and config files.
36
36
 
37
37
  :param project_dir: Path to the project directory
38
38
  :return: Dictionary with paths to core modules
39
39
  """
40
- core_modules = {"main": "", "setup": "", "config": ""}
40
+ core_modules = {"main": "", "setup": "", "pyproject": "", "config": ""}
41
41
  template_paths = settings.TEMPLATE_PATHS
42
42
 
43
43
  # Find main.py
@@ -54,6 +54,13 @@ def find_template_core_modules(project_dir: str) -> Dict[str, str]:
54
54
  core_modules["setup"] = full_path
55
55
  break
56
56
 
57
+ # Find pyproject.toml
58
+ for pyproject_path in template_paths["pyproject"]:
59
+ full_path = os.path.join(project_dir, pyproject_path)
60
+ if os.path.exists(full_path):
61
+ core_modules["pyproject"] = full_path
62
+ break
63
+
57
64
  # Find config file
58
65
  config_info = template_paths["config"]
59
66
  if isinstance(config_info, dict):
@@ -166,6 +173,13 @@ def inject_project_metadata(
166
173
  author_email,
167
174
  description,
168
175
  )
176
+ _process_pyproject_file(
177
+ core_modules.get("pyproject", ""),
178
+ project_name,
179
+ author,
180
+ author_email,
181
+ description,
182
+ )
169
183
  _process_config_file(core_modules.get("config", ""), project_name)
170
184
 
171
185
  print_success("Project metadata injected successfully")
@@ -245,6 +259,51 @@ def _process_config_file(config_py: str, project_name: str) -> None:
245
259
  raise BackendExceptions(f"Failed to process config file: {e}")
246
260
 
247
261
 
262
+ def _process_pyproject_file(
263
+ pyproject_toml: str,
264
+ project_name: str,
265
+ author: str,
266
+ author_email: str,
267
+ description: str,
268
+ ) -> None:
269
+ """
270
+ Process pyproject.toml file and inject metadata.
271
+
272
+ :param pyproject_toml: Path to pyproject.toml file
273
+ :param project_name: Project name
274
+ :param author: Author name
275
+ :param author_email: Author email
276
+ :param description: Project description
277
+ """
278
+ if not pyproject_toml or not os.path.exists(pyproject_toml):
279
+ return
280
+
281
+ try:
282
+ with open(pyproject_toml, "r", encoding="utf-8") as f:
283
+ content = f.read()
284
+
285
+ # Replace placeholders
286
+ replacements = {
287
+ "<project_name>": project_name,
288
+ "<author>": author,
289
+ "<author_email>": author_email,
290
+ "<description>": description,
291
+ }
292
+
293
+ for placeholder, value in replacements.items():
294
+ content = content.replace(placeholder, value)
295
+
296
+ with open(pyproject_toml, "w", encoding="utf-8") as f:
297
+ f.write(content)
298
+
299
+ debug_log("Injected metadata into pyproject.toml", "info")
300
+ print_info("Injected metadata into pyproject.toml")
301
+
302
+ except (OSError, UnicodeDecodeError) as e:
303
+ debug_log(f"Error processing pyproject.toml: {e}", "error")
304
+ raise BackendExceptions(f"Failed to process pyproject.toml: {e}")
305
+
306
+
248
307
  def create_venv_with_manager(project_dir: str, manager_type: str = "pip") -> str:
249
308
  """
250
309
  Create a virtual environment using the specified package manager.
@@ -93,16 +93,27 @@ class UvManager(BasePackageManager):
93
93
  print_error(f"pyproject.toml file not found at {pyproject_path}")
94
94
  raise BackendExceptions("pyproject.toml file not found")
95
95
 
96
- # Install dependencies using UV sync
96
+ # Install dependencies using UV sync (including dev dependencies)
97
+ cmd = ["uv", "sync", "--group", "dev"]
98
+ debug_log(
99
+ f"Running UV command: {' '.join(cmd)} in {self.project_dir}", "info"
100
+ )
101
+
97
102
  with console.status("[bold green]Installing dependencies with UV..."):
98
- subprocess.run(
99
- ["uv", "sync"],
103
+ result = subprocess.run(
104
+ cmd,
100
105
  cwd=str(self.project_dir),
101
106
  check=True,
102
107
  capture_output=True,
103
108
  text=True,
104
109
  )
105
110
 
111
+ # Log UV output for debugging
112
+ if result.stdout:
113
+ debug_log(f"UV stdout: {result.stdout}", "debug")
114
+ if result.stderr:
115
+ debug_log(f"UV stderr: {result.stderr}", "debug")
116
+
106
117
  debug_log("Dependencies installed successfully with UV", "info")
107
118
  print_success("Dependencies installed successfully with UV")
108
119
 
@@ -30,6 +30,9 @@ class FastkitConfig:
30
30
  "setup.py",
31
31
  "src/setup.py",
32
32
  ],
33
+ "pyproject": [
34
+ "pyproject.toml",
35
+ ],
33
36
  "config": {
34
37
  "files": ["settings.py", "config.py"],
35
38
  "paths": [
@@ -0,0 +1,85 @@
1
+ [project]
2
+ name = "<project_name>"
3
+ version = "0.1.0"
4
+ description = "<description>"
5
+ authors = [
6
+ {name = "<author>", email = "<author_email>"},
7
+ ]
8
+ readme = "README.md"
9
+ license = "MIT"
10
+ requires-python = ">=3.9"
11
+ dependencies = [
12
+ "fastapi>=0.115.8",
13
+ "uvicorn[standard]>=0.34.0",
14
+ "pydantic>=2.10.6",
15
+ "pydantic-settings>=2.7.1",
16
+ "SQLAlchemy>=2.0.38",
17
+ "python-dotenv>=1.0.1",
18
+ "aiofiles>=24.1.0",
19
+ ]
20
+
21
+ [project.optional-dependencies]
22
+ dev = [
23
+ "pytest>=8.3.4",
24
+ "pytest-asyncio>=0.25.3",
25
+ "httpx>=0.28.1",
26
+ "black>=25.1.0",
27
+ "isort>=6.0.0",
28
+ "mypy>=1.15.0",
29
+ "PyYAML>=6.0.2",
30
+ ]
31
+
32
+ [dependency-groups]
33
+ dev = [
34
+ "pytest>=8.3.4",
35
+ "pytest-asyncio>=0.25.3",
36
+ "httpx>=0.28.1",
37
+ "black>=25.1.0",
38
+ "isort>=6.0.0",
39
+ "mypy>=1.15.0",
40
+ "PyYAML>=6.0.2",
41
+ ]
42
+
43
+ [build-system]
44
+ requires = ["hatchling"]
45
+ build-backend = "hatchling.build"
46
+
47
+ [tool.hatch.build.targets.wheel]
48
+ packages = ["src"]
49
+
50
+ [tool.black]
51
+ line-length = 88
52
+ target-version = ["py39"]
53
+ include = '\.pyi?$'
54
+ exclude = '''
55
+ /(
56
+ \.git
57
+ | \.venv
58
+ | \.mypy_cache
59
+ | \.pytest_cache
60
+ | __pycache__
61
+ | build
62
+ | dist
63
+ )/
64
+ '''
65
+
66
+ [tool.isort]
67
+ profile = "black"
68
+ multi_line_output = 3
69
+ line_length = 88
70
+ known_first_party = ["src"]
71
+
72
+ [tool.mypy]
73
+ python_version = "3.9"
74
+ strict = true
75
+ warn_return_any = true
76
+ warn_unused_configs = true
77
+ disallow_untyped_defs = true
78
+
79
+ [tool.pytest.ini_options]
80
+ testpaths = ["tests"]
81
+ python_files = ["test_*.py"]
82
+ python_classes = ["Test*"]
83
+ python_functions = ["test_*"]
84
+ addopts = "-v --tb=short"
85
+ asyncio_mode = "auto"
@@ -33,4 +33,4 @@ uvicorn==0.34.0
33
33
  uvloop==0.21.0
34
34
  watchfiles==1.0.4
35
35
  websockets==15.0
36
- aiofiles>=23.2.1
36
+ aiofiles>=24.1.0
@@ -3,17 +3,17 @@
3
3
  # --------------------------------------------------------------------------
4
4
  import secrets
5
5
  import warnings
6
- from typing import Annotated, Any, Literal
6
+ from typing import Annotated, Any, List, Literal, Union
7
7
 
8
8
  from pydantic import AnyUrl, BeforeValidator, computed_field, model_validator
9
9
  from pydantic_settings import BaseSettings, SettingsConfigDict
10
10
  from typing_extensions import Self
11
11
 
12
12
 
13
- def parse_cors(v: Any) -> list[str] | str:
13
+ def parse_cors(v: Any) -> Union[List[str], str]:
14
14
  if isinstance(v, str) and not v.startswith("["):
15
15
  return [i.strip() for i in v.split(",")]
16
- elif isinstance(v, list | str):
16
+ elif isinstance(v, (list, str)):
17
17
  return v
18
18
  raise ValueError(v)
19
19
 
@@ -30,20 +30,20 @@ class Settings(BaseSettings):
30
30
 
31
31
  CLIENT_ORIGIN: str = ""
32
32
 
33
- BACKEND_CORS_ORIGINS: Annotated[list[AnyUrl] | str, BeforeValidator(parse_cors)] = (
33
+ BACKEND_CORS_ORIGINS: Annotated[Union[List[AnyUrl], str], BeforeValidator(parse_cors)] = (
34
34
  []
35
35
  )
36
36
 
37
37
  @computed_field # type: ignore[prop-decorator]
38
38
  @property
39
- def all_cors_origins(self) -> list[str]:
39
+ def all_cors_origins(self) -> List[str]:
40
40
  return [str(origin).rstrip("/") for origin in self.BACKEND_CORS_ORIGINS] + [
41
41
  self.CLIENT_ORIGIN
42
42
  ]
43
43
 
44
44
  PROJECT_NAME: str = "<project_name>"
45
45
 
46
- def _check_default_secret(self, var_name: str, value: str | None) -> None:
46
+ def _check_default_secret(self, var_name: str, value: Union[str, None]) -> None:
47
47
  if value == "changethis":
48
48
  message = (
49
49
  f'The value of {var_name} is "changethis", '
@@ -0,0 +1,85 @@
1
+ [project]
2
+ name = "<project_name>"
3
+ version = "0.1.0"
4
+ description = "<description>"
5
+ authors = [
6
+ {name = "<author>", email = "<author_email>"},
7
+ ]
8
+ readme = "README.md"
9
+ license = "MIT"
10
+ requires-python = ">=3.9"
11
+ dependencies = [
12
+ "fastapi>=0.115.8",
13
+ "uvicorn[standard]>=0.34.0",
14
+ "pydantic>=2.10.6",
15
+ "pydantic-settings>=2.7.1",
16
+ "SQLAlchemy>=2.0.38",
17
+ "python-dotenv>=1.0.1",
18
+ "aiofiles>=24.1.0",
19
+ ]
20
+
21
+ [project.optional-dependencies]
22
+ dev = [
23
+ "pytest>=8.3.4",
24
+ "pytest-asyncio>=0.25.3",
25
+ "httpx>=0.28.1",
26
+ "black>=25.1.0",
27
+ "isort>=6.0.0",
28
+ "mypy>=1.15.0",
29
+ "PyYAML>=6.0.2",
30
+ ]
31
+
32
+ [dependency-groups]
33
+ dev = [
34
+ "pytest>=8.3.4",
35
+ "pytest-asyncio>=0.25.3",
36
+ "httpx>=0.28.1",
37
+ "black>=25.1.0",
38
+ "isort>=6.0.0",
39
+ "mypy>=1.15.0",
40
+ "PyYAML>=6.0.2",
41
+ ]
42
+
43
+ [build-system]
44
+ requires = ["hatchling"]
45
+ build-backend = "hatchling.build"
46
+
47
+ [tool.hatch.build.targets.wheel]
48
+ packages = ["src"]
49
+
50
+ [tool.black]
51
+ line-length = 88
52
+ target-version = ["py39"]
53
+ include = '\.pyi?$'
54
+ exclude = '''
55
+ /(
56
+ \.git
57
+ | \.venv
58
+ | \.mypy_cache
59
+ | \.pytest_cache
60
+ | __pycache__
61
+ | build
62
+ | dist
63
+ )/
64
+ '''
65
+
66
+ [tool.isort]
67
+ profile = "black"
68
+ multi_line_output = 3
69
+ line_length = 88
70
+ known_first_party = ["src"]
71
+
72
+ [tool.mypy]
73
+ python_version = "3.9"
74
+ strict = true
75
+ warn_return_any = true
76
+ warn_unused_configs = true
77
+ disallow_untyped_defs = true
78
+
79
+ [tool.pytest.ini_options]
80
+ testpaths = ["tests"]
81
+ python_files = ["test_*.py"]
82
+ python_classes = ["Test*"]
83
+ python_functions = ["test_*"]
84
+ addopts = "-v --tb=short"
85
+ asyncio_mode = "auto"
@@ -1,7 +1,7 @@
1
1
  # --------------------------------------------------------------------------
2
2
  # Item CRUD Endpoint
3
3
  # --------------------------------------------------------------------------
4
- from datetime import UTC, datetime
4
+ from datetime import datetime, timezone
5
5
  from typing import Any, List, Union
6
6
 
7
7
  from fastapi import APIRouter, Request
@@ -29,7 +29,7 @@ async def read_all_items(request: Request):
29
29
  try:
30
30
  items = await read_items()
31
31
  return ResponseSchema(
32
- timestamp=datetime.now(UTC)
32
+ timestamp=datetime.now(timezone.utc)
33
33
  .isoformat(timespec="milliseconds")
34
34
  .replace("+00:00", "Z"),
35
35
  status=200,
@@ -60,7 +60,7 @@ async def read_item(item_id: int, request: Request):
60
60
  message="Item not found", error_code=ErrorCode.NOT_FOUND
61
61
  )
62
62
  return ResponseSchema(
63
- timestamp=datetime.now(UTC)
63
+ timestamp=datetime.now(timezone.utc)
64
64
  .isoformat(timespec="milliseconds")
65
65
  .replace("+00:00", "Z"),
66
66
  status=200,
@@ -92,7 +92,7 @@ async def create_item(item: ItemCreate, request: Request):
92
92
  items.append(new_item)
93
93
  await write_items(items)
94
94
  return ResponseSchema(
95
- timestamp=datetime.now(UTC)
95
+ timestamp=datetime.now(timezone.utc)
96
96
  .isoformat(timespec="milliseconds")
97
97
  .replace("+00:00", "Z"),
98
98
  status=201,
@@ -124,7 +124,7 @@ async def update_item(item_id: int, item: ItemCreate, request: Request):
124
124
  items[index] = updated_item
125
125
  await write_items(items)
126
126
  return ResponseSchema(
127
- timestamp=datetime.now(UTC)
127
+ timestamp=datetime.now(timezone.utc)
128
128
  .isoformat(timespec="milliseconds")
129
129
  .replace("+00:00", "Z"),
130
130
  status=200,
@@ -156,7 +156,7 @@ async def delete_item(item_id: int, request: Request):
156
156
  )
157
157
  await write_items(new_items)
158
158
  return ResponseSchema(
159
- timestamp=datetime.now(UTC)
159
+ timestamp=datetime.now(timezone.utc)
160
160
  .isoformat(timespec="milliseconds")
161
161
  .replace("+00:00", "Z"),
162
162
  status=200,
@@ -3,17 +3,17 @@
3
3
  # --------------------------------------------------------------------------
4
4
  import secrets
5
5
  import warnings
6
- from typing import Annotated, Any, Literal
6
+ from typing import Annotated, Any, List, Literal, Union
7
7
 
8
8
  from pydantic import AnyUrl, BeforeValidator, computed_field, model_validator
9
9
  from pydantic_settings import BaseSettings, SettingsConfigDict
10
10
  from typing_extensions import Self
11
11
 
12
12
 
13
- def parse_cors(v: Any) -> list[str] | str:
13
+ def parse_cors(v: Any) -> Union[List[str], str]:
14
14
  if isinstance(v, str) and not v.startswith("["):
15
15
  return [i.strip() for i in v.split(",")]
16
- elif isinstance(v, list | str):
16
+ elif isinstance(v, (list, str)):
17
17
  return v
18
18
  raise ValueError(v)
19
19
 
@@ -30,20 +30,20 @@ class Settings(BaseSettings):
30
30
 
31
31
  CLIENT_ORIGIN: str = ""
32
32
 
33
- BACKEND_CORS_ORIGINS: Annotated[list[AnyUrl] | str, BeforeValidator(parse_cors)] = (
33
+ BACKEND_CORS_ORIGINS: Annotated[Union[List[AnyUrl], str], BeforeValidator(parse_cors)] = (
34
34
  []
35
35
  )
36
36
 
37
37
  @computed_field # type: ignore[prop-decorator]
38
38
  @property
39
- def all_cors_origins(self) -> list[str]:
39
+ def all_cors_origins(self) -> List[str]:
40
40
  return [str(origin).rstrip("/") for origin in self.BACKEND_CORS_ORIGINS] + [
41
41
  self.CLIENT_ORIGIN
42
42
  ]
43
43
 
44
44
  PROJECT_NAME: str = "<project_name>"
45
45
 
46
- def _check_default_secret(self, var_name: str, value: str | None) -> None:
46
+ def _check_default_secret(self, var_name: str, value: Union[str, None]) -> None:
47
47
  if value == "changethis":
48
48
  message = (
49
49
  f'The value of {var_name} is "changethis", '
@@ -1,7 +1,7 @@
1
1
  # --------------------------------------------------------------------------
2
2
  # The module defines custom Backend Application Exception class, overrides basic Exception.
3
3
  # --------------------------------------------------------------------------
4
- from datetime import UTC, datetime
4
+ from datetime import datetime, timezone
5
5
  from enum import Enum
6
6
 
7
7
  from pydantic import BaseModel, Field
@@ -87,7 +87,7 @@ class ExceptionSchema(BaseModel):
87
87
  class InternalException(Exception):
88
88
  def __init__(self, message: str, error_code: ErrorCode):
89
89
  self.timestamp = (
90
- datetime.now(UTC).isoformat(timespec="milliseconds").replace("+00:00", "Z")
90
+ datetime.now(timezone.utc).isoformat(timespec="milliseconds").replace("+00:00", "Z")
91
91
  )
92
92
  self.status = error_code.status_code
93
93
  self.error_code = error_code.code