falco-cli 0.6.0__tar.gz → 0.6.2__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 (219) hide show
  1. {falco_cli-0.6.0 → falco_cli-0.6.2}/.github/workflows/documentation.yml +23 -1
  2. {falco_cli-0.6.0 → falco_cli-0.6.2}/.github/workflows/pre-commit-auto-update.yml +1 -1
  3. {falco_cli-0.6.0 → falco_cli-0.6.2}/.github/workflows/publish.yml +3 -1
  4. {falco_cli-0.6.0 → falco_cli-0.6.2}/.gitignore +3 -0
  5. {falco_cli-0.6.0 → falco_cli-0.6.2}/PKG-INFO +1 -1
  6. falco_cli-0.6.2/blueprints/falco_blueprint_basic/.git +1 -0
  7. falco_cli-0.6.2/blueprints/falco_blueprint_basic/.github/workflows/ci.yml +25 -0
  8. falco_cli-0.6.2/blueprints/falco_blueprint_basic/.github/workflows/pre-commit-auto-update.yml +47 -0
  9. falco_cli-0.6.2/blueprints/falco_blueprint_basic/LICENSE +21 -0
  10. falco_cli-0.6.2/blueprints/falco_blueprint_basic/README.md +10 -0
  11. falco_cli-0.6.2/blueprints/falco_blueprint_basic/cookiecutter.json +5 -0
  12. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.env.template +15 -0
  13. falco_cli-0.6.0/.github/dependabot.yml → falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.github/dependabot.yml +1 -1
  14. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.github/workflows/ci.yml +79 -0
  15. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.gitignore +132 -0
  16. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.pre-commit-config.yaml +56 -0
  17. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/README.md +58 -0
  18. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/config/asgi.py +7 -0
  19. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/config/settings.py +215 -0
  20. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/config/urls.py +19 -0
  21. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/config/wsgi.py +7 -0
  22. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/deploy/Dockerfile +38 -0
  23. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/deploy/entrypoint.sh +6 -0
  24. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/deploy/gunicorn.conf.py +13 -0
  25. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/manage.py +24 -0
  26. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/playground.ipynb +41 -0
  27. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/pyproject.toml +139 -0
  28. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/tests/test_assert_true.py +2 -0
  29. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/core/apps.py +6 -0
  30. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/static/vendors/htmx/htmx.min.js +1 -0
  31. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/templates/base.html +26 -0
  32. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/templates/home.html +6 -0
  33. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/admin.py +62 -0
  34. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/apps.py +5 -0
  35. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/forms.py +12 -0
  36. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/migrations/0001_initial.py +80 -0
  37. falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/models.py +53 -0
  38. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/.git +1 -0
  39. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/.github/workflows/ci.yml +25 -0
  40. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/LICENSE +21 -0
  41. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/README.md +15 -0
  42. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/cookiecutter.json +8 -0
  43. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.env.template +15 -0
  44. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.github/dependabot.yml +11 -0
  45. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.github/workflows/ci.yml +79 -0
  46. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.gitignore +132 -0
  47. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.pre-commit-config.yaml +56 -0
  48. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/README.md +58 -0
  49. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config/asgi.py +7 -0
  50. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config/settings.py +215 -0
  51. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config/urls.py +19 -0
  52. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config/wsgi.py +7 -0
  53. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/deploy/Dockerfile +36 -0
  54. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/deploy/entrypoint.sh +6 -0
  55. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/deploy/gunicorn.conf.py +13 -0
  56. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/manage.py +24 -0
  57. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/playground.ipynb +41 -0
  58. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/pyproject.toml +138 -0
  59. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/tests/test_assert_true.py +2 -0
  60. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/core/apps.py +6 -0
  61. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/static/vendors/htmx/htmx.min.js +1 -0
  62. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/templates/base.html +27 -0
  63. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/templates/home.html +6 -0
  64. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/__init__.py +0 -0
  65. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/admin.py +62 -0
  66. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/apps.py +5 -0
  67. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/forms.py +12 -0
  68. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/migrations/0001_initial.py +80 -0
  69. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/migrations/__init__.py +0 -0
  70. falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/models.py +53 -0
  71. falco_cli-0.6.2/demo/config/__init__.py +0 -0
  72. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/config/urls.py +1 -3
  73. falco_cli-0.6.2/demo/demo/__init__.py +0 -0
  74. falco_cli-0.6.2/demo/demo/core/__init__.py +0 -0
  75. falco_cli-0.6.2/demo/demo/orders/__init__.py +0 -0
  76. falco_cli-0.6.2/demo/demo/orders/migrations/__init__.py +0 -0
  77. falco_cli-0.6.2/demo/demo/products/__init__.py +0 -0
  78. falco_cli-0.6.2/demo/demo/products/migrations/__init__.py +0 -0
  79. falco_cli-0.6.2/demo/demo/users/__init__.py +0 -0
  80. falco_cli-0.6.2/demo/demo/users/migrations/__init__.py +0 -0
  81. falco_cli-0.6.2/demo/templates/products/product_create.html +13 -0
  82. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/templates/products/product_detail.html +2 -13
  83. falco_cli-0.6.2/demo/templates/products/product_list.html +106 -0
  84. falco_cli-0.6.2/demo/templates/products/product_update.html +17 -0
  85. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/the_cli/crud.rst +16 -12
  86. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/__about__.py +1 -1
  87. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/__init__.py +2 -2
  88. falco_cli-0.6.2/src/falco/commands/crud/__init__.py +2 -0
  89. {falco_cli-0.6.0/src/falco/commands → falco_cli-0.6.2/src/falco/commands/crud}/install_crud_utils.py +20 -13
  90. {falco_cli-0.6.0/src/falco/commands → falco_cli-0.6.2/src/falco/commands/crud}/model_crud.py +48 -68
  91. falco_cli-0.6.2/src/falco/commands/crud/utils.py +57 -0
  92. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/htmx.py +6 -15
  93. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/start_app.py +1 -1
  94. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/start_project.py +37 -23
  95. falco_cli-0.6.0/demo/templates/products/product_create.html → falco_cli-0.6.2/src/falco/crud/html/create.html +7 -2
  96. falco_cli-0.6.2/src/falco/crud/html/detail.html +29 -0
  97. falco_cli-0.6.0/demo/templates/products/product_list.html → falco_cli-0.6.2/src/falco/crud/html/list.html +47 -38
  98. falco_cli-0.6.0/demo/templates/products/product_update.html → falco_cli-0.6.2/src/falco/crud/html/update.html +7 -4
  99. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/crud/python/views.py.jinja +3 -3
  100. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/utils.py +25 -4
  101. falco_cli-0.6.2/tests/__init__.py +0 -0
  102. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/commands/test_htmx.py +13 -22
  103. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/commands/test_htmx_extension.py +7 -20
  104. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/commands/test_install_crud_utils.py +11 -0
  105. falco_cli-0.6.2/tests/commands/test_start_project.py +95 -0
  106. falco_cli-0.6.0/tests/commands/test_start_project.py +0 -46
  107. {falco_cli-0.6.0 → falco_cli-0.6.2}/.all-contributorsrc +0 -0
  108. {falco_cli-0.6.0 → falco_cli-0.6.2}/.editorconfig +0 -0
  109. {falco_cli-0.6.0 → falco_cli-0.6.2}/.gitmodules +0 -0
  110. {falco_cli-0.6.0 → falco_cli-0.6.2}/.pre-commit-config.yaml +0 -0
  111. {falco_cli-0.6.0 → falco_cli-0.6.2}/.vscode/settings.json +0 -0
  112. {falco_cli-0.6.0 → falco_cli-0.6.2}/CODE_OF_CONDUCT.md +0 -0
  113. {falco_cli-0.6.0 → falco_cli-0.6.2}/LICENSE +0 -0
  114. {falco_cli-0.6.0 → falco_cli-0.6.2}/README.md +0 -0
  115. {falco_cli-0.6.0 → falco_cli-0.6.2}/all-contributorsrc +0 -0
  116. {falco_cli-0.6.0 → falco_cli-0.6.2}/assets/falco-logo.svg +0 -0
  117. {falco_cli-0.6.0/demo → falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}}/config/__init__.py +0 -0
  118. {falco_cli-0.6.0/demo/demo → falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/tests}/__init__.py +0 -0
  119. {falco_cli-0.6.0/demo/demo/core → falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}}/__init__.py +0 -0
  120. {falco_cli-0.6.0/demo/demo/orders → falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/core}/__init__.py +0 -0
  121. {falco_cli-0.6.0/demo/demo/orders/migrations → falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users}/__init__.py +0 -0
  122. {falco_cli-0.6.0/demo/demo/products → falco_cli-0.6.2/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/migrations}/__init__.py +0 -0
  123. {falco_cli-0.6.0/src/falco/crud/html → falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/blueprints}/create.html +0 -0
  124. {falco_cli-0.6.0/src/falco/crud/html → falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/blueprints}/detail.html +0 -0
  125. {falco_cli-0.6.0/src/falco/crud/html → falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/blueprints}/list.html +0 -0
  126. {falco_cli-0.6.0/src/falco/crud/html → falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/blueprints}/update.html +0 -0
  127. {falco_cli-0.6.0/demo/demo/products/migrations → falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config}/__init__.py +0 -0
  128. {falco_cli-0.6.0/demo/demo/users → falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/tests}/__init__.py +0 -0
  129. {falco_cli-0.6.0/demo/demo/users/migrations → falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}}/__init__.py +0 -0
  130. {falco_cli-0.6.0/tests → falco_cli-0.6.2/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/core}/__init__.py +0 -0
  131. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/config/asgi.py +0 -0
  132. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/config/settings.py +0 -0
  133. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/config/wsgi.py +0 -0
  134. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/core/apps.py +0 -0
  135. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/core/types.py +0 -0
  136. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/core/utils.py +0 -0
  137. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/orders/apps.py +0 -0
  138. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/orders/migrations/0001_initial.py +0 -0
  139. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/orders/models.py +0 -0
  140. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/products/admin.py +0 -0
  141. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/products/apps.py +0 -0
  142. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/products/forms.py +0 -0
  143. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/products/migrations/0001_initial.py +0 -0
  144. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/products/models.py +0 -0
  145. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/products/tests.py +0 -0
  146. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/products/urls.py +0 -0
  147. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/products/views.py +0 -0
  148. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/users/admin.py +0 -0
  149. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/users/apps.py +0 -0
  150. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/users/migrations/0001_initial.py +0 -0
  151. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/demo/users/models.py +0 -0
  152. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/manage.py +0 -0
  153. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/pyproject.toml +0 -0
  154. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/requirements.txt +0 -0
  155. {falco_cli-0.6.0 → falco_cli-0.6.2}/demo/templates/base.html +0 -0
  156. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/.rich-codex.yml +0 -0
  157. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/Makefile +0 -0
  158. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/_static/custom.css +0 -0
  159. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/_templates/partials/globaltoc-above.html +0 -0
  160. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/changelog.rst +0 -0
  161. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/codeofconduct.rst +0 -0
  162. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/conf.py +0 -0
  163. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/contributing.rst +0 -0
  164. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/avoiding_god_models.rst +0 -0
  165. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/database_tips.rst +0 -0
  166. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/deployment.rst +0 -0
  167. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/dynamic_model_schema.rst +0 -0
  168. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/index.rst +0 -0
  169. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/interactive_user_interfaces.rst +0 -0
  170. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/logging_and_monitoring.rst +0 -0
  171. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/multitenancy.rst +0 -0
  172. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/optimizing_database_access.rst +0 -0
  173. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/permissions_and_authorization.rst +0 -0
  174. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/realtime.rst +0 -0
  175. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/running_project_in_a_container.rst +0 -0
  176. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/task_queues_and_schedulers.rst +0 -0
  177. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/tips_and_extra.rst +0 -0
  178. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/use_sqlite_in_production.rst +0 -0
  179. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/writing_async_code.rst +0 -0
  180. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/writing_documentation.rst +0 -0
  181. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/guides/writing_tests.rst +0 -0
  182. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/images/deployment.png +0 -0
  183. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/images/logo_with_text.svg +0 -0
  184. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/images/project-tree.svg +0 -0
  185. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/images/task_queue.png +0 -0
  186. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/index.rst +0 -0
  187. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/install.rst +0 -0
  188. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/license.rst +0 -0
  189. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/make.bat +0 -0
  190. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/the_cli/htmx.rst +0 -0
  191. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/the_cli/index.rst +0 -0
  192. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/the_cli/migrations.rst +0 -0
  193. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/the_cli/setup_admin.rst +0 -0
  194. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/the_cli/start_app.rst +0 -0
  195. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/the_cli/start_project.rst +0 -0
  196. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/the_cli/sync_dotenv.rst +0 -0
  197. {falco_cli-0.6.0 → falco_cli-0.6.2}/docs/the_cli/work.rst +0 -0
  198. {falco_cli-0.6.0 → falco_cli-0.6.2}/pyproject.toml +0 -0
  199. {falco_cli-0.6.0 → falco_cli-0.6.2}/scripts/project_tree.py +0 -0
  200. {falco_cli-0.6.0 → falco_cli-0.6.2}/scripts/update_readme_guides.py +0 -0
  201. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/__init__.py +0 -0
  202. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/__main__.py +0 -0
  203. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/checks.py +0 -0
  204. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/htmx_extension.py +0 -0
  205. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/reset_migrations.py +0 -0
  206. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/rm_migrations.py +0 -0
  207. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/setup_admin.py +0 -0
  208. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/sync_dotenv.py +0 -0
  209. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/commands/work.py +0 -0
  210. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/crud/python/forms.py.jinja +0 -0
  211. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/crud/utils/types.py.jinja +0 -0
  212. {falco_cli-0.6.0 → falco_cli-0.6.2}/src/falco/crud/utils/utils.py.jinja +0 -0
  213. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/commands/test_crud.py +0 -0
  214. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/commands/test_reset_migrations.py +0 -0
  215. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/commands/test_rm_migrations.py +0 -0
  216. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/commands/test_setup_admin.py +0 -0
  217. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/commands/test_start_app.py +0 -0
  218. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/commands/test_sync_dotenv.py +0 -0
  219. {falco_cli-0.6.0 → falco_cli-0.6.2}/tests/conftest.py +0 -0
