oe-python-template 0.6.2__tar.gz → 0.6.4__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 (167) hide show
  1. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.copier-answers.yml +1 -1
  2. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/CHANGELOG.md +12 -1
  3. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/PKG-INFO +2 -2
  4. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/README.md +1 -1
  5. oe_python_template-0.6.4/RELEASE_NOTES.md +12 -0
  6. oe_python_template-0.6.4/VERSION +1 -0
  7. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/partials/README_main.md +1 -1
  8. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/_static/openapi_v1.yaml +32 -16
  9. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/_static/openapi_v2.yaml +32 -16
  10. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/conf.py +1 -1
  11. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/noxfile.py +1 -1
  12. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/pyproject.toml +5 -5
  13. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/sonar-project.properties +1 -1
  14. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/src/oe_python_template/api.py +12 -9
  15. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/partials/README_main.md.jinja +1 -1
  16. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/noxfile.py.jinja +1 -1
  17. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/src/{{ project_name_snake_case }}/api.py.jinja +12 -10
  18. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/tests/api_test.py.jinja +20 -14
  19. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/tests/api_test.py +20 -14
  20. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/uv.lock +1 -1
  21. oe_python_template-0.6.2/RELEASE_NOTES.md +0 -8
  22. oe_python_template-0.6.2/VERSION +0 -1
  23. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.act-env-public +0 -0
  24. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.devcontainer/Dockerfile +0 -0
  25. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.devcontainer/devcontainer.json +0 -0
  26. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.devcontainer/onCreateCommand +0 -0
  27. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.devcontainer/postAttachCommand +0 -0
  28. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.devcontainer/postCreateCommand +0 -0
  29. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.env.example +0 -0
  30. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.github/copilot-instructions.md +0 -0
  31. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.github/dependabot.yml +0 -0
  32. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.github/prompts/.keep +0 -0
  33. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.github/workflows/codeql.yml +0 -0
  34. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.github/workflows/docker-image-build-publish.yml +0 -0
  35. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.github/workflows/package-build-publish-release.yml +0 -0
  36. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.github/workflows/test-and-report.yml +0 -0
  37. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.gitignore +0 -0
  38. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.pre-commit-config.yaml +0 -0
  39. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.python-version +0 -0
  40. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.readthedocs.yml +0 -0
  41. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.secrets.baseline +0 -0
  42. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.vscode/extensions.json +0 -0
  43. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/.vscode/settings.json +0 -0
  44. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/CODEOWNERS +0 -0
  45. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/CODE_STYLE.md +0 -0
  46. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/CONTRIBUTING.md +0 -0
  47. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/Dockerfile +0 -0
  48. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/LICENSE +0 -0
  49. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/SECURITY.md +0 -0
  50. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/SERVICE_CONNECTIONS.md +0 -0
  51. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/bin/git-cliff +0 -0
  52. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/codecov.yml +0 -0
  53. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/compose.yaml +0 -0
  54. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/copier.yml +0 -0
  55. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/Makefile +0 -0
  56. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/make.bat +0 -0
  57. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/partials/README_footer.md +0 -0
  58. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/partials/README_header.md +0 -0
  59. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/_static/.keep +0 -0
  60. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/_static/openapi_v1.json +0 -0
  61. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/_static/openapi_v2.json +0 -0
  62. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/api_v1.rst +0 -0
  63. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/api_v2.rst +0 -0
  64. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/code-style.rst +0 -0
  65. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/contributing.rst +0 -0
  66. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/index.rst +0 -0
  67. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/latexmkrc +0 -0
  68. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/main.rst +0 -0
  69. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/reference.rst +0 -0
  70. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/release-notes.rst +0 -0
  71. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/docs/source/security.rst +0 -0
  72. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/examples/__init__.py +0 -0
  73. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/examples/notebook.ipynb +0 -0
  74. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/examples/notebook.py +0 -0
  75. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/examples/script.py +0 -0
  76. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/examples/streamlit.py +0 -0
  77. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/CHANGELOG.md +0 -0
  78. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/LICENSE-APACHE +0 -0
  79. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/LICENSE-MIT +0 -0
  80. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/README.md +0 -0
  81. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/completions/_git-cliff +0 -0
  82. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/completions/_git-cliff.ps1 +0 -0
  83. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/completions/git-cliff.bash +0 -0
  84. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/completions/git-cliff.elv +0 -0
  85. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/completions/git-cliff.fish +0 -0
  86. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/git-cliff-completions +0 -0
  87. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/git-cliff-mangen +0 -0
  88. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0/man/git-cliff.1 +0 -0
  89. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/git-cliff-2.7.0-x86_64-unknown-linux-gnu.tar.gz +0 -0
  90. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/github-action-run +0 -0
  91. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/logo.png +0 -0
  92. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/n +0 -0
  93. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/renovate.json +0 -0
  94. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/reports/.keep +0 -0
  95. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/src/oe_python_template/__init__.py +0 -0
  96. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/src/oe_python_template/cli.py +0 -0
  97. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/src/oe_python_template/constants.py +0 -0
  98. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/src/oe_python_template/service.py +0 -0
  99. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.act-env-public.jinja +0 -0
  100. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.devcontainer/Dockerfile.jinja +0 -0
  101. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.devcontainer/devcontainer.json.jinja +0 -0
  102. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.devcontainer/onCreateCommand.jinja +0 -0
  103. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.devcontainer/postAttachCommand.jinja +0 -0
  104. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.devcontainer/postCreateCommand.jinja +0 -0
  105. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.env.example.jinja +0 -0
  106. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.github/copilot-instructions.md +0 -0
  107. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.github/dependabot.yml +0 -0
  108. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.github/workflows/codeql.yml +0 -0
  109. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.github/workflows/docker-image-build-publish.yml.jinja +0 -0
  110. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.github/workflows/package-build-publish-release.yml.jinja +0 -0
  111. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.github/workflows/test-and-report.yml.jinja +0 -0
  112. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.gitignore.jinja +0 -0
  113. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.pre-commit-config.yaml.jinja +0 -0
  114. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.python-version +0 -0
  115. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.readthedocs.yml.jinja +0 -0
  116. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.vscode/extensions.json +0 -0
  117. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/.vscode/settings.json.jinja +0 -0
  118. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/CHANGELOG.md +0 -0
  119. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/CODEOWNERS.jinja +0 -0
  120. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/CODE_STYLE.md.jinja +0 -0
  121. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/CONTRIBUTING.md.jinja +0 -0
  122. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/Dockerfile.jinja +0 -0
  123. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/LICENSE.jinja +0 -0
  124. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/README.md +0 -0
  125. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/SECURITY.md.jinja +0 -0
  126. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/SERVICE_CONNECTIONS.md.jinja +0 -0
  127. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/VERSION +0 -0
  128. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/codecov.yml.jinja +0 -0
  129. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/compose.yaml.jinja +0 -0
  130. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/Makefile.jinja +0 -0
  131. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/make.bat.jinja +0 -0
  132. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/partials/README_footer.md.jinja +0 -0
  133. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/partials/README_header.md.jinja +0 -0
  134. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/_static/.keep +0 -0
  135. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/api_v1.rst.jinja +0 -0
  136. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/api_v2.rst.jinja +0 -0
  137. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/code-style.rst.jinja +0 -0
  138. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/conf.py.jinja +0 -0
  139. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/contributing.rst.jinja +0 -0
  140. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/index.rst.jinja +0 -0
  141. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/main.rst.jinja +0 -0
  142. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/reference.rst.jinja +0 -0
  143. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/release-notes.rst.jinja +0 -0
  144. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/docs/source/security.rst.jinja +0 -0
  145. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/examples/__init__.py.jinja +0 -0
  146. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/examples/notebook.ipynb.jinja +0 -0
  147. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/examples/notebook.py.jinja +0 -0
  148. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/examples/script.py.jinja +0 -0
  149. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/examples/streamlit.py.jinja +0 -0
  150. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/github-action-run.jinja +0 -0
  151. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/logo.png +0 -0
  152. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/n.jinja +0 -0
  153. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/pyproject.toml.jinja +0 -0
  154. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/renovate.json +0 -0
  155. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/reports/.keep +0 -0
  156. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/sonar-project.properties.jinja +0 -0
  157. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/src/{{ project_name_snake_case }}/__init__.py.jinja +0 -0
  158. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/src/{{ project_name_snake_case }}/cli.py.jinja +0 -0
  159. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/src/{{ project_name_snake_case }}/constants.py.jinja +0 -0
  160. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/src/{{ project_name_snake_case }}/service.py.jinja +0 -0
  161. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/tests/__init__.py.jinja +0 -0
  162. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/tests/cli_test.py.jinja +0 -0
  163. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/tests/fixtures/.keep +0 -0
  164. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/template/{{_copier_conf.answers_file}}.jinja +0 -0
  165. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/tests/__init__.py +0 -0
  166. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/tests/cli_test.py +0 -0
  167. {oe_python_template-0.6.2 → oe_python_template-0.6.4}/tests/fixtures/.keep +0 -0
