FastAPI-fastkit 0.1.0__tar.gz → 1.0.0__tar.gz

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