@@ -1,13 +1,35 @@
1
1
  name: Documentation
2
2
 
3
- on: [push, pull_request, workflow_dispatch]
3
+ on: [ push, pull_request, workflow_dispatch ]
4
4
 
5
5
  permissions:
6
6
  contents: write
7
7
 
8
8
  jobs:
9
+ test:
10
+ runs-on: ubuntu-latest
11
+ strategy:
12
+ matrix:
13
+ python-version: [ "3.10", "3.11", "3.12" ]
14
+ steps:
15
+ - uses: actions/checkout@v3
16
+ with:
17
+ submodules: recursive
18
+ - name: Set up Python ${{ matrix.python-version }}
19
+ uses: actions/setup-python@v5
20
+ with:
21
+ python-version: ${{ matrix.python-version }}
22
+ cache: pip
23
+ cache-dependency-path: '**/pyproject.toml'
24
+ - name: Install hatch
25
+ run: |
26
+ pip install hatch
27
+ - name: Run tests
28
+ run: |
29
+ hatch run pytest
9
30
  docs:
10
31
  runs-on: ubuntu-latest
32
+ needs: [test]
11
33
  steps:
12
34
  - uses: actions/checkout@v3
13
35
  - uses: actions/setup-python@v3
@@ -33,7 +33,7 @@ jobs:
33
33
  run: pre-commit autoupdate