@@ -1,4 +1,4 @@
1
- _commit: v0.6.1-1-gd572e52
1
+ _commit: v0.6.2-1-g1d41c71
2
2
  _src_path: .
3
3
  author_email: helmuthva@gmail.com
4
4
  author_github_username: helmut-hoffer-von-ankershoffen
@@ -1,6 +1,17 @@
1
1
  [🧠 OE Python Template](https://oe-python-template.readthedocs.io/en/latest/)
2
2
 
3
- ## [0.6.2](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.6.1..0.6.2) - 2025-03-17
3
+ ## [0.6.4](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.6.2..0.6.4) - 2025-03-17
4
+
5
+ ### 🚜 Refactor
6
+
7
+ - Dry - ([c427611](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/c4276118dfbef8c729011462550e1a2d565fe7b6))
8
+
9
+ ### ⚙️ Miscellaneous Tasks
10
+
11
+ - Bump - ([e5993ee](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/e5993eee24425279d2aed636c913d49b4aa0149a))
12
+
13
+
14
+ ## [0.6.2](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.6.1..v0.6.2) - 2025-03-17
4
15
 
5
16
  ### 📚 Documentation
6
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oe-python-template
3
- Version: 0.6.2
3
+ Version: 0.6.4
4
4
  Summary: 🧠 Copier template to scaffold Python projects compliant with best practices and modern tooling.
5
5
  Project-URL: Homepage, https://oe-python-template.readthedocs.io/en/latest/
6
6
  Project-URL: Documentation, https://oe-python-template.readthedocs.io/en/latest/
@@ -130,7 +130,7 @@ uv tool install copier # Install copier as global
130
130
 
131
131
  **Step 3**: Scaffold the project
132
132
  ```shell
133
- copier copy gh:helmut-hoffer-von-ankershoffen/oe-python-template . --trust
133
+ copier copy --trust gh:helmut-hoffer-von-ankershoffen/oe-python-template . --trust
134
134
  ```
135
135
 
136
136
  **Step 4**: Perform initial commit and push
@@ -69,7 +69,7 @@ uv tool install copier # Install copier as global
69
69
 
70
70
  **Step 3**: Scaffold the project
71
71
  ```shell
72
- copier copy gh:helmut-hoffer-von-ankershoffen/oe-python-template . --trust
72
+ copier copy --trust gh:helmut-hoffer-von-ankershoffen/oe-python-template . --trust
73
73
  ```
74
74
 
75
75
  **Step 4**: Perform initial commit and push
@@ -0,0 +1,12 @@
1
+ ## [0.6.4](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.6.2..v0.6.4) - 2025-03-17
2
+
3
+ ### 🚜 Refactor
4
+
5
+ - Dry - ([c427611](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/c4276118dfbef8c729011462550e1a2d565fe7b6))
6
+
7
+ ### ⚙️ Miscellaneous Tasks
8
+
9
+ - Bump - ([e5993ee](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/e5993eee24425279d2aed636c913d49b4aa0149a))
10
+
11
+
12
+
@@ -0,0 +1 @@
1
+ 0.6.4
@@ -27,7 +27,7 @@ uv tool install copier # Install copier as global
27
27
 
28
28
  **Step 3**: Scaffold the project
29
29
  ```shell
30
- copier copy gh:helmut-hoffer-von-ankershoffen/oe-python-template . --trust
30
+ copier copy --trust gh:helmut-hoffer-von-ankershoffen/oe-python-template . --trust
31
31
  ```
32
32
 
33
33
  **Step 4**: Perform initial commit and push
@@ -104,9 +104,12 @@ openapi: 3.1.0
104
104
  paths:
105
105
  /echo:
106
106
  post:
107
- description: "Echo back the provided text.\n\nArgs:\n request (EchoRequest):\
108
- \ The request containing the text to echo back.\n\nReturns:\n EchoResponse:\
109
- \ A response containing the echoed text.\n\nRaises:\n 422 Unprocessable\
107
+ description: "Echo back the provided text.\n\nArgs:\n request
108
+ (EchoRequest):\
109
+ \ The request containing the text to echo back.\n\nReturns:\n
110
+ EchoResponse:\
111
+ \ A response containing the echoed text.\n\nRaises:\n 422
112
+ Unprocessable\
110
113
  \ Entity: If text is not provided or empty."
111
114
  operationId: echo_echo_post
112
115
  requestBody:
@@ -133,12 +136,18 @@ paths:
133
136
  - Basics
134
137
  /health:
135
138
  get:
136
- description: "Check the health of the service.\n\nThis endpoint returns the\
137
- \ health status of the service.\nThe health status can be either UP or DOWN.\n\
138
- If the service is healthy, the status will be UP.\nIf the service is unhealthy,\
139
- \ the status will be DOWN and a reason will be provided.\nThe response will\
140
- \ have a 200 OK status code if the service is healthy,\nand a 500 Internal\
141
- \ Server Error status code if the service is unhealthy.\n\nReturns:\n Health:\
139
+ description: "Check the health of the service.\n\nThis endpoint returns
140
+ the\
141
+ \ health status of the service.\nThe health status can be either UP or
142
+ DOWN.\n\
143
+ If the service is healthy, the status will be UP.\nIf the service is
144
+ unhealthy,\
145
+ \ the status will be DOWN and a reason will be provided.\nThe response
146
+ will\
147
+ \ have a 200 OK status code if the service is healthy,\nand a 500
148
+ Internal\
149
+ \ Server Error status code if the service is unhealthy.\n\nReturns:\n
150
+ Health:\
142
151
  \ The health status of the service."
143
152
  operationId: health_health_get
144
153
  responses:
@@ -153,12 +162,18 @@ paths:
153
162
  - Observability
154
163
  /healthz:
155
164
  get:
156
- description: "Check the health of the service.\n\nThis endpoint returns the\
157
- \ health status of the service.\nThe health status can be either UP or DOWN.\n\
158
- If the service is healthy, the status will be UP.\nIf the service is unhealthy,\
159
- \ the status will be DOWN and a reason will be provided.\nThe response will\
160
- \ have a 200 OK status code if the service is healthy,\nand a 500 Internal\
161
- \ Server Error status code if the service is unhealthy.\n\nReturns:\n Health:\
165
+ description: "Check the health of the service.\n\nThis endpoint returns
166
+ the\
167
+ \ health status of the service.\nThe health status can be either UP or
168
+ DOWN.\n\
169
+ If the service is healthy, the status will be UP.\nIf the service is
170
+ unhealthy,\
171
+ \ the status will be DOWN and a reason will be provided.\nThe response
172
+ will\
173
+ \ have a 200 OK status code if the service is healthy,\nand a 500
174
+ Internal\
175
+ \ Server Error status code if the service is unhealthy.\n\nReturns:\n
176
+ Health:\
162
177
  \ The health status of the service."
163
178
  operationId: health_healthz_get
164
179
  responses:
@@ -173,7 +188,8 @@ paths:
173
188
  - Observability
174
189
  /hello-world:
175
190
  get:
176
- description: "Return a hello world message.\n\nReturns:\n HelloWorldResponse:\
191
+ description: "Return a hello world message.\n\nReturns:\n
192
+ HelloWorldResponse:\
177
193
  \ A response containing the hello world message."
178
194
  operationId: hello_world_hello_world_get
179
195
  responses:
@@ -104,9 +104,12 @@ openapi: 3.1.0
104
104
  paths:
105
105
  /echo:
106
106
  post:
107
- description: "Echo back the provided utterance.\n\nArgs:\n request (Utterance):\
108
- \ The request containing the utterance to echo back.\n\nReturns:\n EchoResponse:\
109
- \ A response containing the echoed utterance.\n\nRaises:\n 422 Unprocessable\
107
+ description: "Echo back the provided utterance.\n\nArgs:\n request
108
+ (Utterance):\
109
+ \ The request containing the utterance to echo back.\n\nReturns:\n
110
+ EchoResponse:\
111
+ \ A response containing the echoed utterance.\n\nRaises:\n 422
112
+ Unprocessable\
110
113
  \ Entity: If utterance is not provided or empty."
111
114
  operationId: echo_v2_echo_post
112
115
  requestBody:
@@ -133,12 +136,18 @@ paths:
133
136
  - Basics
134
137
  /health:
135
138
  get:
136
- description: "Check the health of the service.\n\nThis endpoint returns the\
137
- \ health status of the service.\nThe health status can be either UP or DOWN.\n\
138
- If the service is healthy, the status will be UP.\nIf the service is unhealthy,\
139
- \ the status will be DOWN and a reason will be provided.\nThe response will\
140
- \ have a 200 OK status code if the service is healthy,\nand a 500 Internal\
141
- \ Server Error status code if the service is unhealthy.\n\nReturns:\n Health:\
139
+ description: "Check the health of the service.\n\nThis endpoint returns
140
+ the\
141
+ \ health status of the service.\nThe health status can be either UP or
142
+ DOWN.\n\
143
+ If the service is healthy, the status will be UP.\nIf the service is
144
+ unhealthy,\
145
+ \ the status will be DOWN and a reason will be provided.\nThe response
146
+ will\
147
+ \ have a 200 OK status code if the service is healthy,\nand a 500
148
+ Internal\
149
+ \ Server Error status code if the service is unhealthy.\n\nReturns:\n
150
+ Health:\
142
151
  \ The health status of the service."
143
152
  operationId: health_health_get
144
153
  responses:
@@ -153,12 +162,18 @@ paths:
153
162
  - Observability
154
163
  /healthz:
155
164
  get:
156
- description: "Check the health of the service.\n\nThis endpoint returns the\
157
- \ health status of the service.\nThe health status can be either UP or DOWN.\n\
158
- If the service is healthy, the status will be UP.\nIf the service is unhealthy,\
159
- \ the status will be DOWN and a reason will be provided.\nThe response will\
160
- \ have a 200 OK status code if the service is healthy,\nand a 500 Internal\
161
- \ Server Error status code if the service is unhealthy.\n\nReturns:\n Health:\
165
+ description: "Check the health of the service.\n\nThis endpoint returns
166
+ the\
167
+ \ health status of the service.\nThe health status can be either UP or
168
+ DOWN.\n\
169
+ If the service is healthy, the status will be UP.\nIf the service is
170
+ unhealthy,\
171
+ \ the status will be DOWN and a reason will be provided.\nThe response
172
+ will\
173
+ \ have a 200 OK status code if the service is healthy,\nand a 500
174
+ Internal\
175
+ \ Server Error status code if the service is unhealthy.\n\nReturns:\n
176
+ Health:\
162
177
  \ The health status of the service."
163
178
  operationId: health_healthz_get
164
179
  responses:
@@ -173,7 +188,8 @@ paths:
173
188
  - Observability
174
189
  /hello-world:
175
190
  get:
176
- description: "Return a hello world message.\n\nReturns:\n HelloWorldResponse:\
191
+ description: "Return a hello world message.\n\nReturns:\n
192
+ HelloWorldResponse:\
177
193
  \ A response containing the hello world message."
178
194
  operationId: hello_world_hello_world_get
179
195
  responses:
@@ -29,7 +29,7 @@ extensions = [
29
29
  project = "oe-python-template"
30
30
  author = "Helmut Hoffer von Ankershoffen"
31
31
  copyright = f" (c) 2025-{datetime.now(UTC).year}, {author}" # noqa: A001
32
- version = "0.6.2"
32
+ version = "0.6.4"
33
33
  release = version
34
34
  github_username = "helmut-hoffer-von-ankershoffen"
35
35
  github_repository = "oe-python-template"
@@ -191,7 +191,7 @@ def bump(session: nox.Session) -> None:
191
191
  version_part = session.posargs[0] if session.posargs else "patch"
192
192
 
193
193
  # Check if the version_part is a specific version (e.g., 1.2.3)
194
- if re.match(r"^[0-9]+\.[0-9]+\.[0-9]+$", version_part):
194
+ if re.match(r"^\d+\.\d+\.\d+$", version_part):
195
195
  session.run("bump-my-version", "bump", "--new-version", version_part, external=True)
196
196
  else:
197
197
  session.run("bump-my-version", "bump", version_part, external=True)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "oe-python-template"
3
- version = "0.6.2"
3
+ version = "0.6.4"
4
4
  description = "🧠 Copier template to scaffold Python projects compliant with best practices and modern tooling."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -188,7 +188,7 @@ ignore = [
188
188
  [tool.ruff.lint.extend-per-file-ignores]
189
189
  "examples/notebook.py" = [
190
190
  # we are more relaxed in notebooks, while sill applying hundreds of rules
191
- "B018", # notebooks surface variable without print
191
+ "B018", # notebooks surface variable without print
192
192
  ]
193
193
 
194
194
  [tool.ruff.format]
@@ -197,7 +197,7 @@ docstring-code-format = true
197
197
  [tool.ruff.lint.pydocstyle]
198
198
  convention = "google"
199
199
 
200
- [tool.mypy] # https://mypy.readthedocs.io/en/latest/config_file.html
200
+ [tool.mypy] # https://mypy.readthedocs.io/en/latest/config_file.html
201
201
  junit_xml = "reports/mypy_junit.xml"
202
202
  plugins = "pydantic.mypy"
203
203
  strict = true
@@ -210,7 +210,7 @@ show_error_codes = true
210
210
  show_error_context = true
211
211
  warn_unreachable = true
212
212
 
213
- [tool.pydantic-mypy] # https://docs.pydantic.dev/latest/integrations/mypy/#configuring-the-plugin
213
+ [tool.pydantic-mypy] # https://docs.pydantic.dev/latest/integrations/mypy/#configuring-the-plugin
214
214
  init_forbid_extra = true
215
215
  init_typed = true
216
216
  warn_required_dynamic_aliases = true
@@ -242,7 +242,7 @@ source = ["src/"]
242
242
 
243
243
 
244
244
  [tool.bumpversion]
245
- current_version = "0.6.2"
245
+ current_version = "0.6.4"
246
246
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
247
247
  serialize = ["{major}.{minor}.{patch}"]
248
248
  search = "{current_version}"
@@ -1,6 +1,6 @@
1
1
  sonar.projectKey=helmut-hoffer-von-ankershoffen_oe-python-template
2
2
  sonar.organization=helmut-hoffer-von-ankershoffen
3
- sonar.projectVersion=0.6.2
3
+ sonar.projectVersion=0.6.4
4
4
  sonar.projectDescription=🧠 Copier template to scaffold Python projects compliant with best practices and modern tooling.
5
5
  sonar.links.homepage=https://oe-python-template.readthedocs.io/en/latest/
6
6
  sonar.links.scm=https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template
@@ -21,6 +21,9 @@ from oe_python_template import Service
21
21
  HELLO_WORLD_EXAMPLE = "Hello, world!"
22
22
  UVICORN_HOST = os.environ.get("UVICORN_HOST", "127.0.0.1")
23
23
  UVICORN_PORT = os.environ.get("UVICORN_PORT", "8000")
24
+ CONTACT_NAME = "Helmut Hoffer von Ankershoffen"
25
+ CONTACT_EMAIL = "helmuthva@gmail.com"
26
+ CONTACT_URL = "https://github.com/helmut-hoffer-von-ankershoffen"
24
27
 
25
28
 
26
29
  def get_service() -> Generator[Service, None, None]:
@@ -41,9 +44,9 @@ api = FastAPI(
41
44
  root_path="/api",
42
45
  title="OE Python Template",
43
46
  contact={
44
- "name": "Helmut Hoffer von Ankershoffen",
45
- "email": "helmuthva@gmail.com",
46
- "url": "https://github.com/helmut-hoffer-von-ankershoffen",
47
+ "name": CONTACT_NAME,
48
+ "email": CONTACT_EMAIL,
49
+ "url": CONTACT_URL,
47
50
  },
48
51
  terms_of_service="https://oe-python-template.readthedocs.io/en/latest/",
49
52
  openapi_tags=[
@@ -70,9 +73,9 @@ api_v1 = FastAPI(
70
73
  version="1.0.0",
71
74
  title="OE Python Template",
72
75
  contact={
73
- "name": "Helmut Hoffer von Ankershoffen",
74
- "email": "helmuthva@gmail.com",
75
- "url": "https://github.com/helmut-hoffer-von-ankershoffen",
76
+ "name": CONTACT_NAME,
77
+ "email": CONTACT_EMAIL,
78
+ "url": CONTACT_URL,
76
79
  },
77
80
  terms_of_service="https://oe-python-template.readthedocs.io/en/latest/",
78
81
  )
@@ -81,9 +84,9 @@ api_v2 = FastAPI(
81
84
  version="2.0.0",
82
85
  title="OE Python Template",
83
86
  contact={
84
- "name": "Helmut Hoffer von Ankershoffen",
85
- "email": "helmuthva@gmail.com",
86
- "url": "https://github.com/helmut-hoffer-von-ankershoffen",
87
+ "name": CONTACT_NAME,
88
+ "email": CONTACT_EMAIL,
89
+ "url": CONTACT_URL,
87
90
  },
88
91
  terms_of_service="https://oe-python-template.readthedocs.io/en/latest/",
89
92
  )
@@ -27,7 +27,7 @@ uv tool install copier # Install copier as global
27
27
 
28
28
  **Step 3**: Scaffold the project
29
29
  ```shell
30
- copier copy gh:helmut-hoffer-von-ankershoffen/oe-python-template . --trust
30
+ copier copy --trust gh:helmut-hoffer-von-ankershoffen/oe-python-template . --trust
31
31
  ```
32
32
 
33
33
  **Step 4**: Perform initial commit and push
@@ -191,7 +191,7 @@ def bump(session: nox.Session) -> None:
191
191
  version_part = session.posargs[0] if session.posargs else "patch"
192
192
 
193
193
  # Check if the version_part is a specific version (e.g., 1.2.3)
194
- if re.match(r"^[0-9]+\.[0-9]+\.[0-9]+$", version_part):
194
+ if re.match(r"^\d+\.\d+\.\d+$", version_part):
195
195
  session.run("bump-my-version", "bump", "--new-version", version_part, external=True)
196
196
  else:
197
197
  session.run("bump-my-version", "bump", version_part, external=True)
@@ -21,7 +21,9 @@ from {{ project_name_snake_case }} import Service
21
21
  HELLO_WORLD_EXAMPLE = "Hello, world!"
22
22
  UVICORN_HOST = os.environ.get("UVICORN_HOST", "127.0.0.1")
23
23
  UVICORN_PORT = os.environ.get("UVICORN_PORT", "8000")
24
-
24
+ CONTACT_NAME = "{{ org_name }}"
25
+ CONTACT_EMAIL = "{{ org_email }}"
26
+ CONTACT_URL = "https://github.com/{{ github_repository_owner }}"
25
27
 
26
28
  def get_service() -> Generator[Service, None, None]:
27
29
  """Get the service instance.
@@ -41,9 +43,9 @@ api = FastAPI(
41
43
  root_path="/api",
42
44
  title="{{ project_name }}",
43
45
  contact={
44
- "name": "{{ org_name }}",
45
- "email": "{{ org_email }}",
46
- "url": "https://github.com/{{ github_repository_owner }}",
46
+ "name": CONTACT_NAME,
47
+ "email": CONTACT_EMAIL,
48
+ "url": CONTACT_URL,
47
49
  },
48
50
  terms_of_service="https://{{ readthedocs_project_key }}.readthedocs.io/en/latest/",
49
51
  openapi_tags=[
@@ -70,9 +72,9 @@ api_v1 = FastAPI(
70
72
  version="1.0.0",
71
73
  title="{{ project_name }}",
72
74
  contact={
73
- "name": "{{ org_name }}",
74
- "email": "{{ org_email }}",
75
- "url": "https://github.com/{{ github_repository_owner }}",
75
+ "name": CONTACT_NAME,
76
+ "email": CONTACT_EMAIL,
77
+ "url": CONTACT_URL,
76
78
  },
77
79
  terms_of_service="https://{{ readthedocs_project_key }}.readthedocs.io/en/latest/",
78
80
  )
@@ -81,9 +83,9 @@ api_v2 = FastAPI(
81
83
  version="2.0.0",
82
84
  title="{{ project_name }}",
83
85
  contact={
84
- "name": "{{ org_name }}",
85
- "email": "{{ org_email }}",
86
- "url": "https://github.com/{{ github_repository_owner }}",
86
+ "name": CONTACT_NAME,
87
+ "email": CONTACT_EMAIL,
88
+ "url": CONTACT_URL,
87
89
  },
88
90
  terms_of_service="https://{{ readthedocs_project_key }}.readthedocs.io/en/latest/",
89
91
  )
@@ -19,6 +19,12 @@ HEALTH_PATH_V2 = "/api/v2/health"
19
19
  HEALTHZ_PATH_V1 = "/api/v1/healthz"
20
20
  HEALTHZ_PATH_V2 = "/api/v2/healthz"
21
21
 
22
+ HELLO_WORLD = "Hello, world!"
23
+
24
+ SERVICE_UP = "UP"
25
+ SERVICE_DOWN = "DOWN"
26
+ SERVICE_IS_UNHEALTHY = "Service is unhealthy"
27
+
22
28
 
23
29
  @pytest.fixture
24
30
  def client() -> TestClient:
@@ -37,11 +43,11 @@ def test_hello_world_endpoint(client: TestClient) -> None:
37
43
  """Test that the hello-world endpoint returns the expected message."""
38
44
  response = client.get(HELLO_WORLD_PATH_V1)
39
45
  assert response.status_code == 200
40
- assert response.json()["message"].startswith("Hello, world!")
46
+ assert response.json()["message"].startswith(HELLO_WORLD)
41
47
 
42
48
  response = client.get(HELLO_WORLD_PATH_V2)
43
49
  assert response.status_code == 200
44
- assert response.json()["message"].startswith("Hello, world!")
50
+ assert response.json()["message"].startswith(HELLO_WORLD)
45
51
 
46
52
 
47
53
  def test_echo_endpoint_valid_input(client: TestClient) -> None:
@@ -79,22 +85,22 @@ def test_health_endpoint(client: TestClient) -> None:
79
85
  """Test that the health endpoint returns UP status."""
80
86
  response = client.get(HEALTH_PATH_V1)
81
87
  assert response.status_code == 200
82
- assert response.json()["status"] == "UP"
88
+ assert response.json()["status"] == SERVICE_UP
83
89
  assert response.json()["reason"] is None
84
90
 
85
91
  response = client.get(HEALTH_PATH_V2)
86
92
  assert response.status_code == 200
87
- assert response.json()["status"] == "UP"
93
+ assert response.json()["status"] == SERVICE_UP
88
94
  assert response.json()["reason"] is None
89
95
 
90
96
  response = client.get(HEALTHZ_PATH_V1)
91
97
  assert response.status_code == 200
92
- assert response.json()["status"] == "UP"
98
+ assert response.json()["status"] == SERVICE_UP
93
99
  assert response.json()["reason"] is None
94
100
 
95
101
  response = client.get(HEALTHZ_PATH_V2)
96
102
  assert response.status_code == 200
97
- assert response.json()["status"] == "UP"
103
+ assert response.json()["status"] == SERVICE_UP
98
104
  assert response.json()["reason"] is None
99
105
 
100
106
 
@@ -107,20 +113,20 @@ def test_health_endpoint_down(mock_service, client: TestClient) -> None:
107
113
 
108
114
  response = client.get(HEALTH_PATH_V1)
109
115
  assert response.status_code == 500
110
- assert response.json()["status"] == "DOWN"
111
- assert response.json()["reason"] == "Service is unhealthy"
116
+ assert response.json()["status"] == SERVICE_DOWN
117
+ assert response.json()["reason"] == SERVICE_IS_UNHEALTHY
112
118
 
113
119
  response = client.get(HEALTH_PATH_V2)
114
120
  assert response.status_code == 500
115
- assert response.json()["status"] == "DOWN"
116
- assert response.json()["reason"] == "Service is unhealthy"
121
+ assert response.json()["status"] == SERVICE_DOWN
122
+ assert response.json()["reason"] == SERVICE_IS_UNHEALTHY
117
123
 
118
124
  response = client.get(HEALTHZ_PATH_V1)
119
125
  assert response.status_code == 500
120
- assert response.json()["status"] == "DOWN"
121
- assert response.json()["reason"] == "Service is unhealthy"
126
+ assert response.json()["status"] == SERVICE_DOWN
127
+ assert response.json()["reason"] == SERVICE_IS_UNHEALTHY
122
128
 
123
129
  response = client.get(HEALTHZ_PATH_V2)
124
130
  assert response.status_code == 500
125
- assert response.json()["status"] == "DOWN"
126
- assert response.json()["reason"] == "Service is unhealthy"
131
+ assert response.json()["status"] == SERVICE_DOWN
132
+ assert response.json()["reason"] == SERVICE_IS_UNHEALTHY
@@ -19,6 +19,12 @@ HEALTH_PATH_V2 = "/api/v2/health"
19
19
  HEALTHZ_PATH_V1 = "/api/v1/healthz"
20
20
  HEALTHZ_PATH_V2 = "/api/v2/healthz"
21
21
 
22
+ HELLO_WORLD = "Hello, world!"
23
+
24
+ SERVICE_UP = "UP"
25
+ SERVICE_DOWN = "DOWN"
26
+ SERVICE_IS_UNHEALTHY = "Service is unhealthy"
27
+
22
28
 
23
29
  @pytest.fixture
24
30
  def client() -> TestClient:
@@ -37,11 +43,11 @@ def test_hello_world_endpoint(client: TestClient) -> None:
37
43
  """Test that the hello-world endpoint returns the expected message."""
38
44
  response = client.get(HELLO_WORLD_PATH_V1)
39
45
  assert response.status_code == 200
40
- assert response.json()["message"].startswith("Hello, world!")
46
+ assert response.json()["message"].startswith(HELLO_WORLD)
41
47
 
42
48
  response = client.get(HELLO_WORLD_PATH_V2)
43
49
  assert response.status_code == 200
44
- assert response.json()["message"].startswith("Hello, world!")
50
+ assert response.json()["message"].startswith(HELLO_WORLD)
45
51
 
46
52
 
47
53
  def test_echo_endpoint_valid_input(client: TestClient) -> None:
@@ -79,22 +85,22 @@ def test_health_endpoint(client: TestClient) -> None:
79
85
  """Test that the health endpoint returns UP status."""
80
86
  response = client.get(HEALTH_PATH_V1)
81
87
  assert response.status_code == 200
82
- assert response.json()["status"] == "UP"
88
+ assert response.json()["status"] == SERVICE_UP
83
89
  assert response.json()["reason"] is None
84
90
 
85
91
  response = client.get(HEALTH_PATH_V2)
86
92
  assert response.status_code == 200
87
- assert response.json()["status"] == "UP"
93
+ assert response.json()["status"] == SERVICE_UP
88
94
  assert response.json()["reason"] is None
89
95
 
90
96
  response = client.get(HEALTHZ_PATH_V1)
91
97
  assert response.status_code == 200
92
- assert response.json()["status"] == "UP"
98
+ assert response.json()["status"] == SERVICE_UP
93
99
  assert response.json()["reason"] is None
94
100
 
95
101
  response = client.get(HEALTHZ_PATH_V2)
96
102
  assert response.status_code == 200
97
- assert response.json()["status"] == "UP"
103
+ assert response.json()["status"] == SERVICE_UP
98
104
  assert response.json()["reason"] is None
99
105
 
100
106
 
@@ -107,20 +113,20 @@ def test_health_endpoint_down(mock_service, client: TestClient) -> None:
107
113
 
108
114
  response = client.get(HEALTH_PATH_V1)
109
115
  assert response.status_code == 500
110
- assert response.json()["status"] == "DOWN"
111
- assert response.json()["reason"] == "Service is unhealthy"
116
+ assert response.json()["status"] == SERVICE_DOWN
117
+ assert response.json()["reason"] == SERVICE_IS_UNHEALTHY
112
118
 
113
119
  response = client.get(HEALTH_PATH_V2)
114
120
  assert response.status_code == 500
115
- assert response.json()["status"] == "DOWN"
116
- assert response.json()["reason"] == "Service is unhealthy"
121
+ assert response.json()["status"] == SERVICE_DOWN
122
+ assert response.json()["reason"] == SERVICE_IS_UNHEALTHY
117
123
 
118
124
  response = client.get(HEALTHZ_PATH_V1)
119
125
  assert response.status_code == 500
120
- assert response.json()["status"] == "DOWN"
121
- assert response.json()["reason"] == "Service is unhealthy"
126
+ assert response.json()["status"] == SERVICE_DOWN
127
+ assert response.json()["reason"] == SERVICE_IS_UNHEALTHY
122
128
 
123
129
  response = client.get(HEALTHZ_PATH_V2)
124
130
  assert response.status_code == 500
125
- assert response.json()["status"] == "DOWN"
126
- assert response.json()["reason"] == "Service is unhealthy"
131
+ assert response.json()["status"] == SERVICE_DOWN
132
+ assert response.json()["reason"] == SERVICE_IS_UNHEALTHY
@@ -2075,7 +2075,7 @@ wheels = [
2075
2075
 
2076
2076
  [[package]]
2077
2077
  name = "oe-python-template"
2078
- version = "0.6.2"
2078
+ version = "0.6.4"
2079
2079
  source = { editable = "." }
2080
2080
  dependencies = [
2081
2081
  { name = "fastapi", extra = ["all", "standard"] },
@@ -1,8 +0,0 @@
1
- ## [0.6.2](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.6.1..v0.6.2) - 2025-03-17
2
-
3
- ### 📚 Documentation
4
-
5
- - *(README)* Add --trust, and simplify by removing manual setup step - ([c4f5ec5](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/c4f5ec569007f852191029a16b9b6743ef0a5cee))
6
-
7
-
8
-
@@ -1 +0,0 @@
1
- 0.6.2