instant-python 0.14.0__tar.gz → 0.15.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 (460) hide show
  1. {instant_python-0.14.0 → instant_python-0.15.0}/CHANGELOG.md +441 -0
  2. {instant_python-0.14.0 → instant_python-0.15.0}/PKG-INFO +24 -28
  3. {instant_python-0.14.0 → instant_python-0.15.0}/README.md +23 -27
  4. instant_python-0.15.0/docs/getting_started/first_steps.md +88 -0
  5. instant_python-0.15.0/docs/getting_started/installation.md +40 -0
  6. instant_python-0.15.0/docs/guide/command_config.md +306 -0
  7. instant_python-0.15.0/docs/guide/command_init.md +67 -0
  8. instant_python-0.15.0/docs/guide/custom_projects.md +207 -0
  9. instant_python-0.14.0/docs/guide/command_init.md → instant_python-0.15.0/docs/guide/default_features.md +173 -217
  10. instant_python-0.15.0/docs/guide/index.md +38 -0
  11. {instant_python-0.14.0 → instant_python-0.15.0}/docs/home/index.md +23 -28
  12. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/application/config_generator.py +3 -8
  13. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/delivery/cli.py +3 -3
  14. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/domain/config_writer.py +1 -1
  15. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/infra/writer/yaml_config_writer.py +1 -1
  16. instant_python-0.15.0/instant_python/initialize/application/project_initializer.py +47 -0
  17. instant_python-0.15.0/instant_python/initialize/delivery/cli.py +48 -0
  18. instant_python-0.15.0/instant_python/initialize/domain/config_repository.py +14 -0
  19. instant_python-0.15.0/instant_python/initialize/domain/env_manager.py +9 -0
  20. instant_python-0.15.0/instant_python/initialize/domain/node.py +73 -0
  21. instant_python-0.14.0/instant_python/initialize/domain/config_repository.py → instant_python-0.15.0/instant_python/initialize/domain/project_formatter.py +2 -2
  22. instant_python-0.15.0/instant_python/initialize/domain/project_renderer.py +10 -0
  23. instant_python-0.15.0/instant_python/initialize/domain/project_structure.py +77 -0
  24. instant_python-0.15.0/instant_python/initialize/domain/project_writer.py +20 -0
  25. instant_python-0.15.0/instant_python/initialize/domain/version_control_configurer.py +9 -0
  26. instant_python-0.15.0/instant_python/initialize/infra/env_manager/env_manager_factory.py +27 -0
  27. instant_python-0.14.0/instant_python/dependency_manager/pdm_dependency_manager.py → instant_python-0.15.0/instant_python/initialize/infra/env_manager/pdm_env_manager.py +23 -26
  28. instant_python-0.15.0/instant_python/initialize/infra/env_manager/system_console.py +65 -0
  29. instant_python-0.14.0/instant_python/dependency_manager/uv_dependency_manager.py → instant_python-0.15.0/instant_python/initialize/infra/env_manager/uv_env_manager.py +23 -26
  30. instant_python-0.15.0/instant_python/initialize/infra/formatter/ruff_project_formatter.py +10 -0
  31. instant_python-0.15.0/instant_python/initialize/infra/persistence/yaml_config_repository.py +30 -0
  32. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/initialize/infra/renderer/jinja_environment.py +9 -5
  33. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/initialize/infra/renderer/jinja_project_renderer.py +22 -14
  34. instant_python-0.15.0/instant_python/initialize/infra/version_control/git_configurer.py +29 -0
  35. instant_python-0.15.0/instant_python/initialize/infra/writer/file_system_project_writer.py +23 -0
  36. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/shared/application_error.py +1 -6
  37. instant_python-0.15.0/instant_python/shared/domain/config_schema.py +113 -0
  38. {instant_python-0.14.0/instant_python/config → instant_python-0.15.0/instant_python/shared}/domain/dependency_config.py +3 -3
  39. {instant_python-0.14.0/instant_python/config → instant_python-0.15.0/instant_python/shared}/domain/general_config.py +7 -7
  40. {instant_python-0.14.0/instant_python/config → instant_python-0.15.0/instant_python/shared}/domain/git_config.py +1 -3
  41. {instant_python-0.14.0/instant_python/config → instant_python-0.15.0/instant_python/shared}/domain/template_config.py +11 -10
  42. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/domain_event_json_deserializer.py +1 -3
  43. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/domain_event_subscriber.py +1 -1
  44. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/event_aggregate.py +5 -0
  45. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/mock_event_bus.py +7 -8
  46. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_configurer.py +3 -9
  47. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_connection.py +2 -6
  48. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_queue_formatter.py +7 -0
  49. instant_python-0.15.0/instant_python/templates/project_structure/alembic_migrator.yml.j2 +4 -0
  50. instant_python-0.15.0/instant_python/templates/project_structure/async_alembic.yml.j2 +25 -0
  51. instant_python-0.15.0/instant_python/templates/project_structure/async_sqlalchemy.yml.j2 +20 -0
  52. instant_python-0.15.0/instant_python/templates/project_structure/citation.yml.j2 +4 -0
  53. instant_python-0.15.0/instant_python/templates/project_structure/clean_architecture/main_structure.yml.j2 +39 -0
  54. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/project_structure/clean_architecture/source.yml.j2 +10 -10
  55. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/project_structure/clean_architecture/test.yml.j2 +7 -5
  56. instant_python-0.15.0/instant_python/templates/project_structure/domain_driven_design/main_structure.yml.j2 +39 -0
  57. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/project_structure/domain_driven_design/source.yml.j2 +11 -11
  58. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/project_structure/domain_driven_design/test.yml.j2 +8 -6
  59. instant_python-0.15.0/instant_python/templates/project_structure/event_bus_domain.yml.j2 +56 -0
  60. instant_python-0.15.0/instant_python/templates/project_structure/event_bus_infra.yml.j2 +40 -0
  61. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/project_structure/fastapi_app.yml.j2 +12 -8
  62. instant_python-0.15.0/instant_python/templates/project_structure/fastapi_domain.yml.j2 +12 -0
  63. instant_python-0.15.0/instant_python/templates/project_structure/fastapi_infra.yml.j2 +12 -0
  64. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/project_structure/github_action.yml.j2 +10 -7
  65. instant_python-0.15.0/instant_python/templates/project_structure/github_issues_template.yml.j2 +14 -0
  66. instant_python-0.15.0/instant_python/templates/project_structure/gitignore.yml.j2 +3 -0
  67. instant_python-0.15.0/instant_python/templates/project_structure/license.yml.j2 +3 -0
  68. instant_python-0.15.0/instant_python/templates/project_structure/logger.yml.j2 +16 -0
  69. instant_python-0.15.0/instant_python/templates/project_structure/makefile.yml.j2 +3 -0
  70. instant_python-0.15.0/instant_python/templates/project_structure/mypy.yml.j2 +4 -0
  71. instant_python-0.15.0/instant_python/templates/project_structure/precommit_hook.yml.j2 +4 -0
  72. instant_python-0.15.0/instant_python/templates/project_structure/pyproject.yml.j2 +4 -0
  73. instant_python-0.15.0/instant_python/templates/project_structure/pytest.yml.j2 +4 -0
  74. instant_python-0.15.0/instant_python/templates/project_structure/python_version.yml.j2 +3 -0
  75. instant_python-0.15.0/instant_python/templates/project_structure/readme.yml.j2 +4 -0
  76. instant_python-0.15.0/instant_python/templates/project_structure/security.yml.j2 +4 -0
  77. instant_python-0.15.0/instant_python/templates/project_structure/standard_project/main_structure.yml.j2 +39 -0
  78. instant_python-0.15.0/instant_python/templates/project_structure/standard_project/source.yml.j2 +28 -0
  79. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/project_structure/standard_project/test.yml.j2 +7 -5
  80. instant_python-0.15.0/instant_python/templates/project_structure/synchronous_sqlalchemy.yml.j2 +20 -0
  81. instant_python-0.15.0/instant_python/templates/project_structure/test_value_objects.yml.j2 +32 -0
  82. instant_python-0.15.0/instant_python/templates/project_structure/value_objects.yml.j2 +64 -0
  83. {instant_python-0.14.0 → instant_python-0.15.0}/mkdocs.yml +14 -12
  84. {instant_python-0.14.0 → instant_python-0.15.0}/pyproject.toml +2 -2
  85. {instant_python-0.14.0 → instant_python-0.15.0}/test/config/application/test_config_generator.py +2 -10
  86. {instant_python-0.14.0 → instant_python-0.15.0}/test/config/infra/writer/test_yaml_config_writer.py +1 -1
  87. instant_python-0.15.0/test/initialize/application/test_project_initializer.py +67 -0
  88. instant_python-0.15.0/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_custom_project_structure.approved.txt +1 -0
  89. instant_python-0.14.0/test/initialize/delivery/approved_files/TestInitCli.test_initializes_project_with_template_section_combinations.approved.txt → instant_python-0.15.0/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_template_section_combinations.approved.txt +13 -13
  90. {instant_python-0.14.0 → instant_python-0.15.0}/test/initialize/delivery/test_init_cli.py +40 -6
  91. instant_python-0.15.0/test/initialize/domain/mothers/node_mother.py +36 -0
  92. instant_python-0.15.0/test/initialize/domain/mothers/project_structure_mother.py +53 -0
  93. instant_python-0.15.0/test/initialize/domain/test_node.py +74 -0
  94. instant_python-0.15.0/test/initialize/infra/env_manager/mother/command_execution_result_mother.py +24 -0
  95. instant_python-0.15.0/test/initialize/infra/env_manager/test_pdm_env_manager.py +93 -0
  96. instant_python-0.15.0/test/initialize/infra/env_manager/test_system_console.py +51 -0
  97. instant_python-0.15.0/test/initialize/infra/env_manager/test_uv_env_manager.py +93 -0
  98. instant_python-0.15.0/test/initialize/infra/formatter/test_ruff_project_formatter.py +32 -0
  99. instant_python-0.14.0/test/initialize/infra/persistence/approved_files/TestConfigurationRepository.test_should_read_existing_config_file.approved.txt → instant_python-0.15.0/test/initialize/infra/persistence/approved_files/TestYamlConfigRepository.test_should_read_existing_config_file.approved.txt +15 -15
  100. instant_python-0.15.0/test/initialize/infra/persistence/test_yaml_config_repository.py +59 -0
  101. {instant_python-0.14.0 → instant_python-0.15.0}/test/initialize/infra/renderer/test_jinja_environment.py +1 -1
  102. instant_python-0.15.0/test/initialize/infra/renderer/test_jinja_project_renderer.py +56 -0
  103. instant_python-0.15.0/test/initialize/infra/version_control/test_git_configurer.py +63 -0
  104. instant_python-0.15.0/test/initialize/infra/writer/TestFileSystemProjectWriter.test_should_create_file_in_file_system.approved.txt +3 -0
  105. instant_python-0.15.0/test/initialize/infra/writer/TestFileSystemProjectWriter.test_should_create_python_module_in_file_system.approved.txt +5 -0
  106. instant_python-0.15.0/test/initialize/infra/writer/TestFileSystemProjectWriter.test_should_create_standard_directory_in_file_system.approved.txt +3 -0
  107. instant_python-0.15.0/test/initialize/infra/writer/test_file_system_project_writer.py +57 -0
  108. instant_python-0.15.0/test/resources/main_structure.yml.j2 +24 -0
  109. {instant_python-0.14.0 → instant_python-0.15.0}/test/resources/standard_project/main_structure.yml.j2 +3 -0
  110. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/shared}/domain/mothers/config_schema_mother.py +14 -5
  111. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/shared}/domain/mothers/dependency_config_mother.py +1 -1
  112. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/shared}/domain/mothers/general_config_mother.py +1 -1
  113. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/shared}/domain/mothers/git_config_mother.py +1 -1
  114. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/shared}/domain/mothers/template_config_mother.py +1 -1
  115. instant_python-0.15.0/test/shared/domain/test_config_schema.py +51 -0
  116. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/shared}/domain/test_dependency_config.py +2 -2
  117. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/shared}/domain/test_general_config.py +2 -2
  118. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/shared}/domain/test_git_config.py +2 -2
  119. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/shared}/domain/test_template_configuration.py +2 -2
  120. {instant_python-0.14.0 → instant_python-0.15.0}/uv.lock +1 -1
  121. instant_python-0.14.0/docs/examples/configuration.md +0 -147
  122. instant_python-0.14.0/docs/examples/custom_template.md +0 -58
  123. instant_python-0.14.0/docs/guide/command_config.md +0 -59
  124. instant_python-0.14.0/docs/home/getting_started.md +0 -73
  125. instant_python-0.14.0/instant_python/config/domain/config_parser.py +0 -10
  126. instant_python-0.14.0/instant_python/config/domain/config_schema.py +0 -79
  127. instant_python-0.14.0/instant_python/config/infra/parser/errors.py +0 -25
  128. instant_python-0.14.0/instant_python/config/infra/parser/parser.py +0 -101
  129. instant_python-0.14.0/instant_python/configuration/parser/configuration_file_not_found.py +0 -8
  130. instant_python-0.14.0/instant_python/configuration/parser/parser.py +0 -146
  131. instant_python-0.14.0/instant_python/dependency_manager/command_execution_error.py +0 -10
  132. instant_python-0.14.0/instant_python/dependency_manager/dependency_manager.py +0 -25
  133. instant_python-0.14.0/instant_python/dependency_manager/dependency_manager_factory.py +0 -18
  134. instant_python-0.14.0/instant_python/dependency_manager/unknown_dependency_manager_error.py +0 -8
  135. instant_python-0.14.0/instant_python/formatter/project_formatter.py +0 -19
  136. instant_python-0.14.0/instant_python/git/git_configurer.py +0 -42
  137. instant_python-0.14.0/instant_python/initialize/application/config_reader.py +0 -14
  138. instant_python-0.14.0/instant_python/initialize/application/project_initializer.py +0 -13
  139. instant_python-0.14.0/instant_python/initialize/delivery/cli.py +0 -63
  140. instant_python-0.14.0/instant_python/initialize/domain/nodes.py +0 -8
  141. instant_python-0.14.0/instant_python/initialize/domain/project_renderer.py +0 -9
  142. instant_python-0.14.0/instant_python/initialize/infra/persistence/config_repository.py +0 -15
  143. instant_python-0.14.0/instant_python/project_creator/directory.py +0 -26
  144. instant_python-0.14.0/instant_python/project_creator/file.py +0 -31
  145. instant_python-0.14.0/instant_python/project_creator/file_has_not_been_created.py +0 -8
  146. instant_python-0.14.0/instant_python/project_creator/file_system.py +0 -46
  147. instant_python-0.14.0/instant_python/project_creator/node.py +0 -15
  148. instant_python-0.14.0/instant_python/project_creator/unknown_node_typer_error.py +0 -8
  149. instant_python-0.14.0/instant_python/render/custom_project_renderer.py +0 -18
  150. instant_python-0.14.0/instant_python/render/jinja_custom_filters.py +0 -23
  151. instant_python-0.14.0/instant_python/render/jinja_environment.py +0 -34
  152. instant_python-0.14.0/instant_python/render/jinja_project_renderer.py +0 -30
  153. instant_python-0.14.0/instant_python/render/template_file_not_found_error.py +0 -10
  154. instant_python-0.14.0/instant_python/render/unknown_template_error.py +0 -8
  155. instant_python-0.14.0/instant_python/shared/error_types.py +0 -7
  156. instant_python-0.14.0/instant_python/templates/project_structure/alembic_migrator.yml.j2 +0 -3
  157. instant_python-0.14.0/instant_python/templates/project_structure/async_alembic.yml.j2 +0 -20
  158. instant_python-0.14.0/instant_python/templates/project_structure/async_sqlalchemy.yml.j2 +0 -17
  159. instant_python-0.14.0/instant_python/templates/project_structure/citation.yml.j2 +0 -3
  160. instant_python-0.14.0/instant_python/templates/project_structure/clean_architecture/main_structure.yml.j2 +0 -39
  161. instant_python-0.14.0/instant_python/templates/project_structure/domain_driven_design/main_structure.yml.j2 +0 -39
  162. instant_python-0.14.0/instant_python/templates/project_structure/event_bus_domain.yml.j2 +0 -45
  163. instant_python-0.14.0/instant_python/templates/project_structure/event_bus_infra.yml.j2 +0 -32
  164. instant_python-0.14.0/instant_python/templates/project_structure/fastapi_domain.yml.j2 +0 -10
  165. instant_python-0.14.0/instant_python/templates/project_structure/fastapi_infra.yml.j2 +0 -10
  166. instant_python-0.14.0/instant_python/templates/project_structure/github_issues_template.yml.j2 +0 -12
  167. instant_python-0.14.0/instant_python/templates/project_structure/gitignore.yml.j2 +0 -2
  168. instant_python-0.14.0/instant_python/templates/project_structure/license.yml.j2 +0 -2
  169. instant_python-0.14.0/instant_python/templates/project_structure/logger.yml.j2 +0 -13
  170. instant_python-0.14.0/instant_python/templates/project_structure/makefile.yml.j2 +0 -3
  171. instant_python-0.14.0/instant_python/templates/project_structure/mypy.yml.j2 +0 -3
  172. instant_python-0.14.0/instant_python/templates/project_structure/precommit_hook.yml.j2 +0 -3
  173. instant_python-0.14.0/instant_python/templates/project_structure/pyproject.yml.j2 +0 -3
  174. instant_python-0.14.0/instant_python/templates/project_structure/pytest.yml.j2 +0 -3
  175. instant_python-0.14.0/instant_python/templates/project_structure/python_version.yml.j2 +0 -2
  176. instant_python-0.14.0/instant_python/templates/project_structure/readme.yml.j2 +0 -3
  177. instant_python-0.14.0/instant_python/templates/project_structure/security.yml.j2 +0 -3
  178. instant_python-0.14.0/instant_python/templates/project_structure/standard_project/main_structure.yml.j2 +0 -39
  179. instant_python-0.14.0/instant_python/templates/project_structure/standard_project/source.yml.j2 +0 -28
  180. instant_python-0.14.0/instant_python/templates/project_structure/synchronous_sqlalchemy.yml.j2 +0 -17
  181. instant_python-0.14.0/instant_python/templates/project_structure/test_value_objects.yml.j2 +0 -26
  182. instant_python-0.14.0/instant_python/templates/project_structure/value_objects.yml.j2 +0 -52
  183. instant_python-0.14.0/test/config/infra/parser/approved_files/TestParser.test_should_parse_valid_answers.approved.txt +0 -39
  184. instant_python-0.14.0/test/config/infra/parser/resources/missing_dependencies_fields.yml +0 -21
  185. instant_python-0.14.0/test/config/infra/parser/resources/missing_general_fields.yml +0 -23
  186. instant_python-0.14.0/test/config/infra/parser/resources/missing_git_fields.yml +0 -25
  187. instant_python-0.14.0/test/config/infra/parser/resources/missing_keys_answers.yml +0 -13
  188. instant_python-0.14.0/test/config/infra/parser/resources/missing_template_fields.yml +0 -23
  189. instant_python-0.14.0/test/config/infra/parser/resources/valid_answers.yml +0 -23
  190. instant_python-0.14.0/test/config/infra/parser/test_parser.py +0 -56
  191. instant_python-0.14.0/test/configuration/parser/approved_files/TestParser.test_should_parse_configuration.approved.txt +0 -39
  192. instant_python-0.14.0/test/configuration/parser/resources/config.yml +0 -23
  193. instant_python-0.14.0/test/configuration/parser/resources/empty_config.yml +0 -0
  194. instant_python-0.14.0/test/configuration/parser/resources/missing_dependencies_fields_config.yml +0 -21
  195. instant_python-0.14.0/test/configuration/parser/resources/missing_general_fields_config.yml +0 -23
  196. instant_python-0.14.0/test/configuration/parser/resources/missing_git_fields_config.yml +0 -25
  197. instant_python-0.14.0/test/configuration/parser/resources/missing_keys_config.yml +0 -13
  198. instant_python-0.14.0/test/configuration/parser/resources/missing_template_fields_config.yml +0 -23
  199. instant_python-0.14.0/test/configuration/parser/test_parser.py +0 -66
  200. instant_python-0.14.0/test/dependency_manager/mock_pdm_dependency_manager.py +0 -33
  201. instant_python-0.14.0/test/dependency_manager/mock_uv_dependency_manager.py +0 -33
  202. instant_python-0.14.0/test/dependency_manager/test_pdm_dependency_manager.py +0 -60
  203. instant_python-0.14.0/test/dependency_manager/test_uv_dependency_manager.py +0 -59
  204. instant_python-0.14.0/test/formatter/mock_project_formatter.py +0 -15
  205. instant_python-0.14.0/test/formatter/test_project_formatter.py +0 -13
  206. instant_python-0.14.0/test/git/mock_git_configurer.py +0 -19
  207. instant_python-0.14.0/test/git/test_git_configurer.py +0 -53
  208. instant_python-0.14.0/test/initialize/application/test_config_reader.py +0 -29
  209. instant_python-0.14.0/test/initialize/application/test_project_initializer.py +0 -22
  210. instant_python-0.14.0/test/initialize/delivery/approvaltests_config.json +0 -3
  211. instant_python-0.14.0/test/initialize/domain/__init__.py +0 -0
  212. instant_python-0.14.0/test/initialize/domain/test_nodes.py +0 -12
  213. instant_python-0.14.0/test/initialize/infra/__init__.py +0 -0
  214. instant_python-0.14.0/test/initialize/infra/persistence/__init__.py +0 -0
  215. instant_python-0.14.0/test/initialize/infra/persistence/approvaltests_config.json +0 -3
  216. instant_python-0.14.0/test/initialize/infra/persistence/test_configuration_repository.py +0 -25
  217. instant_python-0.14.0/test/initialize/infra/renderer/__init__.py +0 -0
  218. instant_python-0.14.0/test/initialize/infra/renderer/test_jinja_project_renderer.py +0 -37
  219. instant_python-0.14.0/test/project_creator/__init__.py +0 -0
  220. instant_python-0.14.0/test/project_creator/approvaltests_config.json +0 -3
  221. instant_python-0.14.0/test/project_creator/approved_files/TestFileSystem.test_should_create_file_system_in_disk.rendered_custom_project_structure.json.approved.txt +0 -1
  222. instant_python-0.14.0/test/project_creator/approved_files/TestFileSystem.test_should_create_file_system_in_disk.rendered_project_structure.json.approved.txt +0 -1
  223. instant_python-0.14.0/test/project_creator/approved_files/TestFileSystem.test_should_create_file_system_in_disk.rendered_project_structure_fastapi_with_logger.json.approved.txt +0 -1
  224. instant_python-0.14.0/test/project_creator/approved_files/TestFileSystem.test_should_create_file_system_in_disk.rendered_project_structure_fastapi_with_migrator.json.approved.txt +0 -1
  225. instant_python-0.14.0/test/project_creator/approved_files/TestFileSystem.test_should_create_file_system_in_disk.rendered_project_structure_only_with_fastapi.json.approved.txt +0 -1
  226. instant_python-0.14.0/test/project_creator/approved_files/TestFileSystem.test_should_create_folders_and_files.approved.txt +0 -1
  227. instant_python-0.14.0/test/project_creator/approved_files/TestFileSystem.test_should_generate_file_system_tree.approved.txt +0 -1
  228. instant_python-0.14.0/test/project_creator/directory_mother.py +0 -31
  229. instant_python-0.14.0/test/project_creator/resources/boilerplate/exceptions/domain_error.py +0 -22
  230. instant_python-0.14.0/test/project_creator/resources/boilerplate/exceptions/domain_error_simple.py +0 -2
  231. instant_python-0.14.0/test/project_creator/resources/boilerplate/fastapi/__init__.py +0 -0
  232. instant_python-0.14.0/test/project_creator/resources/boilerplate/fastapi/application.py +0 -21
  233. instant_python-0.14.0/test/project_creator/resources/boilerplate/fastapi/http_response.py +0 -62
  234. instant_python-0.14.0/test/project_creator/resources/boilerplate/fastapi/lifespan.py +0 -11
  235. instant_python-0.14.0/test/project_creator/resources/boilerplate/logger/__init__.py +0 -0
  236. instant_python-0.14.0/test/project_creator/resources/boilerplate/logger/logger.py +0 -44
  237. instant_python-0.14.0/test/project_creator/resources/boilerplate/persistence/alembic_migrator.py +0 -18
  238. instant_python-0.14.0/test/project_creator/resources/clean_architecture/main_structure.yml.j2 +0 -69
  239. instant_python-0.14.0/test/project_creator/resources/config.yml +0 -25
  240. instant_python-0.14.0/test/project_creator/resources/config_fastapi_with_logger.yml +0 -26
  241. instant_python-0.14.0/test/project_creator/resources/config_fastapi_with_migrator.yml +0 -26
  242. instant_python-0.14.0/test/project_creator/resources/config_with_only_fastapi.yml +0 -25
  243. instant_python-0.14.0/test/project_creator/resources/rendered_custom_project_structure.json +0 -36
  244. instant_python-0.14.0/test/project_creator/resources/rendered_project_structure.json +0 -33
  245. instant_python-0.14.0/test/project_creator/resources/rendered_project_structure_fastapi_with_logger.json +0 -64
  246. instant_python-0.14.0/test/project_creator/resources/rendered_project_structure_fastapi_with_migrator.json +0 -62
  247. instant_python-0.14.0/test/project_creator/resources/rendered_project_structure_only_with_fastapi.json +0 -52
  248. instant_python-0.14.0/test/project_creator/test_directory.py +0 -50
  249. instant_python-0.14.0/test/project_creator/test_file.py +0 -52
  250. instant_python-0.14.0/test/project_creator/test_file_system.py +0 -73
  251. instant_python-0.14.0/test/render/__init__.py +0 -0
  252. instant_python-0.14.0/test/render/approvaltests_config.json +0 -3
  253. instant_python-0.14.0/test/render/approved_files/TestCustomProjectRenderer.test_should_render_custom_template.approved.txt +0 -86
  254. instant_python-0.14.0/test/render/approved_files/TestJinjaProjectRenderer.test_should_render_template_for.clean_architecture_config.yml.approved.txt +0 -33
  255. instant_python-0.14.0/test/render/approved_files/TestJinjaProjectRenderer.test_should_render_template_for.domain_driven_design_config.yml.approved.txt +0 -57
  256. instant_python-0.14.0/test/render/approved_files/TestJinjaProjectRenderer.test_should_render_template_for.received.txt +0 -33
  257. instant_python-0.14.0/test/render/approved_files/TestJinjaProjectRenderer.test_should_render_template_for.standard_project_with_dependency_config.yml.approved.txt +0 -26
  258. instant_python-0.14.0/test/render/approved_files/TestJinjaProjectRenderer.test_should_render_template_for.standard_project_with_git_config.yml.approved.txt +0 -30
  259. instant_python-0.14.0/test/render/resources/clean_architecture/main_structure.yml.j2 +0 -22
  260. instant_python-0.14.0/test/render/resources/clean_architecture_config.yml +0 -16
  261. instant_python-0.14.0/test/render/resources/custom_template.yml +0 -46
  262. instant_python-0.14.0/test/render/resources/domain_driven_design/main_structure.yml.j2 +0 -38
  263. instant_python-0.14.0/test/render/resources/domain_driven_design_config.yml +0 -19
  264. instant_python-0.14.0/test/render/resources/standard_project/main_structure.yml.j2 +0 -27
  265. instant_python-0.14.0/test/render/resources/standard_project_with_dependency_config.yml +0 -20
  266. instant_python-0.14.0/test/render/resources/standard_project_with_git_config.yml +0 -18
  267. instant_python-0.14.0/test/render/resources/test_template.j2 +0 -2
  268. instant_python-0.14.0/test/render/test_custom_project_renderer.py +0 -18
  269. instant_python-0.14.0/test/render/test_jinja_environment.py +0 -23
  270. instant_python-0.14.0/test/render/test_jinja_project_renderer.py +0 -36
  271. {instant_python-0.14.0 → instant_python-0.15.0}/.github/FUNDING.yml +0 -0
  272. {instant_python-0.14.0 → instant_python-0.15.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  273. {instant_python-0.14.0 → instant_python-0.15.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  274. {instant_python-0.14.0 → instant_python-0.15.0}/.github/actions/python_setup/action.yml +0 -0
  275. {instant_python-0.14.0 → instant_python-0.15.0}/.github/pull_request_template.md +0 -0
  276. {instant_python-0.14.0 → instant_python-0.15.0}/.github/workflows/ci.yml +0 -0
  277. {instant_python-0.14.0 → instant_python-0.15.0}/.github/workflows/pages.yml +0 -0
  278. {instant_python-0.14.0 → instant_python-0.15.0}/.github/workflows/release.yml +0 -0
  279. {instant_python-0.14.0 → instant_python-0.15.0}/.gitignore +0 -0
  280. {instant_python-0.14.0 → instant_python-0.15.0}/.pre-commit-config.yaml +0 -0
  281. {instant_python-0.14.0 → instant_python-0.15.0}/.python-version +0 -0
  282. {instant_python-0.14.0 → instant_python-0.15.0}/CITATION.cff +0 -0
  283. {instant_python-0.14.0 → instant_python-0.15.0}/LICENSE +0 -0
  284. {instant_python-0.14.0 → instant_python-0.15.0}/SECURITY.md +0 -0
  285. {instant_python-0.14.0 → instant_python-0.15.0}/codeql-config.yml +0 -0
  286. {instant_python-0.14.0 → instant_python-0.15.0}/docs/assets/favicon.svg +0 -0
  287. {instant_python-0.14.0 → instant_python-0.15.0}/docs/assets/logo.svg +0 -0
  288. {instant_python-0.14.0 → instant_python-0.15.0}/docs/changelog/.components/changelog_header.md.j2 +0 -0
  289. {instant_python-0.14.0 → instant_python-0.15.0}/docs/changelog/.components/changelog_init.md.j2 +0 -0
  290. {instant_python-0.14.0 → instant_python-0.15.0}/docs/changelog/.components/changelog_update.md.j2 +0 -0
  291. {instant_python-0.14.0 → instant_python-0.15.0}/docs/changelog/.components/changes.md.j2 +0 -0
  292. {instant_python-0.14.0 → instant_python-0.15.0}/docs/changelog/.components/first_release.md.j2 +0 -0
  293. {instant_python-0.14.0 → instant_python-0.15.0}/docs/changelog/.components/macros.md.j2 +0 -0
  294. {instant_python-0.14.0 → instant_python-0.15.0}/docs/changelog/.components/versioned_changes.md.j2 +0 -0
  295. {instant_python-0.14.0 → instant_python-0.15.0}/docs/changelog/.release_notes.md.j2 +0 -0
  296. {instant_python-0.14.0 → instant_python-0.15.0}/docs/changelog/CHANGELOG.md.j2 +0 -0
  297. {instant_python-0.14.0/docs/home → instant_python-0.15.0/docs/development}/contributing.md +0 -0
  298. {instant_python-0.14.0/docs/home → instant_python-0.15.0/docs/development}/releases.md +0 -0
  299. {instant_python-0.14.0/docs/home → instant_python-0.15.0/docs/development}/security.md +0 -0
  300. {instant_python-0.14.0 → instant_python-0.15.0}/docs/downloads_macro.py +0 -0
  301. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/__init__.py +0 -0
  302. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/cli/__init__.py +0 -0
  303. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/cli/cli.py +0 -0
  304. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/cli/instant_python_typer.py +0 -0
  305. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/__init__.py +0 -0
  306. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/application/__init__.py +0 -0
  307. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/delivery/__init__.py +0 -0
  308. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/domain/__init__.py +0 -0
  309. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/domain/question_wizard.py +0 -0
  310. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/infra/__init__.py +0 -0
  311. {instant_python-0.14.0/instant_python/config/infra/parser → instant_python-0.15.0/instant_python/config/infra/question_wizard}/__init__.py +0 -0
  312. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/infra/question_wizard/questionary_console_wizard.py +0 -0
  313. {instant_python-0.14.0/instant_python/config/infra/question_wizard → instant_python-0.15.0/instant_python/config/infra/question_wizard/step}/__init__.py +0 -0
  314. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/infra/question_wizard/step/dependencies_step.py +0 -0
  315. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/infra/question_wizard/step/general_step.py +0 -0
  316. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/infra/question_wizard/step/git_step.py +0 -0
  317. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/infra/question_wizard/step/questionary.py +0 -0
  318. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/infra/question_wizard/step/steps.py +0 -0
  319. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/config/infra/question_wizard/step/template_step.py +0 -0
  320. {instant_python-0.14.0/instant_python/config/infra/question_wizard/step → instant_python-0.15.0/instant_python/config/infra/writer}/__init__.py +0 -0
  321. {instant_python-0.14.0/instant_python/config/infra/writer → instant_python-0.15.0/instant_python/initialize}/__init__.py +0 -0
  322. {instant_python-0.14.0/instant_python/configuration → instant_python-0.15.0/instant_python/initialize/application}/__init__.py +0 -0
  323. {instant_python-0.14.0/instant_python/configuration/parser → instant_python-0.15.0/instant_python/initialize/delivery}/__init__.py +0 -0
  324. {instant_python-0.14.0/instant_python/dependency_manager → instant_python-0.15.0/instant_python/initialize/domain}/__init__.py +0 -0
  325. {instant_python-0.14.0/instant_python/formatter → instant_python-0.15.0/instant_python/initialize/infra}/__init__.py +0 -0
  326. {instant_python-0.14.0/instant_python/git → instant_python-0.15.0/instant_python/initialize/infra/env_manager}/__init__.py +0 -0
  327. {instant_python-0.14.0/instant_python/initialize → instant_python-0.15.0/instant_python/initialize/infra/formatter}/__init__.py +0 -0
  328. {instant_python-0.14.0/instant_python/initialize/application → instant_python-0.15.0/instant_python/initialize/infra/persistence}/__init__.py +0 -0
  329. {instant_python-0.14.0/instant_python/initialize/delivery → instant_python-0.15.0/instant_python/initialize/infra/renderer}/__init__.py +0 -0
  330. {instant_python-0.14.0/instant_python/initialize/domain → instant_python-0.15.0/instant_python/initialize/infra/version_control}/__init__.py +0 -0
  331. {instant_python-0.14.0/instant_python/initialize/infra → instant_python-0.15.0/instant_python/initialize/infra/writer}/__init__.py +0 -0
  332. {instant_python-0.14.0/instant_python/initialize/infra/persistence → instant_python-0.15.0/instant_python/shared}/__init__.py +0 -0
  333. {instant_python-0.14.0/instant_python/initialize/infra/renderer → instant_python-0.15.0/instant_python/shared/domain}/__init__.py +0 -0
  334. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/shared/supported_built_in_features.py +0 -0
  335. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/shared/supported_licenses.py +0 -0
  336. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/shared/supported_managers.py +0 -0
  337. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/shared/supported_python_versions.py +0 -0
  338. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/shared/supported_templates.py +0 -0
  339. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/.gitignore +0 -0
  340. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/.pre-commit-config.yml +0 -0
  341. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/.python-version +0 -0
  342. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/CITATION.cff +0 -0
  343. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/LICENSE +0 -0
  344. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/README.md +0 -0
  345. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/SECURITY.md +0 -0
  346. {instant_python-0.14.0/instant_python/project_creator → instant_python-0.15.0/instant_python/templates/boilerplate/event_bus}/__init__.py +0 -0
  347. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/domain_event.py +0 -0
  348. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/domain_event_json_serializer.py +0 -0
  349. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/event_bus.py +0 -0
  350. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/exchange_type.py +0 -0
  351. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_consumer.py +0 -0
  352. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_event_bus.py +0 -0
  353. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_settings.py +0 -0
  354. {instant_python-0.14.0/instant_python/render → instant_python-0.15.0/instant_python/templates/boilerplate/exceptions}/__init__.py +0 -0
  355. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/exceptions/base_error.py +0 -0
  356. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/exceptions/domain_error.py +0 -0
  357. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/exceptions/domain_event_type_not_found_error.py +0 -0
  358. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/exceptions/incorrect_value_type_error.py +0 -0
  359. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/exceptions/invalid_id_format_error.py +0 -0
  360. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/exceptions/invalid_negative_value_error.py +0 -0
  361. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/exceptions/rabbit_mq_connection_not_established_error.py +0 -0
  362. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/exceptions/required_value_error.py +0 -0
  363. {instant_python-0.14.0/instant_python/shared → instant_python-0.15.0/instant_python/templates/boilerplate/fastapi}/__init__.py +0 -0
  364. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/fastapi/application.py +0 -0
  365. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/fastapi/error_handlers.py +0 -0
  366. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/fastapi/error_response.py +0 -0
  367. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/fastapi/fastapi_log_middleware.py +0 -0
  368. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/fastapi/lifespan.py +0 -0
  369. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/fastapi/success_response.py +0 -0
  370. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/github/action.yml +0 -0
  371. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/github/bug_report.yml +0 -0
  372. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/github/ci.yml +0 -0
  373. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/github/feature_request.yml +0 -0
  374. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/github/release.yml +0 -0
  375. {instant_python-0.14.0/instant_python/templates/boilerplate/event_bus → instant_python-0.15.0/instant_python/templates/boilerplate/logger}/__init__.py +0 -0
  376. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/logger/file_logger.py +0 -0
  377. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/logger/file_rotating_handler.py +0 -0
  378. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/logger/json_formatter.py +0 -0
  379. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/mypy.ini +0 -0
  380. {instant_python-0.14.0/instant_python/templates/boilerplate/exceptions → instant_python-0.15.0/instant_python/templates/boilerplate/persistence}/__init__.py +0 -0
  381. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/alembic_migrator.py +0 -0
  382. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/async/README.md +0 -0
  383. {instant_python-0.14.0/instant_python/templates/boilerplate/fastapi → instant_python-0.15.0/instant_python/templates/boilerplate/persistence/async}/__init__.py +0 -0
  384. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/async/alembic.ini +0 -0
  385. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/async/async_engine_fixture.py +0 -0
  386. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/async/async_session.py +0 -0
  387. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/async/env.py +0 -0
  388. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/async/models_metadata.py +0 -0
  389. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/async/postgres_settings.py +0 -0
  390. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/async/script.py.mako +0 -0
  391. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/async/sqlalchemy_repository.py +0 -0
  392. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/base.py +0 -0
  393. {instant_python-0.14.0/instant_python/templates/boilerplate/logger → instant_python-0.15.0/instant_python/templates/boilerplate/persistence/synchronous}/__init__.py +0 -0
  394. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/synchronous/session_maker.py +0 -0
  395. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/persistence/synchronous/sqlalchemy_repository.py +0 -0
  396. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/pyproject.toml +0 -0
  397. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/pytest.ini +0 -0
  398. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/random_generator.py +0 -0
  399. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/add_dependency.py +0 -0
  400. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/create_aggregate.py +0 -0
  401. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/insert_template.py +0 -0
  402. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/integration.sh +0 -0
  403. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/local_setup.py +0 -0
  404. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/makefile +0 -0
  405. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/post-merge.py +0 -0
  406. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/pre-commit.py +0 -0
  407. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/pre-push.py +0 -0
  408. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/remove_dependency.py +0 -0
  409. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/scripts/unit.sh +0 -0
  410. {instant_python-0.14.0/instant_python/templates/boilerplate/persistence → instant_python-0.15.0/instant_python/templates/boilerplate/value_object}/__init__.py +0 -0
  411. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/aggregate.py +0 -0
  412. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/int_primitives_mother.py +0 -0
  413. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/int_value_object.py +0 -0
  414. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/string_primitives_mother.py +0 -0
  415. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/string_value_object.py +0 -0
  416. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/test_int_value_object.py +0 -0
  417. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/test_string_value_object.py +0 -0
  418. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/test_uuid_value_object.py +0 -0
  419. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/uuid.py +0 -0
  420. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/uuid_primitives_mother.py +0 -0
  421. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/validation.py +0 -0
  422. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/boilerplate/value_object/value_object.py +0 -0
  423. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/project_structure/domain_driven_design/bounded_context.yml.j2 +0 -0
  424. {instant_python-0.14.0 → instant_python-0.15.0}/instant_python/templates/project_structure/macros.j2 +0 -0
  425. {instant_python-0.14.0 → instant_python-0.15.0}/makefile +0 -0
  426. {instant_python-0.14.0 → instant_python-0.15.0}/mypy.ini +0 -0
  427. {instant_python-0.14.0 → instant_python-0.15.0}/scripts/add_dependency.py +0 -0
  428. {instant_python-0.14.0 → instant_python-0.15.0}/scripts/remove_dependency.py +0 -0
  429. {instant_python-0.14.0/instant_python/templates/boilerplate/persistence/async → instant_python-0.15.0/test}/__init__.py +0 -0
  430. {instant_python-0.14.0/instant_python/templates/boilerplate/persistence/synchronous → instant_python-0.15.0/test/config}/__init__.py +0 -0
  431. {instant_python-0.14.0/instant_python/templates/boilerplate/value_object → instant_python-0.15.0/test/config/application}/__init__.py +0 -0
  432. {instant_python-0.14.0/test → instant_python-0.15.0/test/config/infra}/__init__.py +0 -0
  433. {instant_python-0.14.0/test/config → instant_python-0.15.0/test/config/infra/writer}/__init__.py +0 -0
  434. {instant_python-0.14.0/test/config/application → instant_python-0.15.0/test/initialize}/__init__.py +0 -0
  435. {instant_python-0.14.0/test/config/domain → instant_python-0.15.0/test/initialize/application}/__init__.py +0 -0
  436. {instant_python-0.14.0/test/config/domain/mothers → instant_python-0.15.0/test/initialize/delivery}/__init__.py +0 -0
  437. {instant_python-0.14.0/test/config/infra/parser → instant_python-0.15.0/test/initialize/delivery}/approvaltests_config.json +0 -0
  438. /instant_python-0.14.0/test/initialize/delivery/approved_files/TestInitCli.test_initializes_project_with_general_section_combinations.approved.txt → /instant_python-0.15.0/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_general_section_combinations.approved.txt +0 -0
  439. /instant_python-0.14.0/test/initialize/delivery/approved_files/TestInitCli.test_initializes_project_with_git_section_combinations.approved.txt → /instant_python-0.15.0/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_git_section_combinations.approved.txt +0 -0
  440. /instant_python-0.14.0/test/initialize/delivery/approved_files/TestInitCli.test_should_initializes_project_with_predefined_dependencies_and_different_managers.approved.txt → /instant_python-0.15.0/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_predefined_dependencies_and_different_managers.approved.txt +0 -0
  441. {instant_python-0.14.0/test/config/infra → instant_python-0.15.0/test/initialize/domain}/__init__.py +0 -0
  442. {instant_python-0.14.0/test/config/infra/parser → instant_python-0.15.0/test/initialize/domain/mothers}/__init__.py +0 -0
  443. {instant_python-0.14.0/test/config/infra/parser/resources → instant_python-0.15.0/test/initialize/infra}/__init__.py +0 -0
  444. {instant_python-0.14.0/test/config/infra/writer → instant_python-0.15.0/test/initialize/infra/env_manager}/__init__.py +0 -0
  445. {instant_python-0.14.0/test/configuration → instant_python-0.15.0/test/initialize/infra/env_manager/mother}/__init__.py +0 -0
  446. {instant_python-0.14.0/test/configuration/parser → instant_python-0.15.0/test/initialize/infra/formatter}/__init__.py +0 -0
  447. {instant_python-0.14.0/test/configuration/parser/resources → instant_python-0.15.0/test/initialize/infra/persistence}/__init__.py +0 -0
  448. {instant_python-0.14.0/test/configuration/parser → instant_python-0.15.0/test/initialize/infra/persistence}/approvaltests_config.json +0 -0
  449. {instant_python-0.14.0/test/dependency_manager → instant_python-0.15.0/test/initialize/infra/renderer}/__init__.py +0 -0
  450. {instant_python-0.14.0/test/formatter → instant_python-0.15.0/test/initialize/infra/version_control}/__init__.py +0 -0
  451. {instant_python-0.14.0/test/git → instant_python-0.15.0/test/initialize/infra/writer}/__init__.py +0 -0
  452. {instant_python-0.14.0 → instant_python-0.15.0}/test/random_generator.py +0 -0
  453. {instant_python-0.14.0 → instant_python-0.15.0}/test/resources/base_ipy_config.yml +0 -0
  454. {instant_python-0.14.0 → instant_python-0.15.0}/test/resources/domain_error_template.py +0 -0
  455. {instant_python-0.14.0 → instant_python-0.15.0}/test/resources/hello_world.j2 +0 -0
  456. {instant_python-0.14.0/test/initialize → instant_python-0.15.0/test/shared}/__init__.py +0 -0
  457. {instant_python-0.14.0/test/initialize/application → instant_python-0.15.0/test/shared/domain}/__init__.py +0 -0
  458. {instant_python-0.14.0/test/initialize/delivery → instant_python-0.15.0/test/shared/domain/mothers}/__init__.py +0 -0
  459. {instant_python-0.14.0/test/initialize → instant_python-0.15.0/test}/utils.py +0 -0
  460. {instant_python-0.14.0 → instant_python-0.15.0}/tox.ini +0 -0
@@ -2,6 +2,447 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v0.15.0 (2025-11-10)
6
+
7
+ ### ✨ Features
8
+
9
+ - **initialize**: Modify how custom project structure is discover but not making compulsory create a
10
+ folder named 'custom'
11
+ ([`e35d882`](https://github.com/dimanu-py/instant-python/commit/e35d8825083c5fe1a542b6fb3d39b0a5c9dea828))
12
+
13
+ - **initialize**: Ensure presence of pyproject.toml file in project structure
14
+ ([`d677228`](https://github.com/dimanu-py/instant-python/commit/d677228541cf87838b899908c013ac4ff73f1d43))
15
+
16
+ - **shared**: Temporary remove source_path attribute in template section if custom template is
17
+ selected
18
+ ([`c6f9e0c`](https://github.com/dimanu-py/instant-python/commit/c6f9e0c9c4c6daa148e41ffdb6e353b1bb55e980))
19
+
20
+ - **initialize**: Modify 'move' method from yaml config repository to store config file always with
21
+ the name ipy.yml even if it's a file created by the user
22
+ ([`2e3d53f`](https://github.com/dimanu-py/instant-python/commit/2e3d53febea46247c0939aa61fb6c372eaec509e))
23
+
24
+ - **initialize**: Handle missing templates by setting content to None
25
+ ([`deb6195`](https://github.com/dimanu-py/instant-python/commit/deb61959f62184f7e7881eabf0d17d4cc4749344))
26
+
27
+ - **shared**: Prompt user for custom template file path when selecting custom template
28
+ ([`1b30673`](https://github.com/dimanu-py/instant-python/commit/1b3067327b20cc2937c932ab4f009730161bbba4))
29
+
30
+ - **shared**: Ensure source path is set for custom templates
31
+ ([`5f51c83`](https://github.com/dimanu-py/instant-python/commit/5f51c8300ad70439007b5a2e7c79eaf8532166b9))
32
+
33
+ - **shared**: Add source path attribute to template config object
34
+ ([`a3f5e40`](https://github.com/dimanu-py/instant-python/commit/a3f5e4066ffa8d14a220619f7c368ec75f7fbdc0))
35
+
36
+ - Delete old implementation for init command
37
+ ([`c99e43d`](https://github.com/dimanu-py/instant-python/commit/c99e43dbd1a3195b02e386f6876a8b7b70b85fdb))
38
+
39
+ - **initialize**: Update path parameters to use Path type for improved type safety
40
+ ([`8dc2bc2`](https://github.com/dimanu-py/instant-python/commit/8dc2bc21058bfbd803407639f7bec0cb06f9689b))
41
+
42
+ - **initialize**: Implement write method in YamlConfigRepository to move config file
43
+ ([`39f6c88`](https://github.com/dimanu-py/instant-python/commit/39f6c88b856709c9e9a0b7c6c80e6f2f67321310))
44
+
45
+ - **initialize**: Remove config parameter from ProjectInitializer execute method
46
+ ([`459c8c2`](https://github.com/dimanu-py/instant-python/commit/459c8c266135dc041d5a2af13ca13661dafb7b5e))
47
+
48
+ - **initialize**: Invoke repository write method in ProjectInitializer
49
+ ([`20d1c1d`](https://github.com/dimanu-py/instant-python/commit/20d1c1dc027fb641a346739c95c563e4e679bbf3))
50
+
51
+ - **initialize**: Add config_path parameter to ProjectInitializer execute method
52
+ ([`fa92d33`](https://github.com/dimanu-py/instant-python/commit/fa92d33f6789b546c0287571fe79c17fc89cb164))
53
+
54
+ - **repository**: Add write method to ConfigRepository interface
55
+ ([`04ab916`](https://github.com/dimanu-py/instant-python/commit/04ab916492accc666a763adba74e213223524332))
56
+
57
+ - **config**: Update ConfigSchema class to allow instantiation from primitives and validate content
58
+ structure to avoid inconsistent data
59
+ ([`a6dc931`](https://github.com/dimanu-py/instant-python/commit/a6dc9311f1d363294ee1a35e5a08844b0fd818d6))
60
+
61
+ - **initialize**: Add 'execute_or_raise' method to SystemConsole to encapsulate command execution
62
+ and error handling when needed
63
+ ([`87f2b6f`](https://github.com/dimanu-py/instant-python/commit/87f2b6ff55bf0d26176b5d842cf9efba549d8844))
64
+
65
+ - **initialize**: Add property to check if version control needs initialization
66
+ ([`ac41ab0`](https://github.com/dimanu-py/instant-python/commit/ac41ab07d407193f579cb5f6e3d9067d298822ba))
67
+
68
+ - **initialize**: Conditionally initialize git repository based on config setting
69
+ ([`187f334`](https://github.com/dimanu-py/instant-python/commit/187f33432b4300ff97dfa290a94ba0e152035888))
70
+
71
+ - **initialize**: Integrate version control setup in ProjectInitializer
72
+ ([`0a706c2`](https://github.com/dimanu-py/instant-python/commit/0a706c2b020821718638d62b15fa8ac7bda0f17c))
73
+
74
+ - **initialize**: Inject VersionControlConfigurer into ProjectInitializer
75
+ ([`5cf1669`](https://github.com/dimanu-py/instant-python/commit/5cf16697aa9864019aa8f7958fc53ffb0d13b620))
76
+
77
+ - **initialize**: Add abstract VersionControlConfigurer class for git configuration setup
78
+ ([`43a24a5`](https://github.com/dimanu-py/instant-python/commit/43a24a58d7751d1a03b410592fcfc8541a1ba3f7))
79
+
80
+ - **initialize**: Add abstract ProjectFormatter class for project formatting
81
+ ([`ab8c177`](https://github.com/dimanu-py/instant-python/commit/ab8c1777ae31bc9673be26adefd6354f5db71036))
82
+
83
+ - **initialize**: Add error handling for command execution in RuffProjectFormatter
84
+ ([`2bc7b2d`](https://github.com/dimanu-py/instant-python/commit/2bc7b2d58fa776ff0a0e69872f25babccadd39b6))
85
+
86
+ - **initialize**: Call formatter after project configuration for improved output formatting
87
+ ([`7c467cd`](https://github.com/dimanu-py/instant-python/commit/7c467cd72bc578ee2b6c2c21fa8d7925dd7d1efa))
88
+
89
+ - **initialize**: Use console when is injected to install uv
90
+ ([`8feeb28`](https://github.com/dimanu-py/instant-python/commit/8feeb28e8a015c2aac625b59afb4d15ce0b11670))
91
+
92
+ - **initialize**: Use console when is injected to install dependencies
93
+ ([`e74c046`](https://github.com/dimanu-py/instant-python/commit/e74c0464bfaeeeac7213de10bff99cbe91200e78))
94
+
95
+ - **initialize**: Use console when is injected to create virtual environment
96
+ ([`38f85ab`](https://github.com/dimanu-py/instant-python/commit/38f85ab218c16d7537e80c1ad8bf4cf2fb92d784))
97
+
98
+ - **initialize**: Use console when is injected to install python version
99
+ ([`8eb81e4`](https://github.com/dimanu-py/instant-python/commit/8eb81e407c372c603be3c68ae79687afd6eaaace))
100
+
101
+ - **initialize**: Use console when is injected to check if uv has been installed
102
+ ([`f202a3d`](https://github.com/dimanu-py/instant-python/commit/f202a3d97056eb81b48ef356b84a98106de40013))
103
+
104
+ - **initialize**: Inject system console to uv manager
105
+ ([`a5b6dae`](https://github.com/dimanu-py/instant-python/commit/a5b6daedc080276f8c39aa82d67a7b0df2982dbd))
106
+
107
+ - **initialize**: Handle unexpected errors during command execution
108
+ ([`951398c`](https://github.com/dimanu-py/instant-python/commit/951398c2a6ea07848c5e7bc98d734df4b704ee33))
109
+
110
+ - **initialize**: Add method to CommandExecutionResult to know if it has succeeded or not
111
+ ([`6dd97dc`](https://github.com/dimanu-py/instant-python/commit/6dd97dc085f4d1c254ffdf4b029b6af1efb59ca8))
112
+
113
+ - **initialize**: Implement command execution using subprocess
114
+ ([`1bad062`](https://github.com/dimanu-py/instant-python/commit/1bad062dcac0f61aa2167d82bd34e96cee5d306a))
115
+
116
+ - **initialize**: Modify EnvManager interface to adhere to previous DependencyManager manager to
117
+ keep the same behavior until refactor
118
+ ([`09d68fc`](https://github.com/dimanu-py/instant-python/commit/09d68fcdfbd630054b8b42d3bcc96dbfd7a2e79b))
119
+
120
+ - **initialize**: Integrate EnvManager into ProjectInitializer for environment setup
121
+ ([`e307135`](https://github.com/dimanu-py/instant-python/commit/e3071354d0bef7316cd5b9d1052f9870b0d13783))
122
+
123
+ - **initialize**: Introduce abstract Node class with create method for extensibility
124
+ ([`8fbde36`](https://github.com/dimanu-py/instant-python/commit/8fbde36ab47a7ece26d79377af13229926d603e6))
125
+
126
+ - **initialize**: Implement directory and file creation methods in FileSystemNodeWriter
127
+ ([`126f87c`](https://github.com/dimanu-py/instant-python/commit/126f87c8f202d4d1cfaa3c56742290322321a9f8))
128
+
129
+ - **initialize**: Add FileSystemNodeWriter for directory and file creation
130
+ ([`6d555da`](https://github.com/dimanu-py/instant-python/commit/6d555da88f086f05457b7ddd4a3a4f5fd6c415d2))
131
+
132
+ - **initialize**: Implement recursive creation of child nodes in directory
133
+ ([`94a0a46`](https://github.com/dimanu-py/instant-python/commit/94a0a46e3b1e9c8639facd159b59108f8fcc7de6))
134
+
135
+ - **initialize**: Add support for creating __init__.py in Python modules
136
+ ([`45d77c2`](https://github.com/dimanu-py/instant-python/commit/45d77c2a91fb7e1c120f5bfc8a0debc274cbe0af))
137
+
138
+ - **initialize**: Add create method to handle directory creation with NodeWriter
139
+ ([`f97ebb1`](https://github.com/dimanu-py/instant-python/commit/f97ebb185dd43309e4441fcfcf3920de455f2efc))
140
+
141
+ - **initialize**: Add create method to handle file creation using NodeWriter
142
+ ([`dd741c4`](https://github.com/dimanu-py/instant-python/commit/dd741c4a44a4092caa3a78c05802d99ff78de2eb))
143
+
144
+ - **initialize**: Create abstract base class for file and directory creation
145
+ ([`339ca96`](https://github.com/dimanu-py/instant-python/commit/339ca961bb4aab8f1a492ac98c02a85116bb4f6a))
146
+
147
+ - **initialize**: Add support for creating files in the file system
148
+ ([`7845c4d`](https://github.com/dimanu-py/instant-python/commit/7845c4d47188c0e13fbc5796042921afb252373e))
149
+
150
+ - **writer**: Implement write method to create directories and __init__.py for Python modules
151
+ ([`d720f7d`](https://github.com/dimanu-py/instant-python/commit/d720f7db78d24e273daa0808cf9b5d0af65e0889))
152
+
153
+ - **initialize**: Modify project initializer use case to receive the folder where the project will
154
+ be created
155
+ ([`b507bc4`](https://github.com/dimanu-py/instant-python/commit/b507bc4d263ccdb1db97bbc5e9b3bc6a2fa17b9f))
156
+
157
+ - **initialize**: Write project structure using writer
158
+ ([`c9952ba`](https://github.com/dimanu-py/instant-python/commit/c9952baa7d070eb84c1365153ffcddde91d65299))
159
+
160
+ - **initialize**: Add ProjectWriter dependency to ProjectInitializer
161
+ ([`16a645c`](https://github.com/dimanu-py/instant-python/commit/16a645c6560e4315de1f52413ce51eba12cd746c))
162
+
163
+ - **initialize**: Make Directory iterable through iteration of its children
164
+ ([`0c4bf05`](https://github.com/dimanu-py/instant-python/commit/0c4bf05f5c122bafca870a42f856ef166873d390))
165
+
166
+ - **initialize**: Add flatten method to ProjectStructure for iterating through nodes
167
+ ([`724b96c`](https://github.com/dimanu-py/instant-python/commit/724b96cfa6dff7bdd00599787306c57be0fa660d))
168
+
169
+ - **initialize**: Modify ProjectRenderer port and adapter signatures to return a ProjectStructure
170
+ ([`b0c251f`](https://github.com/dimanu-py/instant-python/commit/b0c251f7df1820240b81ef74375c808d9ee34cef))
171
+
172
+ - **initialize**: Add __iter__ and __len__ methods to ProjectStructure class to be able to iterate
173
+ through them
174
+ ([`d733664`](https://github.com/dimanu-py/instant-python/commit/d733664053ee8f13e0da2756659415d8cf6e7091))
175
+
176
+ - **initialize**: Implement ProjectStructure class for building project nodes
177
+ ([`a8a36c2`](https://github.com/dimanu-py/instant-python/commit/a8a36c29a92d847e59b81c043bb355cfaf9dbc11))
178
+
179
+ - **initialize**: Add Directory class with path building and representation methods
180
+ ([`bdfcd14`](https://github.com/dimanu-py/instant-python/commit/bdfcd143205a16da9f2ae5d0a8a961b78f052180))
181
+
182
+ - **initialize**: Add __repr__ method to File class
183
+ ([`2e88d75`](https://github.com/dimanu-py/instant-python/commit/2e88d75f678d5d422efed04f836723c751431363))
184
+
185
+ ### 🪲 Bug Fixes
186
+
187
+ - **initialize**: Add pyproject file to standard template in acceptance tests
188
+ ([`1a9e6e3`](https://github.com/dimanu-py/instant-python/commit/1a9e6e3531b07d2d865a8899b27ebcf26ccc021e))
189
+
190
+ - **initialize**: Use file name and extension as default template name if not provided in file node
191
+ ([`e07a2cb`](https://github.com/dimanu-py/instant-python/commit/e07a2cb6129aea90f4720b7268f1b647ec544e24))
192
+
193
+ - **templates**: Correct template path for value_object in YAML configuration
194
+ ([`cd4d6a4`](https://github.com/dimanu-py/instant-python/commit/cd4d6a4b956adb7f82131512b5e39f6d15a46d83))
195
+
196
+ - **templates**: Write correct template name for python version file
197
+ ([`b6adb23`](https://github.com/dimanu-py/instant-python/commit/b6adb236ce1cea9b021f2b4296321c04d5c87ecd))
198
+
199
+ - **templates**: Remove 'project_structure/' prefix from all templates
200
+ ([`60cecf0`](https://github.com/dimanu-py/instant-python/commit/60cecf08ea9592a3733aa8511343acb055562024))
201
+
202
+ - **initialize**: Introduce UnknownTemplateError
203
+ ([`d507ed7`](https://github.com/dimanu-py/instant-python/commit/d507ed726ccc4cddc5be75a7dd68a28d644c06e1))
204
+
205
+ - **initialize**: Introduce UnknownNodeTypeError
206
+ ([`b155055`](https://github.com/dimanu-py/instant-python/commit/b1550557508b6af6b8377530c1e000bc0bf7beb0))
207
+
208
+ - **templates**: Format templates correctly so ruff formatter does not fail
209
+ ([`30bb6b1`](https://github.com/dimanu-py/instant-python/commit/30bb6b1cbeaf5969eace22f40997af95db1bfd4a))
210
+
211
+ - **initialize**: Improve error message formatting for command execution failures
212
+ ([`d8bfc8d`](https://github.com/dimanu-py/instant-python/commit/d8bfc8dcafb8d6a35133eb4c138e1c80fbd60ae9))
213
+
214
+ - **initialize**: Correct failing uv test due to interface change
215
+ ([`a65910f`](https://github.com/dimanu-py/instant-python/commit/a65910f7a207c96d23f75077c479d600756ca357))
216
+
217
+ - **initialize**: Update import of NodeWriter to be conditional for type checking
218
+ ([`1afe2ad`](https://github.com/dimanu-py/instant-python/commit/1afe2adc7d2d50afcd3838d5e3e4a37f504a30cb))
219
+
220
+ ### ⚙️ Build System
221
+
222
+ - Fix misspelling in pyproject.toml pytest config section
223
+ ([`84cf27c`](https://github.com/dimanu-py/instant-python/commit/84cf27ce01d6aca47f79f90e572f6220c3e62b1e))
224
+
225
+ ### ♻️ Refactoring
226
+
227
+ - **shared**: Remove unused methods from ConfigSchema class
228
+ ([`5ef231f`](https://github.com/dimanu-py/instant-python/commit/5ef231fd3d36ce1801cdf4d0c9d84d0e9af4b0a9))
229
+
230
+ - Inline all messages in call to super method in application errors
231
+ ([`3980af5`](https://github.com/dimanu-py/instant-python/commit/3980af5bc6252bf036838c431d2ac456d548105a))
232
+
233
+ - **shared**: Delete error types enum
234
+ ([`9ef7981`](https://github.com/dimanu-py/instant-python/commit/9ef798172abce517ddec1bcfa9e2558657ea0642))
235
+
236
+ - **shared**: Remove 'type' attribute in application errors as it's not used
237
+ ([`00674fa`](https://github.com/dimanu-py/instant-python/commit/00674fa87a429330c1ee1de3d36d19f016dd3a70))
238
+
239
+ - **initialize**: Streamline project setup process by modularizing methods
240
+ ([`f9f0632`](https://github.com/dimanu-py/instant-python/commit/f9f063286bfaf95b29e6fe1f1b7f13a2f81f3d21))
241
+
242
+ - **config**: Move ConfigSchema domain object to shared folder
243
+ ([`fbd8bd0`](https://github.com/dimanu-py/instant-python/commit/fbd8bd0febca0f1890e991f364429e4036f64e87))
244
+
245
+ - **initialize**: Delete config reader use case
246
+ ([`2bfe0cc`](https://github.com/dimanu-py/instant-python/commit/2bfe0cc824ca166ea8130ed9baac24861dd2ff96))
247
+
248
+ - **initialize**: Rename destination_path to base_directory for clarity
249
+ ([`bc96230`](https://github.com/dimanu-py/instant-python/commit/bc96230ecffab2407fd68c12a2e57f5107283032))
250
+
251
+ - **cli**: Update working directory handling for project initialization
252
+ ([`b9025e8`](https://github.com/dimanu-py/instant-python/commit/b9025e8a359841388d220caac691bca32f23be93))
253
+
254
+ - **initialize**: Add custom error for missing configuration files
255
+ ([`1daec9d`](https://github.com/dimanu-py/instant-python/commit/1daec9dcc27a456022fea9e09cc7d3cb299bf760))
256
+
257
+ - **initialize**: Rename write method to move for clarity
258
+ ([`f29dbaa`](https://github.com/dimanu-py/instant-python/commit/f29dbaabda7caccbd42ea8a0a21413685ad54410))
259
+
260
+ - **initialize**: Allow optional user template path in initializer
261
+ ([`6b722e2`](https://github.com/dimanu-py/instant-python/commit/6b722e2cc852d1d40b9de4e57a5aa9e72566751c))
262
+
263
+ - **initialize**: Streamline project initialization by integrating ProjectInitializer and
264
+ simplifying config handling
265
+ ([`791a841`](https://github.com/dimanu-py/instant-python/commit/791a8410fe8ca06e808d6408f72f40c65989cc73))
266
+
267
+ - **templates**: Add 'template' field to all templates structures
268
+ ([`745bcd7`](https://github.com/dimanu-py/instant-python/commit/745bcd76ee6efdf5a400d20b59e08d431184fcd8))
269
+
270
+ - **initialize**: Remove repository dependency and update execute method signature
271
+ ([`148d3bb`](https://github.com/dimanu-py/instant-python/commit/148d3bb4afed116be36cc71066562f16fe7f1d5d))
272
+
273
+ - **initialize**: Simplify project creation by removing custom template option
274
+ ([`ca697d0`](https://github.com/dimanu-py/instant-python/commit/ca697d0a9d1b58779edc114b14530fca80e2bf04))
275
+
276
+ - **initialize**: Change config_file_path type to str and convert to Path in execute method
277
+ ([`961b162`](https://github.com/dimanu-py/instant-python/commit/961b162df244136d0771edb18897474038782458))
278
+
279
+ - **repository**: Rename config_repository to yaml_config_repository and update imports
280
+ ([`688937a`](https://github.com/dimanu-py/instant-python/commit/688937a66f1caa239298509f1efbd9f7a86caa23))
281
+
282
+ - **config**: Update ConfigRepository to return ConfigSchema instead of dict
283
+ ([`4d5e4ed`](https://github.com/dimanu-py/instant-python/commit/4d5e4ed1e6fa7584f5c4e6dbe27e5bb33223ba25))
284
+
285
+ - **initialize**: Add ConfigRepository dependency to ProjectInitializer
286
+ ([`440a420`](https://github.com/dimanu-py/instant-python/commit/440a420143b5f5a21777f8ad036a8e88c89c1221))
287
+
288
+ - **config**: Remove parser port and adapter now that config schema validates structure
289
+ ([`d228200`](https://github.com/dimanu-py/instant-python/commit/d22820066f8437f87e9eab4c9e79e66a9ae2a54a))
290
+
291
+ - **initialize**: Simplify ConfigReader by removing parser dependency and using ConfigSchema for
292
+ configuration parsing
293
+ ([`ed8b871`](https://github.com/dimanu-py/instant-python/commit/ed8b871dd15b2bd7944315d996c4ebecd2ad2f55))
294
+
295
+ - **config**: Modify config generator to instantiate a ConfigSchema instead of using parser
296
+ ([`4ac7e15`](https://github.com/dimanu-py/instant-python/commit/4ac7e158bb812c413927e5844f10d2ce19385fcd))
297
+
298
+ - **config**: Move ConfigKeyNotPresent and EmptyConfigurationNotAllowed to config_schema.py
299
+ ([`0ecb482`](https://github.com/dimanu-py/instant-python/commit/0ecb48244e31c3b8b7c7f27bb7f90e6d43bbb271))
300
+
301
+ - **initialize**: Replace command execution with execute_or_raise for improved error handling in pdm
302
+ env manager
303
+ ([`4903ece`](https://github.com/dimanu-py/instant-python/commit/4903ece3c63a9485d01ea8086400b3799b4d7db2))
304
+
305
+ - **initialize**: Replace command execution with execute_or_raise for improved error handling in uv
306
+ env manager
307
+ ([`2972f57`](https://github.com/dimanu-py/instant-python/commit/2972f57083c8fa8e9e3ce01f341f69a2698d5d00))
308
+
309
+ - **initialize**: Replace command execution with execute_or_raise for improved error handling
310
+ ([`506cd56`](https://github.com/dimanu-py/instant-python/commit/506cd561d2be59e537a46d46019b55fe1b4ca0a4))
311
+
312
+ - **initialize**: Modify GitConfigurer internal methods to use 'execute_or_raise' from console for
313
+ those commands that can fail
314
+ ([`3c18406`](https://github.com/dimanu-py/instant-python/commit/3c18406d27da61b4633f5a239a5540468aaf6514))
315
+
316
+ - **initialize**: Inject console into GitConfigurer and update setup method
317
+ ([`551419c`](https://github.com/dimanu-py/instant-python/commit/551419c35e4070c2477ac1767110989611ab132a))
318
+
319
+ - **initialize**: Remove project_directory parameter from GitConfigurer
320
+ ([`d376364`](https://github.com/dimanu-py/instant-python/commit/d37636439f2ed519a40ff5037b4914f02bc245dd))
321
+
322
+ - **initialize**: Remove unused _run_command method from GitConfigurer
323
+ ([`ac76479`](https://github.com/dimanu-py/instant-python/commit/ac76479eb0e3a116bcf2806447c17b294ac675c2))
324
+
325
+ - **initialize**: Streamline command execution by removing console checks in GitConfigurer methods
326
+ ([`cd88a92`](https://github.com/dimanu-py/instant-python/commit/cd88a9233da914e6399ca200c446e146884e4eff))
327
+
328
+ - **initialize**: Use console when is injected to execute git commands
329
+ ([`1299f0a`](https://github.com/dimanu-py/instant-python/commit/1299f0a6483342cfd8cf329ed754a8b5bc14f2ad))
330
+
331
+ - **initialize**: Add console parameter to GitConfigurer constructor
332
+ ([`4f9e9e9`](https://github.com/dimanu-py/instant-python/commit/4f9e9e9baa4aef3b796c7037f8b1191357f11063))
333
+
334
+ - **initialize**: Rename setup_repository to setup and update parameter naming
335
+ ([`4bff249`](https://github.com/dimanu-py/instant-python/commit/4bff249562649645babb821ae66061346ef07847))
336
+
337
+ - **initialize**: Reorganize git configurer imports and file structure
338
+ ([`e894a87`](https://github.com/dimanu-py/instant-python/commit/e894a87b899481a5e484c905dfafa61f1720ccaa))
339
+
340
+ - **initialize**: Make RuffProjectFormatter inherit from ProjectFormatter
341
+ ([`278b16e`](https://github.com/dimanu-py/instant-python/commit/278b16e89344f8159f2663868c4dd4383776d2dc))
342
+
343
+ - **initialize**: Reorganize CommandExecutionError import and remove redundant definitions
344
+ ([`b8f1074`](https://github.com/dimanu-py/instant-python/commit/b8f1074e20cf2900b5fe6a69ad32a857f5b50e8d))
345
+
346
+ - **initialize**: Inject console into RuffProjectFormatter
347
+ ([`4e147b7`](https://github.com/dimanu-py/instant-python/commit/4e147b788411ef67c6bd036d05129f2746807237))
348
+
349
+ - **initialize**: Remove project_directory parameter from RuffProjectFormatter
350
+ ([`0a6d292`](https://github.com/dimanu-py/instant-python/commit/0a6d292de9bb733b3d67260c264a4c004410763b))
351
+
352
+ - **initialize**: Use console when is injected to run format command
353
+ ([`f87905c`](https://github.com/dimanu-py/instant-python/commit/f87905cfd83472e4bc299479272a3740fabfb9ce))
354
+
355
+ - **formatter**: Add console parameter to RuffProjectFormatter for enhanced flexibility
356
+ ([`b741778`](https://github.com/dimanu-py/instant-python/commit/b7417781d08f39e0543aafb398eab92aa26417f5))
357
+
358
+ - **initialize**: Rename ProjectFormatter to UvxProjectFormatter and update references
359
+ ([`bf3078c`](https://github.com/dimanu-py/instant-python/commit/bf3078c04f85cc58dedea911ab0ff0283aeeac4d))
360
+
361
+ - **initialize**: Move ProjectFormatter to initialize.infra for better organization
362
+ ([`8be7870`](https://github.com/dimanu-py/instant-python/commit/8be787092f02ada1584c251332c6ab5452e5f909))
363
+
364
+ - **initialize**: Add ProjectFormatter to ProjectInitializer for enhanced project formatting
365
+ ([`2603d66`](https://github.com/dimanu-py/instant-python/commit/2603d665c75a5618416941086c014ee2034126ad))
366
+
367
+ - **initialize**: Inject console instance into env manager factory instead of passing project folder
368
+ path
369
+ ([`bc695ef`](https://github.com/dimanu-py/instant-python/commit/bc695eff244709a8fdd6843e7b0afcb1e1e5a969))
370
+
371
+ - **initialize**: Remove 'project_directory' attribute from env managers as is console who executes
372
+ the commands
373
+ ([`327922f`](https://github.com/dimanu-py/instant-python/commit/327922f9d6bab25f2cce1e475350f560d13dbfe2))
374
+
375
+ - **initialize**: Replace subprocess calls with SystemConsole for command execution in pdm env
376
+ manager
377
+ ([`fba2167`](https://github.com/dimanu-py/instant-python/commit/fba2167a5210ff7ed32f24097344509e74cd4a10))
378
+
379
+ - **initialize**: Extract method to encapsulate all the logic executed to install one dependency
380
+ ([`750f7e7`](https://github.com/dimanu-py/instant-python/commit/750f7e785776e812e115b1cf8ccd75d5976aef1c))
381
+
382
+ - **initialize**: Extract method for raising command execution error
383
+ ([`02edb57`](https://github.com/dimanu-py/instant-python/commit/02edb57777f0d3037db96e7b17e5c526d281856f))
384
+
385
+ - **initialize**: Remove unused subprocess command execution method
386
+ ([`380bb4f`](https://github.com/dimanu-py/instant-python/commit/380bb4fc78ff042bcd82d50e5032ec8743ceb70c))
387
+
388
+ - **initialize**: Simplify setup method by removing unnecessary try-except block
389
+ ([`88bb72a`](https://github.com/dimanu-py/instant-python/commit/88bb72aa61ed4e3a006ad33a222713fac19ebcd3))
390
+
391
+ - **initialize**: Clean up UvEnvManager removing old implementation that run directly commands in
392
+ the console
393
+ ([`699db31`](https://github.com/dimanu-py/instant-python/commit/699db31414748d6e428bbae7f1dc8377ec8c0936))
394
+
395
+ - **initialize**: Pull down _run_command and attributes from EnvManager to leave it as a pure
396
+ interface and begin refactor to inject SystemConsole
397
+ ([`b197e68`](https://github.com/dimanu-py/instant-python/commit/b197e68b622a719ac13c5ed63c67dbd71ee4fcd3))
398
+
399
+ - **initialize**: Extract command execution method to run commands
400
+ ([`1753fd4`](https://github.com/dimanu-py/instant-python/commit/1753fd40e05f984be3e5943bd1649c2e1312ce13))
401
+
402
+ - **initialize**: Enhance error message for unknown dependency managers
403
+ ([`e1dcb29`](https://github.com/dimanu-py/instant-python/commit/e1dcb290a70b7999b4b57dc34017671b4eedfcd2))
404
+
405
+ - **dependency-manager**: Remove old files for dependency manager concept
406
+ ([`41b2558`](https://github.com/dimanu-py/instant-python/commit/41b255870f8138e3abcd7f71e68821348f364a33))
407
+
408
+ - **initialize**: Move previous implementation for dependencies managers to env manager concept in
409
+ new initialize command architecture
410
+ ([`aacc3d3`](https://github.com/dimanu-py/instant-python/commit/aacc3d3d4e864be902d732d6080d78da7b453bae))
411
+
412
+ - **initialize**: Remove config parameter from write method in ProjectWriter and
413
+ FileSystemProjectWriter
414
+ ([`d30d142`](https://github.com/dimanu-py/instant-python/commit/d30d142b68e80f2459a80a64d358485b972ec65f))
415
+
416
+ - **initialize**: Convert File and Directory classes to inherit from Node
417
+ ([`6abad70`](https://github.com/dimanu-py/instant-python/commit/6abad7077d45d212d070683ecb5c15ae0ffc3073))
418
+
419
+ - **initialize**: Rename nodes module to node and update imports
420
+ ([`f91b46c`](https://github.com/dimanu-py/instant-python/commit/f91b46c0cfe59949e51ee274eb693766126694e1))
421
+
422
+ - **initialize**: Simplify node writing logic by delegating to node's create method
423
+ ([`ad2b780`](https://github.com/dimanu-py/instant-python/commit/ad2b78082da62cbb6b2fbed01194f86cea23604a))
424
+
425
+ - **initialize**: Rename build_path_for to _build_path_for and update create method
426
+ ([`5fc167d`](https://github.com/dimanu-py/instant-python/commit/5fc167de71228d2e2003336bed8c8cc2a33d5654))
427
+
428
+ - **initialize**: Convert 'build_path_for' method in File to protected as now it wont be accessed
429
+ from outside
430
+ ([`f211a85`](https://github.com/dimanu-py/instant-python/commit/f211a857047072f33575406da612463142637bf4))
431
+
432
+ - **initialize**: Build path for file and directory using Path instead of string
433
+ ([`a0ca50c`](https://github.com/dimanu-py/instant-python/commit/a0ca50c0fe6e36374bd0b481b756f7c00ffcf126))
434
+
435
+ - **initialize**: Update import statement for NodeType in jinja_project_renderer.py
436
+ ([`6c1531c`](https://github.com/dimanu-py/instant-python/commit/6c1531c43899c9f82d027c2b12d9bcbaeaf938a9))
437
+
438
+ - **initialize**: Update jinja project renderer to return ProjectStructure using named constructor
439
+ ([`6e20b78`](https://github.com/dimanu-py/instant-python/commit/6e20b78fe29767f70ea95a0a3516239b611d80e5))
440
+
441
+ - **initialize**: Modify project structure constructor to receive the list of Nodes and implement a
442
+ named constructor to build the nodes from raw structure
443
+ ([`2eeba6f`](https://github.com/dimanu-py/instant-python/commit/2eeba6fbb87186c039a3852ae5d1fd81a9f5698c))
444
+
445
+
5
446
  ## v0.14.0 (2025-11-03)
6
447
 
7
448
  ### ✨ Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: instant-python
3
- Version: 0.14.0
3
+ Version: 0.15.0
4
4
  Summary: Instant boilerplate generation for Python projects
5
5
  Project-URL: documentation, https://dimanu-py.github.io/instant-python/
6
6
  Project-URL: repository, https://github.com/dimanu-py/instant-python/
@@ -238,20 +238,12 @@ Description-Content-Type: text/markdown
238
238
  <a href="https://dimanu-py.github.io/instant-python/examples/configuration/">Examples</a>&nbsp;&nbsp;•&nbsp;
239
239
  <a href="https://dimanu-py.github.io/instant-python/home/contributing/">Contributing</a>
240
240
  </p>
241
- <p align="center">
242
- <img
243
- src="https://github.com/user-attachments/assets/132513c0-e472-4523-a0fd-c27b70dfd78a"
244
- alt="instant-python-demo"
245
- width="80%"
246
- />
247
- <br>
248
- </p>
249
241
 
250
242
  <div align="center"><table><tr><td>
251
243
  <b>Instant Python</b> replaces extensive manual setup with a simple command to get started quickly. Its motivation is to emulate
252
244
  commands like `ng new` or `create-react-app`, but for Python projects.
253
245
 
254
- <br><br>
246
+ <br>
255
247
 
256
248
  <b>Why use Instant Python?</b> Generating your Python project with Instant Python lets you:
257
249
 
@@ -267,38 +259,42 @@ commands like `ng new` or `create-react-app`, but for Python projects.
267
259
 
268
260
  </td></tr></table></div>
269
261
 
270
- ## Documentation
262
+ ## Navigation Guide
271
263
 
272
- This section provides a high-level overview of the `instant-python` library, its features, and how to get started.
273
- For detailed instructions and examples, please refer to the [full Instant Python documentation](https://dimanu-py.github.io/instant-python/home/).
264
+ This section provides a high-level overview of the `instant-python` documentation
265
+ so can quickly find what you need.
274
266
 
275
267
  - [Installation](https://dimanu-py.github.io/instant-python/home/#installation)
276
268
  - [Getting Started](https://dimanu-py.github.io/instant-python/home/getting_started/)
277
269
  - [Examples](https://dimanu-py.github.io/instant-python/examples/configuration/)
278
270
 
279
- ### Need help?
271
+ ### For Users
280
272
 
281
- - Join a discussion 💬 on [GitHub Discussions]
282
- - [Raise an issue][GitHub Issues] on GitHub
273
+ - [Installation]: begin by learning how to install `instant-python`.
274
+ - [First Steps]: get started with the basic features of `instant-python`.
275
+ - [Advanced Usage and Customization]: explore advanced features and customization options.
283
276
 
284
- [GitHub Discussions]: https://github.com/dimanu-py/instant-python/discussions
285
- [GitHub Issues]: https://github.com/dimanu-py/instant-python/issues
277
+ [Installation]: https://dimanu-py.github.io/instant-python/getting_started/installation/
278
+ [First Steps]: https://dimanu-py.github.io/instant-python/getting_started/first_steps/
279
+ [Advanced Usage and Customization]: https://dimanu-py.github.io/instant-python/guide/
286
280
 
287
- ## Installation
281
+ ### For Developers
288
282
 
289
- The latest version of `instant-python` can be installed from PyPI:
283
+ - [Contributing]: learn how to contribute to `instant-python` development.
284
+ - [Releases]: understand our release process and versioning.
285
+ - [Security]: understand our security policies and reporting procedures.
290
286
 
291
- ```bash
292
- pip install instant-python
293
- ```
287
+ [Contributing]: https://dimanu-py.github.io/instant-python/development/contributing/
288
+ [Releases]: https://dimanu-py.github.io/instant-python/development/releases/
289
+ [Security]: https://dimanu-py.github.io/instant-python/development/security/
294
290
 
295
- > [!TIP]
296
- > We highly recommend using a virtual environment to avoid conflicts with other Python packages.
291
+ ### Need help?
297
292
 
298
- ### Requirements
293
+ - Join a discussion 💬 on [GitHub Discussions]
294
+ - [Raise an issue][GitHub Issues] on GitHub
299
295
 
300
- Instant Python tries to support the latest Python versions, we officially support from Python 3.10 to 3.13.
301
- Older versions of Python may work, but they are not guaranteed to be compatible.
296
+ [GitHub Discussions]: https://github.com/dimanu-py/instant-python/discussions
297
+ [GitHub Issues]: https://github.com/dimanu-py/instant-python/issues
302
298
 
303
299
  [//]: # (### Do Not Track)
304
300
 
@@ -9,20 +9,12 @@
9
9
  <a href="https://dimanu-py.github.io/instant-python/examples/configuration/">Examples</a>&nbsp;&nbsp;•&nbsp;
10
10
  <a href="https://dimanu-py.github.io/instant-python/home/contributing/">Contributing</a>
11
11
  </p>
12
- <p align="center">
13
- <img
14
- src="https://github.com/user-attachments/assets/132513c0-e472-4523-a0fd-c27b70dfd78a"
15
- alt="instant-python-demo"
16
- width="80%"
17
- />
18
- <br>
19
- </p>
20
12
 
21
13
  <div align="center"><table><tr><td>
22
14
  <b>Instant Python</b> replaces extensive manual setup with a simple command to get started quickly. Its motivation is to emulate
23
15
  commands like `ng new` or `create-react-app`, but for Python projects.
24
16
 
25
- <br><br>
17
+ <br>
26
18
 
27
19
  <b>Why use Instant Python?</b> Generating your Python project with Instant Python lets you:
28
20
 
@@ -38,38 +30,42 @@ commands like `ng new` or `create-react-app`, but for Python projects.
38
30
 
39
31
  </td></tr></table></div>
40
32
 
41
- ## Documentation
33
+ ## Navigation Guide
42
34
 
43
- This section provides a high-level overview of the `instant-python` library, its features, and how to get started.
44
- For detailed instructions and examples, please refer to the [full Instant Python documentation](https://dimanu-py.github.io/instant-python/home/).
35
+ This section provides a high-level overview of the `instant-python` documentation
36
+ so can quickly find what you need.
45
37
 
46
38
  - [Installation](https://dimanu-py.github.io/instant-python/home/#installation)
47
39
  - [Getting Started](https://dimanu-py.github.io/instant-python/home/getting_started/)
48
40
  - [Examples](https://dimanu-py.github.io/instant-python/examples/configuration/)
49
41
 
50
- ### Need help?
42
+ ### For Users
51
43
 
52
- - Join a discussion 💬 on [GitHub Discussions]
53
- - [Raise an issue][GitHub Issues] on GitHub
44
+ - [Installation]: begin by learning how to install `instant-python`.
45
+ - [First Steps]: get started with the basic features of `instant-python`.
46
+ - [Advanced Usage and Customization]: explore advanced features and customization options.
54
47
 
55
- [GitHub Discussions]: https://github.com/dimanu-py/instant-python/discussions
56
- [GitHub Issues]: https://github.com/dimanu-py/instant-python/issues
48
+ [Installation]: https://dimanu-py.github.io/instant-python/getting_started/installation/
49
+ [First Steps]: https://dimanu-py.github.io/instant-python/getting_started/first_steps/
50
+ [Advanced Usage and Customization]: https://dimanu-py.github.io/instant-python/guide/
57
51
 
58
- ## Installation
52
+ ### For Developers
59
53
 
60
- The latest version of `instant-python` can be installed from PyPI:
54
+ - [Contributing]: learn how to contribute to `instant-python` development.
55
+ - [Releases]: understand our release process and versioning.
56
+ - [Security]: understand our security policies and reporting procedures.
61
57
 
62
- ```bash
63
- pip install instant-python
64
- ```
58
+ [Contributing]: https://dimanu-py.github.io/instant-python/development/contributing/
59
+ [Releases]: https://dimanu-py.github.io/instant-python/development/releases/
60
+ [Security]: https://dimanu-py.github.io/instant-python/development/security/
65
61
 
66
- > [!TIP]
67
- > We highly recommend using a virtual environment to avoid conflicts with other Python packages.
62
+ ### Need help?
68
63
 
69
- ### Requirements
64
+ - Join a discussion 💬 on [GitHub Discussions]
65
+ - [Raise an issue][GitHub Issues] on GitHub
70
66
 
71
- Instant Python tries to support the latest Python versions, we officially support from Python 3.10 to 3.13.
72
- Older versions of Python may work, but they are not guaranteed to be compatible.
67
+ [GitHub Discussions]: https://github.com/dimanu-py/instant-python/discussions
68
+ [GitHub Issues]: https://github.com/dimanu-py/instant-python/issues
73
69
 
74
70
  [//]: # (### Do Not Track)
75
71