34
34
 
35
35
  - name: Autoupdate generated projects
36
- working-directory: "src/falco_blueprints/project_name"
36
+ working-directory: "."
37
37
  run: pre-commit autoupdate
38
38
 
39
39
  - name: Create Pull Request
@@ -12,6 +12,8 @@ jobs:
12
12
  python-version: ["3.10", "3.11", "3.12"]
13
13
  steps:
14
14
  - uses: actions/checkout@v3
15
+ with:
16
+ submodules: recursive
15
17
  - name: Set up Python ${{ matrix.python-version }}
16
18
  uses: actions/setup-python@v5
17
19
  with:
@@ -45,4 +47,4 @@ jobs:
45
47
  run: |
46
48
  hatch build
47
49
  - name: Publish
48
- uses: pypa/gh-action-pypi-publish@release/v1
50
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -131,3 +131,6 @@ dmypy.json
131
131
  .DS_Store
132
132
  .idea/
133
133
  .idea/sonarlint/
134
+
135
+
136
+ test_projects/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: falco-cli
3
- Version: 0.6.0
3
+ Version: 0.6.2
4
4
  Summary: Enhance your Django developer experience: CLI and Guides for the Modern Developer.
5
5
  Project-URL: Homepage, https://falco.oluwatobi.dev/
