instant-python 0.25.0__tar.gz → 0.26.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 (419) hide show
  1. {instant_python-0.25.0 → instant_python-0.26.0}/.github/workflows/pages.yml +1 -1
  2. {instant_python-0.25.0 → instant_python-0.26.0}/.github/workflows/release.yml +55 -0
  3. {instant_python-0.25.0 → instant_python-0.26.0}/CHANGELOG.md +22 -0
  4. {instant_python-0.25.0 → instant_python-0.26.0}/PKG-INFO +15 -1
  5. {instant_python-0.25.0 → instant_python-0.26.0}/README.md +14 -0
  6. instant_python-0.26.0/docs/documentation/getting_started/installation.md +83 -0
  7. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/home/index.md +14 -0
  8. instant_python-0.26.0/instant_python/__init__.py +1 -0
  9. {instant_python-0.25.0 → instant_python-0.26.0}/pyproject.toml +6 -1
  10. {instant_python-0.25.0 → instant_python-0.26.0}/schemas/ipy-schema.json +3 -7
  11. instant_python-0.26.0/scripts/install.ps1 +81 -0
  12. instant_python-0.26.0/scripts/install.sh +87 -0
  13. {instant_python-0.25.0 → instant_python-0.26.0}/uv.lock +7 -4
  14. instant_python-0.25.0/docs/documentation/getting_started/installation.md +0 -40
  15. instant_python-0.25.0/instant_python/__init__.py +0 -1
  16. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/agents/convention_keeper.md +0 -0
  17. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/agents/judge.md +0 -0
  18. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/agents/leader.md +0 -0
  19. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/agents/spec_partner.md +0 -0
  20. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/agents/tdd_craftsman.md +0 -0
  21. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/commands/commit.md +0 -0
  22. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/commands/technical_debt_review.md +0 -0
  23. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/code_review/SKILL.md +0 -0
  24. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/complexity_review/REFERENCE.md +0 -0
  25. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/complexity_review/SKILL.md +0 -0
  26. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/hamburger_method/REFERENCE.md +0 -0
  27. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/hamburger_method/SKILL.md +0 -0
  28. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/micro_steps_coach/REFERENCE.md +0 -0
  29. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/micro_steps_coach/SKILL.md +0 -0
  30. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/mutation_testing/SKILL.md +0 -0
  31. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/security_review/SKILL.md +0 -0
  32. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/story_splitting/REFERENCE.md +0 -0
  33. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/story_splitting/SKILL.md +0 -0
  34. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/test_desiderata/REFERENCE.md +0 -0
  35. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/test_desiderata/SKILL.md +0 -0
  36. {instant_python-0.25.0 → instant_python-0.26.0}/.agents/skills/xp_refactor/SKILL.md +0 -0
  37. {instant_python-0.25.0 → instant_python-0.26.0}/.github/FUNDING.yml +0 -0
  38. {instant_python-0.25.0 → instant_python-0.26.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  39. {instant_python-0.25.0 → instant_python-0.26.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  40. {instant_python-0.25.0 → instant_python-0.26.0}/.github/actions/setup_environment/action.yml +0 -0
  41. {instant_python-0.25.0 → instant_python-0.26.0}/.github/dependabot.yml +0 -0
  42. {instant_python-0.25.0 → instant_python-0.26.0}/.github/pull_request_template.md +0 -0
  43. {instant_python-0.25.0 → instant_python-0.26.0}/.github/workflows/ci.yml +0 -0
  44. {instant_python-0.25.0 → instant_python-0.26.0}/.gitignore +0 -0
  45. {instant_python-0.25.0 → instant_python-0.26.0}/.pre-commit-config.yaml +0 -0
  46. {instant_python-0.25.0 → instant_python-0.26.0}/AGENTS.md +0 -0
  47. {instant_python-0.25.0 → instant_python-0.26.0}/CITATION.cff +0 -0
  48. {instant_python-0.25.0 → instant_python-0.26.0}/LICENSE +0 -0
  49. {instant_python-0.25.0 → instant_python-0.26.0}/SECURITY.md +0 -0
  50. {instant_python-0.25.0 → instant_python-0.26.0}/Taskfile.yml +0 -0
  51. {instant_python-0.25.0 → instant_python-0.26.0}/codeql-config.yml +0 -0
  52. {instant_python-0.25.0 → instant_python-0.26.0}/docs/agents/convention_guidelines.md +0 -0
  53. {instant_python-0.25.0 → instant_python-0.26.0}/docs/agents/leader_workflow.md +0 -0
  54. {instant_python-0.25.0 → instant_python-0.26.0}/docs/agents/spec_guidelines.md +0 -0
  55. {instant_python-0.25.0 → instant_python-0.26.0}/docs/changelog/.components/changelog_header.md.j2 +0 -0
  56. {instant_python-0.25.0 → instant_python-0.26.0}/docs/changelog/.components/changelog_init.md.j2 +0 -0
  57. {instant_python-0.25.0 → instant_python-0.26.0}/docs/changelog/.components/changelog_update.md.j2 +0 -0
  58. {instant_python-0.25.0 → instant_python-0.26.0}/docs/changelog/.components/changes.md.j2 +0 -0
  59. {instant_python-0.25.0 → instant_python-0.26.0}/docs/changelog/.components/first_release.md.j2 +0 -0
  60. {instant_python-0.25.0 → instant_python-0.26.0}/docs/changelog/.components/macros.md.j2 +0 -0
  61. {instant_python-0.25.0 → instant_python-0.26.0}/docs/changelog/.components/versioned_changes.md.j2 +0 -0
  62. {instant_python-0.25.0 → instant_python-0.26.0}/docs/changelog/.release_notes.md.j2 +0 -0
  63. {instant_python-0.25.0 → instant_python-0.26.0}/docs/changelog/CHANGELOG.md.j2 +0 -0
  64. {instant_python-0.25.0 → instant_python-0.26.0}/docs/conventions/testing/assertion-helper-methods.md +0 -0
  65. {instant_python-0.25.0 → instant_python-0.26.0}/docs/conventions/testing/common-test-variables-in-setup-method.md +0 -0
  66. {instant_python-0.25.0 → instant_python-0.26.0}/docs/conventions/testing/tdd-outside-in.md +0 -0
  67. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/assets/favicon.svg +0 -0
  68. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/assets/logo.svg +0 -0
  69. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/development/contributing.md +0 -0
  70. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/development/releases.md +0 -0
  71. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/development/security.md +0 -0
  72. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/downloads_macro.py +0 -0
  73. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/getting_started/first_steps.md +0 -0
  74. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/getting_started/privacy_and_metrics.md +0 -0
  75. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/guide/command_config.md +0 -0
  76. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/guide/command_init.md +0 -0
  77. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/guide/custom_projects.md +0 -0
  78. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/guide/default_features.md +0 -0
  79. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/guide/index.md +0 -0
  80. {instant_python-0.25.0 → instant_python-0.26.0}/docs/documentation/guide/template_reference.md +0 -0
  81. {instant_python-0.25.0 → instant_python-0.26.0}/docs/specs/0001-metrics-middleware-refactor.md +0 -0
  82. {instant_python-0.25.0 → instant_python-0.26.0}/docs/specs/0002-new-tool-management-system.md +0 -0
  83. {instant_python-0.25.0 → instant_python-0.26.0}/docs/specs/0003-interactive-configuration-wizard-ux.md +0 -0
  84. {instant_python-0.25.0 → instant_python-0.26.0}/docs/specs/technical-debt-review.md +0 -0
  85. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/cli/__init__.py +0 -0
  86. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/cli/cli.py +0 -0
  87. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/cli/instant_python_typer.py +0 -0
  88. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/__init__.py +0 -0
  89. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/application/__init__.py +0 -0
  90. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/application/config_generator.py +0 -0
  91. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/delivery/__init__.py +0 -0
  92. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/delivery/cli.py +0 -0
  93. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/domain/__init__.py +0 -0
  94. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/domain/answers_review_formatter.py +0 -0
  95. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/domain/question_wizard.py +0 -0
  96. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/__init__.py +0 -0
  97. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/__init__.py +0 -0
  98. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/console_answers_review_formatter.py +0 -0
  99. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/questionary_console_wizard.py +0 -0
  100. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/step/__init__.py +0 -0
  101. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/step/dependencies_step.py +0 -0
  102. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/step/general_step.py +0 -0
  103. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/step/git_step.py +0 -0
  104. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/step/questionary.py +0 -0
  105. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/step/steps.py +0 -0
  106. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/config/infra/question_wizard/step/template_step.py +0 -0
  107. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/__init__.py +0 -0
  108. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/application/__init__.py +0 -0
  109. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/application/project_initializer.py +0 -0
  110. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/delivery/__init__.py +0 -0
  111. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/delivery/cli.py +0 -0
  112. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/domain/__init__.py +0 -0
  113. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/domain/env_manager.py +0 -0
  114. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/domain/node.py +0 -0
  115. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/domain/project_formatter.py +0 -0
  116. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/domain/project_renderer.py +0 -0
  117. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/domain/project_structure.py +0 -0
  118. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/domain/project_writer.py +0 -0
  119. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/domain/version_control_configurer.py +0 -0
  120. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/__init__.py +0 -0
  121. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/env_manager/__init__.py +0 -0
  122. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/env_manager/env_manager_factory.py +0 -0
  123. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/env_manager/pdm_env_manager.py +0 -0
  124. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/env_manager/system_console.py +0 -0
  125. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/env_manager/uv_env_manager.py +0 -0
  126. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/formatter/__init__.py +0 -0
  127. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/formatter/ruff_project_formatter.py +0 -0
  128. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/renderer/__init__.py +0 -0
  129. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/renderer/jinja_environment.py +0 -0
  130. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/renderer/jinja_project_renderer.py +0 -0
  131. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/version_control/__init__.py +0 -0
  132. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/version_control/git_configurer.py +0 -0
  133. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/writer/__init__.py +0 -0
  134. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/initialize/infra/writer/file_system_project_writer.py +0 -0
  135. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/__init__.py +0 -0
  136. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/application/__init__.py +0 -0
  137. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/application/config_snapshot_creator.py +0 -0
  138. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/application/usage_metrics_sender.py +0 -0
  139. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/delivery/__init__.py +0 -0
  140. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/delivery/metrics_middleware.py +0 -0
  141. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/domain/__init__.py +0 -0
  142. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/domain/config_snapshot.py +0 -0
  143. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/domain/error_metrics_event.py +0 -0
  144. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/domain/metrics_reporter.py +0 -0
  145. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/domain/usage_metrics_data.py +0 -0
  146. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/infra/__init__.py +0 -0
  147. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/infra/post_hog_config.py +0 -0
  148. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/infra/post_hog_metrics_reporter.py +0 -0
  149. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/metrics/infra/user_identity_manager.py +0 -0
  150. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/__init__.py +0 -0
  151. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/application_error.py +0 -0
  152. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/domain/__init__.py +0 -0
  153. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/domain/config_repository.py +0 -0
  154. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/domain/config_schema.py +0 -0
  155. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/domain/dependency_config.py +0 -0
  156. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/domain/general_config.py +0 -0
  157. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/domain/git_config.py +0 -0
  158. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/domain/template_config.py +0 -0
  159. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/infra/__init__.py +0 -0
  160. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/infra/persistence/__init__.py +0 -0
  161. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/infra/persistence/yaml_config_repository.py +0 -0
  162. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/supported_built_in_features.py +0 -0
  163. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/supported_licenses.py +0 -0
  164. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/supported_managers.py +0 -0
  165. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/supported_python_versions.py +0 -0
  166. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/shared/supported_templates.py +0 -0
  167. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/.gitignore +0 -0
  168. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/.pre-commit-config.yaml +0 -0
  169. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/.python-version +0 -0
  170. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/CITATION.cff +0 -0
  171. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/LICENSE +0 -0
  172. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/README.md +0 -0
  173. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/SECURITY.md +0 -0
  174. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/AGENTS.md +0 -0
  175. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/agents/convention_keeper.md +0 -0
  176. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/agents/judge.md +0 -0
  177. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/agents/leader.md +0 -0
  178. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/agents/spec_partner.md +0 -0
  179. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/agents/tdd_craftsman.md +0 -0
  180. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/commands/commit.md +0 -0
  181. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/commands/technical_debt_review.md +0 -0
  182. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/convention_guidelines.md +0 -0
  183. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/leader_workflow.md +0 -0
  184. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/code_review/SKILL.md +0 -0
  185. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/complexity_review/REFERENCE.md +0 -0
  186. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/complexity_review/SKILL.md +0 -0
  187. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/hamburger_method/REFERENCE.md +0 -0
  188. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/hamburger_method/SKILL.md +0 -0
  189. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/micro_steps_coach/REFERENCE.md +0 -0
  190. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/micro_steps_coach/SKILL.md +0 -0
  191. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/mutation_testing/SKILL.md +0 -0
  192. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/security_review/SKILL.md +0 -0
  193. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/story_splitting/REFERENCE.md +0 -0
  194. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/story_splitting/SKILL.md +0 -0
  195. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/test_desiderata/REFERENCE.md +0 -0
  196. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/test_desiderata/SKILL.md +0 -0
  197. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/skills/xp_refactor/SKILL.md +0 -0
  198. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/spec_guidelines.md +0 -0
  199. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/tasks.json +0 -0
  200. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/agents/tdd_outside_in.md +0 -0
  201. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/__init__.py +0 -0
  202. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/domain_event.py +0 -0
  203. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/domain_event_json_deserializer.py +0 -0
  204. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/domain_event_json_serializer.py +0 -0
  205. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/domain_event_subscriber.py +0 -0
  206. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/event_aggregate.py +0 -0
  207. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/event_bus.py +0 -0
  208. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/exchange_type.py +0 -0
  209. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/mock_event_bus.py +0 -0
  210. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_configurer.py +0 -0
  211. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_connection.py +0 -0
  212. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_consumer.py +0 -0
  213. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_event_bus.py +0 -0
  214. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_queue_formatter.py +0 -0
  215. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/event_bus/rabbit_mq_settings.py +0 -0
  216. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/exceptions/__init__.py +0 -0
  217. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/exceptions/base_error.py +0 -0
  218. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/exceptions/domain_error.py +0 -0
  219. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/exceptions/domain_event_type_not_found_error.py +0 -0
  220. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/exceptions/rabbit_mq_connection_not_established_error.py +0 -0
  221. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/exceptions/required_value_error.py +0 -0
  222. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/fastapi/__init__.py +0 -0
  223. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/fastapi/application.py +0 -0
  224. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/fastapi/error_handlers.py +0 -0
  225. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/fastapi/error_response.py +0 -0
  226. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/fastapi/fastapi_log_middleware.py +0 -0
  227. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/fastapi/lifespan.py +0 -0
  228. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/fastapi/success_response.py +0 -0
  229. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/github/action.yml +0 -0
  230. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/github/bug_report.yml +0 -0
  231. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/github/ci.yml +0 -0
  232. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/github/dependabot.yml +0 -0
  233. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/github/feature_request.yml +0 -0
  234. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/github/pages.yml +0 -0
  235. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/github/release.yml +0 -0
  236. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/logger/__init__.py +0 -0
  237. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/logger/file_logger.py +0 -0
  238. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/logger/file_rotating_handler.py +0 -0
  239. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/logger/json_formatter.py +0 -0
  240. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/mkdocs.yml +0 -0
  241. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/mypy.ini +0 -0
  242. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/__init__.py +0 -0
  243. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/alembic_migrator.py +0 -0
  244. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/README.md +0 -0
  245. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/__init__.py +0 -0
  246. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/alembic.ini +0 -0
  247. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/async_engine_fixture.py +0 -0
  248. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/async_session.py +0 -0
  249. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/env.py +0 -0
  250. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/models_metadata.py +0 -0
  251. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/postgres_settings.py +0 -0
  252. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/script.py.mako +0 -0
  253. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/async/sqlalchemy_repository.py +0 -0
  254. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/base.py +0 -0
  255. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/synchronous/__init__.py +0 -0
  256. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/synchronous/session_maker.py +0 -0
  257. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/persistence/synchronous/sqlalchemy_repository.py +0 -0
  258. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/pyproject.toml +0 -0
  259. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/add_dependency.py +0 -0
  260. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/create_aggregate.py +0 -0
  261. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/insert_template.py +0 -0
  262. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/integration.sh +0 -0
  263. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/local_setup.py +0 -0
  264. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/makefile +0 -0
  265. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/post-merge.py +0 -0
  266. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/pre-commit.py +0 -0
  267. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/pre-push.py +0 -0
  268. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/remove_dependency.py +0 -0
  269. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/boilerplate/scripts/unit.sh +0 -0
  270. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/agents/agents.yml +0 -0
  271. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/layers/application.yml +0 -0
  272. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/layers/delivery.yml +0 -0
  273. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/layers/domain.yml +0 -0
  274. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/layers/infra.yml +0 -0
  275. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/layers/test_application.yml +0 -0
  276. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/layers/test_delivery.yml +0 -0
  277. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/layers/test_domain.yml +0 -0
  278. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/layers/test_infra.yml +0 -0
  279. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/main_structure.yml +0 -0
  280. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/source.yml +0 -0
  281. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/clean_architecture/test.yml +0 -0
  282. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/config_files/gitignore.yml +0 -0
  283. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/config_files/mypy.yml +0 -0
  284. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/config_files/pyproject.yml +0 -0
  285. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/config_files/python_version.yml +0 -0
  286. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/documentation/citation.yml +0 -0
  287. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/documentation/documentation.yml +0 -0
  288. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/documentation/license.yml +0 -0
  289. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/documentation/readme.yml +0 -0
  290. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/documentation/security.yml +0 -0
  291. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/layers/bounded_context.yml +0 -0
  292. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/layers/delivery.yml +0 -0
  293. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/layers/shared.yml +0 -0
  294. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/layers/shared_domain.yml +0 -0
  295. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/layers/shared_infra.yml +0 -0
  296. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/layers/test_shared.yml +0 -0
  297. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/layers/test_shared_delivery.yml +0 -0
  298. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/layers/test_shared_domain.yml +0 -0
  299. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/layers/test_shared_infra.yml +0 -0
  300. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/main_structure.yml +0 -0
  301. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/source.yml +0 -0
  302. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/domain_driven_design/test.yml +0 -0
  303. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/errors.yml +0 -0
  304. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/events/event_bus_domain.yml +0 -0
  305. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/events/event_bus_infra.yml +0 -0
  306. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/events/mock_event_bus.yml +0 -0
  307. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/fastapi/fastapi_app.yml +0 -0
  308. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/fastapi/fastapi_domain.yml +0 -0
  309. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/fastapi/fastapi_infra.yml +0 -0
  310. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/github/github_action.yml +0 -0
  311. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/github/github_issues_template.yml +0 -0
  312. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/github/makefile.yml +0 -0
  313. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/github/precommit_hook.yml +0 -0
  314. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/logger.yml +0 -0
  315. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/macros.j2 +0 -0
  316. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/persistence/alembic_migrator.yml +0 -0
  317. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/persistence/async_alembic.yml +0 -0
  318. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/persistence/async_engine_conftest.yml +0 -0
  319. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/persistence/async_sqlalchemy.yml +0 -0
  320. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/persistence/persistence.yml +0 -0
  321. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/persistence/synchronous_sqlalchemy.yml +0 -0
  322. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/standard_project/layers/source_features.yml +0 -0
  323. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/standard_project/layers/test_event_bus.yml +0 -0
  324. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/standard_project/layers/test_features.yml +0 -0
  325. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/standard_project/main_structure.yml +0 -0
  326. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/standard_project/source.yml +0 -0
  327. {instant_python-0.25.0 → instant_python-0.26.0}/instant_python/templates/project_structure/standard_project/test.yml +0 -0
  328. {instant_python-0.25.0 → instant_python-0.26.0}/mise.toml +0 -0
  329. {instant_python-0.25.0 → instant_python-0.26.0}/mkdocs.yml +0 -0
  330. {instant_python-0.25.0 → instant_python-0.26.0}/mypy.ini +0 -0
  331. {instant_python-0.25.0 → instant_python-0.26.0}/opencode.json +0 -0
  332. {instant_python-0.25.0 → instant_python-0.26.0}/schemas/main-structure-schema.json +0 -0
  333. {instant_python-0.25.0 → instant_python-0.26.0}/test/__init__.py +0 -0
  334. {instant_python-0.25.0 → instant_python-0.26.0}/test/cli/__init__.py +0 -0
  335. {instant_python-0.25.0 → instant_python-0.26.0}/test/cli/test_version_command.py +0 -0
  336. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/__init__.py +0 -0
  337. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/application/__init__.py +0 -0
  338. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/application/test_config_generator.py +0 -0
  339. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/infra/__init__.py +0 -0
  340. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/infra/question_wizard/__init__.py +0 -0
  341. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/infra/question_wizard/fake_questionary.py +0 -0
  342. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/infra/question_wizard/step/__init__.py +0 -0
  343. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/infra/question_wizard/step/test_dependencies_step.py +0 -0
  344. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/infra/question_wizard/step/test_git_step.py +0 -0
  345. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/infra/question_wizard/step/test_template_step.py +0 -0
  346. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/infra/question_wizard/test_console_answer_review_formatter.py +0 -0
  347. {instant_python-0.25.0 → instant_python-0.26.0}/test/config/infra/question_wizard/test_questionary_console_wizard.py +0 -0
  348. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/__init__.py +0 -0
  349. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/application/__init__.py +0 -0
  350. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/application/test_project_initializer.py +0 -0
  351. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/delivery/__init__.py +0 -0
  352. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/delivery/approvaltests_config.json +0 -0
  353. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_custom_project_structure.approved.txt +0 -0
  354. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_general_section_combinations.approved.txt +0 -0
  355. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_git_section_combinations.approved.txt +0 -0
  356. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_predefined_dependencies_and_different_managers.approved.txt +0 -0
  357. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/delivery/approved_files/TestInitCli.test_should_initialize_project_with_template_section_combinations.approved.txt +0 -0
  358. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/delivery/test_init_cli.py +0 -0
  359. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/domain/__init__.py +0 -0
  360. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/domain/mothers/__init__.py +0 -0
  361. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/domain/mothers/node_mother.py +0 -0
  362. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/domain/mothers/project_structure_mother.py +0 -0
  363. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/domain/test_node.py +0 -0
  364. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/__init__.py +0 -0
  365. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/env_manager/__init__.py +0 -0
  366. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/env_manager/mother/__init__.py +0 -0
  367. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/env_manager/mother/command_execution_result_mother.py +0 -0
  368. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/env_manager/test_pdm_env_manager.py +0 -0
  369. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/env_manager/test_system_console.py +0 -0
  370. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/env_manager/test_uv_env_manager.py +0 -0
  371. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/formatter/__init__.py +0 -0
  372. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/formatter/test_ruff_project_formatter.py +0 -0
  373. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/renderer/__init__.py +0 -0
  374. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/renderer/test_jinja_environment.py +0 -0
  375. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/renderer/test_jinja_project_renderer.py +0 -0
  376. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/version_control/__init__.py +0 -0
  377. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/version_control/test_git_configurer.py +0 -0
  378. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/writer/TestFileSystemProjectWriter.test_should_create_file_in_file_system.approved.txt +0 -0
  379. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/writer/TestFileSystemProjectWriter.test_should_create_python_module_in_file_system.approved.txt +0 -0
  380. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/writer/TestFileSystemProjectWriter.test_should_create_standard_directory_in_file_system.approved.txt +0 -0
  381. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/writer/__init__.py +0 -0
  382. {instant_python-0.25.0 → instant_python-0.26.0}/test/initialize/infra/writer/test_file_system_project_writer.py +0 -0
  383. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/__init__.py +0 -0
  384. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/application/__init__.py +0 -0
  385. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/application/test_config_snapshot_creator.py +0 -0
  386. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/application/test_usage_metrics_sender.py +0 -0
  387. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/domain/__init__.py +0 -0
  388. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/domain/config_snapshot_mother.py +0 -0
  389. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/domain/error_metrics_event_mother.py +0 -0
  390. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/domain/usage_metrics_event_mother.py +0 -0
  391. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/infra/__init__.py +0 -0
  392. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/infra/cassettes/error_posthog_reporter.yml +0 -0
  393. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/infra/cassettes/success_posthog_reporter.yml +0 -0
  394. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/infra/test_post_hog_config.py +0 -0
  395. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/infra/test_post_hog_metrics_reporter.py +0 -0
  396. {instant_python-0.25.0 → instant_python-0.26.0}/test/metrics/infra/test_user_identity_manager.py +0 -0
  397. {instant_python-0.25.0 → instant_python-0.26.0}/test/random_generator.py +0 -0
  398. {instant_python-0.25.0 → instant_python-0.26.0}/test/resources/base_ipy_config.yml +0 -0
  399. {instant_python-0.25.0 → instant_python-0.26.0}/test/resources/domain_error_template.py +0 -0
  400. {instant_python-0.25.0 → instant_python-0.26.0}/test/resources/hello_world.j2 +0 -0
  401. {instant_python-0.25.0 → instant_python-0.26.0}/test/resources/main_structure.yml +0 -0
  402. {instant_python-0.25.0 → instant_python-0.26.0}/test/resources/standard_project/main_structure.yml +0 -0
  403. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/__init__.py +0 -0
  404. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/__init__.py +0 -0
  405. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/mothers/__init__.py +0 -0
  406. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/mothers/config_schema_mother.py +0 -0
  407. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/mothers/dependency_config_mother.py +0 -0
  408. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/mothers/general_config_mother.py +0 -0
  409. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/mothers/git_config_mother.py +0 -0
  410. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/mothers/template_config_mother.py +0 -0
  411. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/test_config_schema.py +0 -0
  412. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/test_dependency_config.py +0 -0
  413. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/test_general_config.py +0 -0
  414. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/test_git_config.py +0 -0
  415. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/domain/test_template_configuration.py +0 -0
  416. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/persistence/__init__.py +0 -0
  417. {instant_python-0.25.0 → instant_python-0.26.0}/test/shared/persistence/test_yaml_config_repository.py +0 -0
  418. {instant_python-0.25.0 → instant_python-0.26.0}/test/utils.py +0 -0
  419. {instant_python-0.25.0 → instant_python-0.26.0}/tox.ini +0 -0
@@ -77,4 +77,4 @@ jobs:
77
77
 
78
78
  - name: 🚀 Deploy to GitHub Pages
79
79
  id: deployment
80
- uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5
80
+ uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5
@@ -75,3 +75,58 @@ jobs:
75
75
 
76
76
  - name: 🚀 Publish
77
77
  uses: pypa/gh-action-pypi-publish@release/v1
78
+
79
+ build-binaries:
80
+ name: Build binary (${{ matrix.target }})
81
+ needs:
82
+ - release
83
+ if: needs.release.outputs.released == 'true' || github.event_name == 'release'
84
+ strategy:
85
+ matrix:
86
+ include:
87
+ - runner: macos-14
88
+ target: aarch64-apple-darwin
89
+ ext: ""
90
+ - runner: ubuntu-latest
91
+ target: x86_64-unknown-linux-gnu
92
+ ext: ""
93
+ - runner: ubuntu-24.04-arm
94
+ target: aarch64-unknown-linux-gnu
95
+ ext: ""
96
+ - runner: windows-latest
97
+ target: x86_64-pc-windows-msvc
98
+ ext: ".exe"
99
+ runs-on: ${{ matrix.runner }}
100
+ permissions:
101
+ contents: write
102
+
103
+ steps:
104
+ - name: 🛡️ Harden runner
105
+ uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
106
+ with:
107
+ egress-policy: audit
108
+
109
+ - name: 📥 Checkout the repository
110
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
111
+ with:
112
+ fetch-depth: 0
113
+ persist-credentials: false
114
+ ref: refs/tags/${{ needs.release.outputs.tag }}
115
+
116
+ - name: 🦀 Setup Rust toolchain
117
+ uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable
118
+ with:
119
+ targets: ${{ matrix.target }}
120
+
121
+ - name: 🛠️ Setup environment
122
+ uses: ./.github/actions/setup_environment
123
+
124
+ - name: 🏃 Build binary
125
+ env:
126
+ CARGO_BUILD_TARGET: ${{ matrix.target }}
127
+ run: uvx hatch build -t binary
128
+
129
+ - name: 📤 Upload release asset
130
+ env:
131
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
132
+ run: gh release upload ${{ needs.release.outputs.tag }} dist/app/ipy-${{ matrix.target }}${{ matrix.ext }} --clobber
@@ -2,6 +2,28 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v0.26.0 (2026-09-08)
6
+
7
+ ### ✨ Features
8
+
9
+ - **schema**: Remove year field and add missing built in features in ipy schema file
10
+ ([`f365f88`](https://github.com/dimanu-py/instant-python/commit/f365f88294745570c7cc7b5f7af9b2a613dc3d42))
11
+
12
+ ### ⚙️ Build System
13
+
14
+ - Create installation script for Windows
15
+ ([`aee3d6e`](https://github.com/dimanu-py/instant-python/commit/aee3d6eac108569037c24687ef5a1925cc8eb58c))
16
+
17
+ - Create installation script for Apple Silicon and Linux
18
+ ([`f431d2e`](https://github.com/dimanu-py/instant-python/commit/f431d2ec8c767be06dbd57a2c668f72c2678f9c2))
19
+
20
+ - Bump click to fix vulnerability
21
+ ([`1c83b66`](https://github.com/dimanu-py/instant-python/commit/1c83b66ab31665dfe44a59221271767adb188249))
22
+
23
+ - Bump python-semantic-release
24
+ ([`3e3c7b2`](https://github.com/dimanu-py/instant-python/commit/3e3c7b2c1d0c578184f3cb707d86d8d3fd1dc7e8))
25
+
26
+
5
27
  ## v0.25.0 (2026-09-06)
6
28
 
7
29
  ### ✨ Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: instant-python
3
- Version: 0.25.0
3
+ Version: 0.26.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/
@@ -264,6 +264,20 @@ commands like `ng new` or `create-react-app`, but for Python projects.
264
264
 
265
265
  </td></tr></table></div>
266
266
 
267
+ ## 🚀 Quick Start
268
+
269
+ Once [installed](https://dimanu-py.github.io/instant-python/getting_started/installation/), generating a project takes two commands:
270
+
271
+ ```bash
272
+ ipy config # answer a few questions through an interactive wizard to create your ipy.yml configuration file
273
+ ipy init # generate the project from that configuration file
274
+ ```
275
+
276
+ - `ipy config` asks you about your project (name, Python version, project manager, template, dependencies, and more) and writes an `ipy.yml` configuration file in the current directory.
277
+ - `ipy init` reads that `ipy.yml` file and generates your new project.
278
+
279
+ See the [First Steps](https://dimanu-py.github.io/instant-python/getting_started/first_steps/) guide for a full walkthrough.
280
+
267
281
  ## ✨ NEW ✨ Create Fully Customized Projects
268
282
 
269
283
  Take full control of your project generation! With **custom templates**, you can:
@@ -31,6 +31,20 @@ commands like `ng new` or `create-react-app`, but for Python projects.
31
31
 
32
32
  </td></tr></table></div>
33
33
 
34
+ ## 🚀 Quick Start
35
+
36
+ Once [installed](https://dimanu-py.github.io/instant-python/getting_started/installation/), generating a project takes two commands:
37
+
38
+ ```bash
39
+ ipy config # answer a few questions through an interactive wizard to create your ipy.yml configuration file
40
+ ipy init # generate the project from that configuration file
41
+ ```
42
+
43
+ - `ipy config` asks you about your project (name, Python version, project manager, template, dependencies, and more) and writes an `ipy.yml` configuration file in the current directory.
44
+ - `ipy init` reads that `ipy.yml` file and generates your new project.
45
+
46
+ See the [First Steps](https://dimanu-py.github.io/instant-python/getting_started/first_steps/) guide for a full walkthrough.
47
+
34
48
  ## ✨ NEW ✨ Create Fully Customized Projects
35
49
 
36
50
  Take full control of your project generation! With **custom templates**, you can:
@@ -0,0 +1,83 @@
1
+ To ensure a clean and isolated environment, we recommend installing `instant-python` using a virtual environment. At your
2
+ own risk, you can install it at your system Python installation, but this is not recommended.
3
+ Below are the preferred installation methods.
4
+
5
+ !!! note "Supported Python Versions"
6
+ Instant Python tries to support the latest Python versions, we officially support from Python 3.10 to 3.13.
7
+ Older versions of Python may work, but they are not guaranteed to be compatible.
8
+
9
+ ## Installation Methods
10
+
11
+ ### Install script (recommended)
12
+
13
+ The recommended way to install `instant-python` is via the install script. It downloads a self-contained `ipy` binary with
14
+ Python bundled in, so **no local Python installation is required** to install or run it.
15
+
16
+ **macOS / Linux**
17
+
18
+ ```bash
19
+ curl -LsSf https://raw.githubusercontent.com/dimanu-py/instant-python/main/scripts/install.sh | sh
20
+ ```
21
+
22
+ By default the binary is installed to `~/.local/bin`. You can override this with the `IPY_BIN_DIR` environment variable:
23
+
24
+ ```bash
25
+ IPY_BIN_DIR="$HOME/bin" curl -LsSf https://raw.githubusercontent.com/dimanu-py/instant-python/main/scripts/install.sh | sh
26
+ ```
27
+
28
+ **Windows**
29
+
30
+ ```powershell
31
+ powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/dimanu-py/instant-python/main/scripts/install.ps1 | iex"
32
+ ```
33
+
34
+ This adds `%USERPROFILE%\.local\bin` to your user `PATH` automatically; restart your terminal afterwards so it picks up the
35
+ change. You can override the install directory with the `IPY_BIN_DIR` environment variable.
36
+
37
+ !!! note "Supported platforms"
38
+ The install script currently provides prebuilt binaries for macOS (Apple Silicon), Linux (x86_64 and arm64), and Windows
39
+ (x86_64). On other platforms (Intel Mac, Windows on ARM), use one of the alternative methods below.
40
+
41
+ ### Other installation methods
42
+
43
+ If your platform isn't covered by the install script, or you prefer to manage `instant-python` as a regular Python package,
44
+ you can install it with `uv`, `pipx`, or `pip` instead.
45
+
46
+ #### Using `uv`
47
+
48
+ If you already use [uv](https://docs.astral.sh/uv/) to manage Python tools, you can install `instant-python` with `uv tool
49
+ install`, which installs it in an isolated environment just like `pipx`.
50
+
51
+ ```bash
52
+ uv tool install instant-python
53
+ ```
54
+
55
+ #### Using `pipx`
56
+
57
+ `pipx` installs Python applications in isolated environments, ensuring that they do not interfere with other Python applications.
58
+
59
+ ```bash
60
+ pipx install instant-python
61
+ ```
62
+
63
+ If you do not have `pipx` installed, you can install it using `pip`.
64
+
65
+ ```bash
66
+ pip install --user pipx
67
+ ```
68
+
69
+ #### Using `pyenv`
70
+
71
+ If you already manage your Python versions using a tool like Pyenv, you can install `instant-python` using `pip` with
72
+ pyenv's global Python version.
73
+
74
+ ```bash
75
+ pip install instant-python
76
+ ```
77
+
78
+ A guide to install and configure pyenv can be found [here](https://github.com/pyenv/pyenv?tab=readme-ov-file#installation)
79
+
80
+ ## Next steps
81
+
82
+ Now that you have installed `instant-python` you can advance to the [first steps](first_steps.md)
83
+ section to learn the basic features of `instant-python` and create your first project.
@@ -24,6 +24,20 @@ commands like `ng new` or `create-react-app`, but for Python projects.
24
24
 
25
25
  </td></tr></table></div>
26
26
 
27
+ ## Quick Start
28
+
29
+ Once [installed](../getting_started/installation.md), generating a project takes two commands:
30
+
31
+ ```bash
32
+ ipy config # answer a few questions through an interactive wizard to create your ipy.yml configuration file
33
+ ipy init # generate the project from that configuration file
34
+ ```
35
+
36
+ - `ipy config` asks you about your project (name, Python version, project manager, template, dependencies, and more) and writes an `ipy.yml` configuration file in the current directory.
37
+ - `ipy init` reads that `ipy.yml` file and generates your new project.
38
+
39
+ See the [First Steps](../getting_started/first_steps.md) guide for a full walkthrough.
40
+
27
41
  ## Navigation Guide
28
42
 
29
43
  This section provides a high-level overview of the `instant-python` documentation
@@ -0,0 +1 @@
1
+ __version__ = "0.26.0"
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "instant-python"
7
- version = "0.25.0"
7
+ version = "0.26.0"
8
8
  description = "Instant boilerplate generation for Python projects"
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE" }
@@ -47,6 +47,11 @@ ipy = "instant_python.cli.cli:app"
47
47
  [project.optional-dependencies]
48
48
  build = ["uv>=0.7.21"]
49
49
 
50
+ [tool.hatch.build.targets.binary]
51
+ scripts = ["ipy"]
52
+ python-version = "3.12"
53
+ pyapp-version = "0.29.0"
54
+
50
55
 
51
56
  [dependency-groups]
52
57
  dev = [
@@ -61,12 +61,6 @@
61
61
  "type": "string",
62
62
  "description": "Package and dependency manager",
63
63
  "enum": ["uv", "pdm"]
64
- },
65
- "year": {
66
- "type": "integer",
67
- "description": "Year for license and copyright (defaults to current year)",
68
- "minimum": 2000,
69
- "maximum": 2100
70
64
  }
71
65
  }
72
66
  },
@@ -153,7 +147,9 @@
153
147
  "fastapi_application",
154
148
  "precommit_hook",
155
149
  "citation_file",
156
- "security_file"
150
+ "security_file",
151
+ "ai_agents",
152
+ "custom_documentation"
157
153
  ]
158
154
  },
159
155
  "uniqueItems": true,
@@ -0,0 +1,81 @@
1
+ # Install the latest instant-python (ipy) release binary for Windows.
2
+ #
3
+ # Usage:
4
+ #
5
+ # powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/dimanu-py/instant-python/main/scripts/install.ps1 | iex"
6
+ #
7
+ # Overridable via env vars:
8
+ # IPY_BIN_DIR install destination directory (default: $env:USERPROFILE\.local\bin)
9
+
10
+ $ErrorActionPreference = "Stop"
11
+
12
+ $Repo = "dimanu-py/instant-python"
13
+ $Target = "x86_64-pc-windows-msvc"
14
+ $BinDir = if ($env:IPY_BIN_DIR) { $env:IPY_BIN_DIR } else { Join-Path $env:USERPROFILE ".local\bin" }
15
+ $Dest = Join-Path $BinDir "ipy.exe"
16
+
17
+ # --- confirm the current machine matches our only prebuilt target -----------
18
+ function Confirm-SupportedArchitecture {
19
+ $arch = $env:PROCESSOR_ARCHITECTURE
20
+ if ($arch -ne "AMD64") {
21
+ Write-Error "ipy: no prebuilt binary for Windows-$arch. Install via 'uv tool install instant-python' or pipx/pip instead - see https://dimanu-py.github.io/instant-python/getting_started/installation/"
22
+ exit 1
23
+ }
24
+ }
25
+
26
+ # --- download the matching release asset -------------------------------------
27
+ function Get-Binary {
28
+ param([string]$Destination)
29
+
30
+ $url = "https://github.com/$Repo/releases/latest/download/ipy-${Target}.exe"
31
+ Write-Host "ipy: downloading latest release for $Target ..."
32
+ Invoke-WebRequest -Uri $url -OutFile $Destination -UseBasicParsing
33
+ }
34
+
35
+ # --- move the binary into place ------------------------------------------------
36
+ function Install-Binary {
37
+ param([string]$Source)
38
+
39
+ Write-Host "ipy: installing to $Dest ..."
40
+ New-Item -ItemType Directory -Force -Path $BinDir | Out-Null
41
+ Move-Item -Force -Path $Source -Destination $Dest
42
+ }
43
+
44
+ # Persist the install dir on the user's PATH so `ipy` works in new terminals.
45
+ function Add-InstallDirToPath {
46
+ $userPath = [Environment]::GetEnvironmentVariable("Path", "User")
47
+ $pathEntries = $userPath -split ";" | Where-Object { $_ -ne "" }
48
+
49
+ if ($pathEntries -notcontains $BinDir) {
50
+ $newPath = if ($userPath) { "$userPath;$BinDir" } else { $BinDir }
51
+ [Environment]::SetEnvironmentVariable("Path", $newPath, "User")
52
+ Write-Host "ipy: added $BinDir to your user PATH. Restart your terminal to pick it up."
53
+ }
54
+
55
+ if (($env:Path -split ";") -notcontains $BinDir) {
56
+ $env:Path = "$env:Path;$BinDir"
57
+ }
58
+ }
59
+
60
+ function Confirm-Installation {
61
+ & $Dest --version
62
+ }
63
+
64
+ function Main {
65
+ Confirm-SupportedArchitecture
66
+
67
+ $tmp = Join-Path ([System.IO.Path]::GetTempPath()) ([System.IO.Path]::GetRandomFileName())
68
+ New-Item -ItemType Directory -Force -Path $tmp | Out-Null
69
+ try {
70
+ $download = Join-Path $tmp "ipy.exe"
71
+ Get-Binary -Destination $download
72
+ Install-Binary -Source $download
73
+ Add-InstallDirToPath
74
+ Confirm-Installation
75
+ }
76
+ finally {
77
+ Remove-Item -Recurse -Force $tmp -ErrorAction SilentlyContinue
78
+ }
79
+ }
80
+
81
+ Main
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env sh
2
+ # Install the latest instant-python (ipy) release binary for the current platform.
3
+ #
4
+ # Usage:
5
+ #
6
+ # curl -LsSf https://raw.githubusercontent.com/dimanu-py/instant-python/main/scripts/install.sh | sh
7
+ #
8
+ # Overridable via env vars:
9
+ # IPY_BIN_DIR install destination directory (default: $HOME/.local/bin)
10
+ set -eu
11
+
12
+ REPO="dimanu-py/instant-python"
13
+ BIN_DIR="${IPY_BIN_DIR:-$HOME/.local/bin}"
14
+ DEST="$BIN_DIR/ipy"
15
+
16
+ # --- detect platform -> release target triple --------------------------------
17
+ detect_target() {
18
+ os="$(uname -s)"
19
+ arch="$(uname -m)"
20
+ case "$os-$arch" in
21
+ Darwin-arm64) target="aarch64-apple-darwin" ;;
22
+ Linux-x86_64) target="x86_64-unknown-linux-gnu" ;;
23
+ Linux-aarch64|Linux-arm64) target="aarch64-unknown-linux-gnu" ;;
24
+ *)
25
+ echo "ipy: no prebuilt binary for $os-$arch." >&2
26
+ echo "ipy: install via pipx or pip instead - see https://dimanu-py.github.io/instant-python/getting_started/installation/" >&2
27
+ exit 1
28
+ ;;
29
+ esac
30
+ }
31
+
32
+ # --- download the matching release asset --------------------------------------
33
+ download_binary() {
34
+ destination="$1"
35
+
36
+ echo "ipy: downloading latest release for $target ..." >&2
37
+ curl -fsSL -o "$destination" "https://github.com/$REPO/releases/latest/download/ipy-$target"
38
+ }
39
+
40
+ # --- move the binary into place and make it executable ------------------------
41
+ install_binary() {
42
+ source="$1"
43
+
44
+ echo "ipy: installing to $DEST ..." >&2
45
+ mkdir -p "$BIN_DIR"
46
+ mv "$source" "$DEST"
47
+ chmod +x "$DEST"
48
+ }
49
+
50
+ # macOS: clear quarantine (no-op if absent) and ad-hoc sign so Gatekeeper allows it.
51
+ macos_allow_execution() {
52
+ if [ "$os" = "Darwin" ]; then
53
+ xattr -d com.apple.quarantine "$DEST" 2>/dev/null || true
54
+ codesign --force --deep --sign - "$DEST"
55
+ fi
56
+ }
57
+
58
+ verify_installation() {
59
+ "$DEST" --version
60
+ }
61
+
62
+ # Warn the user if the install directory isn't already on their PATH.
63
+ warn_if_not_on_path() {
64
+ case ":$PATH:" in
65
+ *":$BIN_DIR:"*) ;;
66
+ *)
67
+ echo "" >&2
68
+ echo "ipy: installed to $DEST, but $BIN_DIR is not on your PATH." >&2
69
+ echo "ipy: add this to your shell profile: export PATH=\"$BIN_DIR:\$PATH\"" >&2
70
+ ;;
71
+ esac
72
+ }
73
+
74
+ main() {
75
+ tmp="$(mktemp -d)"
76
+ trap 'rm -rf "$tmp"' EXIT
77
+ download="$tmp/ipy"
78
+
79
+ detect_target
80
+ download_binary "$download"
81
+ install_binary "$download"
82
+ macos_allow_execution
83
+ verify_installation
84
+ warn_if_not_on_path
85
+ }
86
+
87
+ main "$@"
@@ -410,11 +410,14 @@ wheels = [
410
410
 
411
411
  [[package]]
412
412
  name = "click"
413
- version = "8.5.0"
413
+ version = "8.3.3"
414
414
  source = { registry = "https://pypi.org/simple" }
415
- sdist = { url = "https://files.pythonhosted.org/packages/c7/0e/7fa0ef50764b67090eca4114772a2abf8b6148198475e54c660b97caeee6/click-8.5.0.tar.gz", hash = "sha256:ba0d2089de75ea0310e2dde03160e6ca10009947fb95a182f9b54021bb272e34", size = 382235, upload-time = "2026-08-26T13:33:14.56Z" }
415
+ dependencies = [
416
+ { name = "colorama", marker = "sys_platform == 'win32'" },
417
+ ]
418
+ sdist = { url = "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz", hash = "sha256:398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2", size = 328061, upload-time = "2026-04-22T15:11:27.506Z" }
416
419
  wheels = [
417
- { url = "https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl", hash = "sha256:255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360", size = 125251, upload-time = "2026-08-26T13:33:12.928Z" },
420
+ { url = "https://files.pythonhosted.org/packages/ae/44/c1221527f6a71a01ec6fbad7fa78f1d50dfa02217385cf0fa3eec7087d59/click-8.3.3-py3-none-any.whl", hash = "sha256:a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613", size = 110502, upload-time = "2026-04-22T15:11:25.044Z" },
418
421
  ]
419
422
 
420
423
  [[package]]
@@ -823,7 +826,7 @@ wheels = [
823
826
 
824
827
  [[package]]
825
828
  name = "instant-python"
826
- version = "0.25.0"
829
+ version = "0.26.0"
827
830
  source = { editable = "." }
828
831
  dependencies = [
829
832
  { name = "click" },
@@ -1,40 +0,0 @@
1
- To ensure a clean and isolated environment, we recommend installing `instant-python` using a virtual environment. At your
2
- own risk, you can install it at your system Python installation, but this is not recommended.
3
- Below are the preferred installation methods.
4
-
5
- !!! note "Supported Python Versions"
6
- Instant Python tries to support the latest Python versions, we officially support from Python 3.10 to 3.13.
7
- Older versions of Python may work, but they are not guaranteed to be compatible.
8
-
9
- ## Installation Methods
10
-
11
- ### Using `pipx`
12
-
13
- The recommended way to install `instant-python` is using `pipx`. `pipx` installs Python applications in isolated environments, ensuring that
14
- they do not interfere with other Python applications.
15
-
16
- ```bash
17
- pipx install instant-python
18
- ```
19
-
20
- If you do not have `pipx` installed, you can install it using `pip`.
21
-
22
- ```bash
23
- pip install --user pipx
24
- ```
25
-
26
- ### Using `pyenv`
27
-
28
- If you already manage your Python versions using a tool like Pyenv, you can install `instant-python` using `pip` with
29
- pyenv's global Python version.
30
-
31
- ```bash
32
- pip install instant-python
33
- ```
34
-
35
- A guide to install and configure pyenv can be found [here](https://github.com/pyenv/pyenv?tab=readme-ov-file#installation)
36
-
37
- ## Next steps
38
-
39
- Now that you have installed `instant-python` you can advance to the [first steps](first_steps.md)
40
- section to learn the basic features of `instant-python` and create your first project.
@@ -1 +0,0 @@
1
- __version__ = "0.25.0"
File without changes