6
6
  Project-URL: Documentation, https://falco.oluwatobi.dev/
@@ -0,0 +1 @@
1
+ gitdir: ../../.git/modules/blueprints/falco_blueprint_basic
@@ -0,0 +1,25 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ branches: ['master', 'main']
6
+
7
+ push:
8
+ branches: ['master', 'main']
9
+
10
+ jobs:
11
+ test:
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - name: Set up Python
16
+ uses: actions/setup-python@v4
17
+ with:
18
+ python-version: '3.11'
19
+
20
+ - name: Install falco
21
+ run: |
22
+ pip install falco-cli
23
+
24
+ - name: Generate a project
25
+ run: falco start-project test-project
@@ -0,0 +1,47 @@
1
+ # Run pre-commit autoupdate every day at midnight
2
+ # and create a pull request if any changes
3
+
4
+ name: Pre-commit auto-update
5
+
6
+ on:
7
+ schedule:
8
+ - cron: "15 2 * * *"
9
+ workflow_dispatch: # to trigger manually
10
+
11
+ permissions:
12
+ contents: read
13
+
14
+ jobs:
15
+ auto-update:
16
+ # Disables this workflow from running in a repository that is not part of the indicated organization/user
17
+ if: github.repository_owner == 'Tobi-De'
18
+ permissions:
19
+ contents: write # for peter-evans/create-pull-request to create branch
20
+ pull-requests: write # for peter-evans/create-pull-request to create a PR
21
+
22
+ runs-on: ubuntu-latest
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+ - uses: actions/setup-python@v4
26
+ with:
27
+ python-version: "3.11"
28
+
29
+ - name: Install pre-commit
30
+ run: pip install pre-commit
31
+
32
+ - name: Autoupdate template
33
+ run: pre-commit autoupdate
34
+
35
+ - name: Autoupdate generated projects
36
+ working-directory: "{{ cookiecutter.project_name }}"
37
+ run: pre-commit autoupdate
38
+
39
+ - name: Create Pull Request
40
+ uses: peter-evans/create-pull-request@v5
41
+ with:
42
+ token: ${{ secrets.GITHUB_TOKEN }}
43
+ branch: update/pre-commit-autoupdate
44
+ title: Auto-update pre-commit hooks
45
+ commit-message: Auto-update pre-commit hooks
46
+ body: Update versions of tools in pre-commit configs to latest version
47
+ labels: update
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Tobi DEGNON
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,10 @@
1
+ # falco blueprint basic
2
+
3
+ [![CI](https://github.com/Tobi-De/falco_blueprint_basic/actions/workflows/ci.yml/badge.svg)](https://github.com/Tobi-De/falco_blueprint_basic/actions/workflows/ci.yml)
4
+
5
+ Project blueprint for https://github.com/Tobi-De/falco, run with:
6
+
7
+ ```shell
8
+ pip install falco-cli
9
+ falco start-project my_awesome_project
10
+ ```
@@ -0,0 +1,5 @@
1
+ {
2
+ "project_name": "{{ cookiecutter.project_name }}",
3
+ "author_name": "{{ cookiecutter.author_name }}",
4
+ "author_email": "{{ cookiecutter.author_name }}"
5
+ }
@@ -0,0 +1,15 @@
1
+ DJANGO_SECRET_KEY=
2
+ DJANGO_ENV=
3
+ DJANGO_DEBUG=
4
+ DJANGO_ALLOWED_HOSTS=
5
+ DATABASE_URL=
6
+
7
+ ADMIN_URL=
8
+ DJANGO_CSRF_TRUSTED_ORIGINS=
9
+ DJANGO_AWS_ACCESS_KEY_ID=
10
+ DJANGO_AWS_SECRET_ACCESS_KEY=
11
+ DJANGO_AWS_S3_REGION_NAME=
12
+ SENTRY_DSN=
13
+
14
+ DJANGO_SUPERUSER_EMAIL=
15
+ DJANGO_SUPERUSER_PASSWORD=
@@ -8,4 +8,4 @@ updates:
8
8
  - package-ecosystem: "pip" # See documentation for possible values
9
9
  directory: "/" # Location of package manifests
10
10
  schedule:
11
- interval: "weekly"
11
+ interval: "weekly"
@@ -0,0 +1,79 @@
1
+ name: CI
2
+
3
+ # Enable Buildkit and let compose use it to speed up image building
4
+ env:
5
+ DOCKER_BUILDKIT: 1
6
+ COMPOSE_DOCKER_CLI_BUILD: 1
7
+
8
+ on:
9
+ pull_request:
10
+ branches: ['master', 'main']
11
+ paths-ignore: ['docs/**']
12
+
13
+ push:
14
+ branches: ['master', 'main']
15
+ paths-ignore: ['docs/**']
16
+
17
+ concurrency:
18
+ group: {% raw %}${{ github.head_ref || github.run_id }}{% endraw %}
19
+ cancel-in-progress: true
20
+
21
+ jobs:
22
+ linter:
23
+ runs-on: ubuntu-latest
24
+
25
+ steps:
26
+ - name: Checkout Code Repository
27
+ uses: actions/checkout@v4
28
+
29
+ - name: Set up Python
30
+ uses: actions/setup-python@v4
31
+ with:
32
+ python-version: '3.11'
33
+ - name: Install hatch
34
+ run: |
35
+ pip install hatch
36
+ - name: Create static analysis environment # this step creates the static analysis environment ahead of time to handle cases where hatch fmt fails in pre-commit
37
+ run: |
38
+ hatch fmt
39
+ - name: Add .env file # mypy fails without this
40
+ run: |
41
+ pip install falco-cli && falco sync-dotenv
42
+ - name: Run pre-commit
43
+ run: |
44
+ hatch run pre-commit run --all-files
45
+
46
+ # With no caching at all the entire ci process takes 4m 30s to complete!
47
+ pytest:
48
+ runs-on: ubuntu-latest
49
+
50
+ services:
51
+ postgres:
52
+ image: postgres:15
53
+ ports:
54
+ - 5432:5432
55
+ env:
56
+ POSTGRES_PASSWORD: postgres
57
+
58
+ env:
59
+ # postgres://user:password@host:port/database
60
+ DATABASE_URL: 'postgres://postgres:postgres@localhost:5432/postgres'
61
+
62
+ steps:
63
+ - name: Checkout Code Repository
64
+ uses: actions/checkout@v4
65
+
66
+ - name: Set up Python
67
+ uses: actions/setup-python@v4
68
+ with:
69
+ python-version: '3.11'
70
+ cache: pip
71
+ cache-dependency-path: |
72
+ pyproject.toml
73
+
74
+ - name: Install hatch
75
+ run: |
76
+ pip install hatch
77
+
78
+ - name: Test with pytest
79
+ run: hatch run test:test
@@ -0,0 +1,132 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ target/
76
+
77
+ # Jupyter Notebook
78
+ .ipynb_checkpoints
79
+
80
+ # IPython
81
+ profile_default/
82
+ ipython_config.py
83
+
84
+ # pyenv
85
+ .python-version
86
+
87
+ # pipenv
88
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
90
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
91
+ # install all needed dependencies.
92
+ #Pipfile.lock
93
+
94
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95
+ __pypackages__/
96
+
97
+ # Celery stuff
98
+ celerybeat-schedule
99
+ celerybeat.pid
100
+
101
+ # SageMath parsed files
102
+ *.sage.py
103
+
104
+ # Environments
105
+ .env
106
+ .venv
107
+ env/
108
+ venv/
109
+ ENV/
110
+ env.bak/
111
+ venv.bak/
112
+
113
+ # Spyder project settings
114
+ .spyderproject
115
+ .spyproject
116
+
117
+ # Rope project settings
118
+ .ropeproject
119
+
120
+ # mkdocs documentation
121
+ /site
122
+
123
+ # mypy
124
+ .mypy_cache/
125
+ .dmypy.json
126
+ dmypy.json
127
+
128
+ # Pyre type checker
129
+ .pyre/
130
+
131
+ # Pycharm
132
+ .idea/
@@ -0,0 +1,56 @@
1
+ # See https://pre-commit.com for more information
2
+ # See https://pre-commit.com/hooks.html for more hooks
3
+ default_language_version:
4
+ python: python3.11 # TODO: change this to your virtualenv's Python version
5
+
6
+ repos:
7
+ - repo: https://github.com/pre-commit/pre-commit-hooks
8
+ rev: v4.5.0
9
+ hooks:
10
+ - id: trailing-whitespace
11
+ - id: end-of-file-fixer
12
+ - id: check-yaml
13
+ - id: check-toml
14
+ - id: check-added-large-files
15
+ - id: check-merge-conflict
16
+ - id: check-case-conflict
17
+ - id: check-symlinks
18
+ - id: check-json
19
+
20
+ - repo: https://github.com/asottile/reorder_python_imports
21
+ rev: v3.12.0
22
+ hooks:
23
+ - id: reorder-python-imports
24
+ args:
25
+ - "--application-directories={{ cookiecutter.project_name }}"
26
+
27
+ - repo: https://github.com/Riverside-Healthcare/djLint
28
+ rev: v1.34.1
29
+ hooks:
30
+ - id: djlint-reformat-django
31
+ - id: djlint-django
32
+
33
+ - repo: https://github.com/adamchainz/django-upgrade
34
+ rev: "1.15.0"
35
+ hooks:
36
+ - id: django-upgrade
37
+ args: [--target-version, "5.0"]
38
+
39
+ - repo: https://github.com/tox-dev/pyproject-fmt
40
+ rev: "1.6.0"
41
+ hooks:
42
+ - id: pyproject-fmt
43
+
44
+ - repo: local
45
+ hooks:
46
+ - id: mypy
47
+ name: Run mypy
48
+ entry: hatch run mypy
49
+ language: system
50
+ files: \.py$
51
+
52
+ - id: hatch fmt
53
+ name: run hatch fmt
54
+ entry: hatch fmt
55
+ language: system
56
+ files: \.py
@@ -0,0 +1,58 @@
1
+ # {{ cookiecutter.project_name }}
2
+
3
+ [![falco](https://img.shields.io/badge/built%20with-falco-success)](https://github.com/Tobi-De/falco)
4
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
5
+ [![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/PyCQA/pylint)
6
+ [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
7
+
8
+ ## Prerequisites
9
+
10
+ - `Python 3.11+`
11
+ - `hatch 1.9.1+`
12
+ - `Postgresql 13+`
13
+
14
+ ## Development
15
+
16
+ ### Create a new virtual environment
17
+
18
+ ```shell
19
+ hatch shell
20
+ ```
21
+
22
+ ### Install pre-commit
23
+
24
+ ```shell
25
+ git init && pre-commit install
26
+ ```
27
+
28
+ Ensure that the Python version specified in your `.pre-commit-config.yaml` file aligns with the Python version installed on your system.
29
+
30
+ ### Create a `.env` file
31
+
32
+ ```shell
33
+ falco sync-dotenv
34
+ ```
35
+
36
+ ### Apply migrations
37
+
38
+ ```shell
39
+ hatch run migrate
40
+ ```
41
+
42
+ ### Create a superuser
43
+
44
+ Fill the `SUPERUSER_EMAIL` and `SUPERUSER_PASSWORD` in your `.env` file and run:
45
+
46
+ ```shell
47
+ falco make-superuser
48
+ ```
49
+
50
+ ### Run the django development server
51
+
52
+ ```shell
53
+ hatch run runserver
54
+ # if you've aliased `hatch run` to `hr``
55
+ hr runserver
56
+ # if you've added falco-cli as a dependency to your project
57
+ falco work
58
+ ```
@@ -0,0 +1,7 @@
1
+ import os
2
+
3
+ from django.core.asgi import get_asgi_application
4
+
5
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
6
+
7
+ application = get_asgi_application()