oe-python-template 0.4.3__tar.gz → 0.4.5__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 (155) hide show
  1. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.copier-answers.yml +1 -1
  2. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/CHANGELOG.md +15 -1
  3. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/PKG-INFO +2 -1
  4. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/README.md +1 -0
  5. oe_python_template-0.4.5/RELEASE_NOTES.md +8 -0
  6. oe_python_template-0.4.5/VERSION +1 -0
  7. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/_readme_header.md +1 -0
  8. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/_static/openapi_v1.json +4 -4
  9. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/_static/openapi_v1.yaml +20 -42
  10. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/_static/openapi_v2.json +5 -5
  11. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/_static/openapi_v2.yaml +20 -42
  12. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/api_v2.rst +1 -1
  13. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/conf.py +1 -1
  14. oe_python_template-0.4.5/examples/notebook.ipynb +46 -0
  15. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/pyproject.toml +2 -2
  16. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/sonar-project.properties +1 -1
  17. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/src/oe_python_template/api.py +3 -15
  18. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/_readme_header.md.jinja +4 -0
  19. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/api_v2.rst.jinja +1 -1
  20. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/conf.py.jinja +4 -4
  21. oe_python_template-0.4.5/template/examples/notebook.ipynb.jinja +46 -0
  22. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/examples/streamlit.py.jinja +1 -0
  23. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/noxfile.py.jinja +4 -7
  24. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/src/{{ project_name_snake_case }}/__init__.py.jinja +1 -2
  25. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/src/{{ project_name_snake_case }}/api.py.jinja +13 -24
  26. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/tests/api_test.py.jinja +2 -0
  27. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/uv.lock +1 -1
  28. oe_python_template-0.4.3/RELEASE_NOTES.md +0 -8
  29. oe_python_template-0.4.3/VERSION +0 -1
  30. oe_python_template-0.4.3/examples/jupyter.ipynb +0 -46
  31. oe_python_template-0.4.3/examples/notebook.ipynb +0 -46
  32. oe_python_template-0.4.3/template/examples/notebook.ipynb.jinja +0 -45
  33. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.act-env-public +0 -0
  34. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.devcontainer/Dockerfile +0 -0
  35. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.devcontainer/devcontainer.json +0 -0
  36. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.devcontainer/onCreateCommand +0 -0
  37. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.devcontainer/postAttachCommand +0 -0
  38. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.devcontainer/postCreateCommand +0 -0
  39. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.env.example +0 -0
  40. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.github/workflows/docker-image-build-publish.yml +0 -0
  41. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.github/workflows/package-build-publish-release.yml +0 -0
  42. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.github/workflows/test-and-report.yml +0 -0
  43. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.gitignore +0 -0
  44. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.pre-commit-config.yaml +0 -0
  45. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.python-version +0 -0
  46. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.readthedocs.yml +0 -0
  47. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.secrets.baseline +0 -0
  48. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.vscode/extensions.json +0 -0
  49. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/.vscode/settings.json +0 -0
  50. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/CODEOWNERS +0 -0
  51. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/CONTRIBUTING.md +0 -0
  52. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/Dockerfile +0 -0
  53. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/LICENSE +0 -0
  54. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/SERVICE_CONNECTIONS.md +0 -0
  55. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/_readme_footer.md +0 -0
  56. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/_readme_main.md +0 -0
  57. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/bin/git-cliff +0 -0
  58. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/bump +0 -0
  59. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/codecov.yml +0 -0
  60. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/compose.yaml +0 -0
  61. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/copier.yml +0 -0
  62. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/Makefile +0 -0
  63. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/make.bat +0 -0
  64. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/_static/.keep +0 -0
  65. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/api_v1.rst +0 -0
  66. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/contributing.rst +0 -0
  67. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/index.rst +0 -0
  68. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/latexmkrc +0 -0
  69. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/main.rst +0 -0
  70. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/reference.rst +0 -0
  71. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/docs/source/release-notes.rst +0 -0
  72. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/examples/__init__.py +0 -0
  73. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/examples/notebook.py +0 -0
  74. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/examples/script.py +0 -0
  75. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/examples/streamlit.py +0 -0
  76. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/CHANGELOG.md +0 -0
  77. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/LICENSE-APACHE +0 -0
  78. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/LICENSE-MIT +0 -0
  79. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/README.md +0 -0
  80. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/completions/_git-cliff +0 -0
  81. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/completions/_git-cliff.ps1 +0 -0
  82. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/completions/git-cliff.bash +0 -0
  83. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/completions/git-cliff.elv +0 -0
  84. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/completions/git-cliff.fish +0 -0
  85. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/git-cliff-completions +0 -0
  86. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/git-cliff-mangen +0 -0
  87. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0/man/git-cliff.1 +0 -0
  88. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/git-cliff-2.7.0-x86_64-unknown-linux-gnu.tar.gz +0 -0
  89. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/github-action-run +0 -0
  90. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/latexmkrc +0 -0
  91. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/logo.png +0 -0
  92. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/noxfile.py +0 -0
  93. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/renovate.json +0 -0
  94. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/reports/mypy.xml +0 -0
  95. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/src/oe_python_template/__init__.py +0 -0
  96. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/src/oe_python_template/cli.py +0 -0
  97. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/src/oe_python_template/constants.py +0 -0
  98. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/src/oe_python_template/service.py +0 -0
  99. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.act-env-public.jinja +0 -0
  100. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.devcontainer/Dockerfile.jinja +0 -0
  101. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.devcontainer/devcontainer.json.jinja +0 -0
  102. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.devcontainer/onCreateCommand.jinja +0 -0
  103. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.devcontainer/postAttachCommand.jinja +0 -0
  104. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.devcontainer/postCreateCommand.jinja +0 -0
  105. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.env.example.jinja +0 -0
  106. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.github/workflows/docker-image-build-publish.yml.jinja +0 -0
  107. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.github/workflows/package-build-publish-release.yml.jinja +0 -0
  108. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.github/workflows/test-and-report.yml.jinja +0 -0
  109. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.gitignore.jinja +0 -0
  110. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.pre-commit-config.yaml.jinja +0 -0
  111. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.python-version +0 -0
  112. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.readthedocs.yml.jinja +0 -0
  113. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.vscode/extensions.json +0 -0
  114. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/.vscode/settings.json.jinja +0 -0
  115. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/CHANGELOG.md +0 -0
  116. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/CODEOWNERS.jinja +0 -0
  117. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/CONTRIBUTING.md.jinja +0 -0
  118. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/Dockerfile.jinja +0 -0
  119. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/LICENSE.jinja +0 -0
  120. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/SERVICE_CONNECTIONS.md.jinja +0 -0
  121. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/VERSION +0 -0
  122. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/_readme_footer.md.jinja +0 -0
  123. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/_readme_main.md.jinja +0 -0
  124. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/bump.jinja +0 -0
  125. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/codecov.yml.jinja +0 -0
  126. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/compose.yaml.jinja +0 -0
  127. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/Makefile.jinja +0 -0
  128. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/make.bat.jinja +0 -0
  129. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/_static/.keep +0 -0
  130. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/api_v1.rst.jinja +0 -0
  131. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/contributing.rst.jinja +0 -0
  132. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/index.rst.jinja +0 -0
  133. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/latexmkrc.jinja +0 -0
  134. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/main.rst.jinja +0 -0
  135. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/reference.rst.jinja +0 -0
  136. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/docs/source/release-notes.rst.jinja +0 -0
  137. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/examples/__init__.py.jinja +0 -0
  138. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/examples/notebook.py.jinja +0 -0
  139. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/examples/script.py.jinja +0 -0
  140. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/github-action-run.jinja +0 -0
  141. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/latexmkrc.jinja +0 -0
  142. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/logo.png +0 -0
  143. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/pyproject.toml.jinja +0 -0
  144. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/sonar-project.properties.jinja +0 -0
  145. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/src/{{ project_name_snake_case }}/cli.py.jinja +1 -1
  146. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/src/{{ project_name_snake_case }}/constants.py.jinja +0 -0
  147. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/src/{{ project_name_snake_case }}/service.py.jinja +0 -0
  148. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/tests/__init__.py.jinja +0 -0
  149. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/tests/cli_test.py.jinja +0 -0
  150. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/tests/fixtures/.keep +0 -0
  151. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/template/{{_copier_conf.answers_file}}.jinja +0 -0
  152. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/tests/__init__.py +0 -0
  153. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/tests/api_test.py +0 -0
  154. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/tests/cli_test.py +0 -0
  155. {oe_python_template-0.4.3 → oe_python_template-0.4.5}/tests/fixtures/.keep +0 -0
@@ -1,4 +1,4 @@
1
- _commit: v0.4.2-1-gc84332a
1
+ _commit: v0.4.4-1-g151da95
2
2
  _src_path: .
3
3
  author_email: helmuthva@gmail.com
4
4
  author_github_username: helmut-hoffer-von-ankershoffen
@@ -1,6 +1,20 @@
1
1
  [🧠 OE Python Template](https://oe-python-template.readthedocs.io/en/latest/)
2
2
 
3
- ## [0.4.3](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.4.2..0.4.3) - 2025-03-13
3
+ ## [0.4.5](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.4.4..0.4.5) - 2025-03-13
4
+
5
+ ### 📚 Documentation
6
+
7
+ - Typo - ([1ffcb14](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/1ffcb14d72f004548be818e418869c3c4fda1dc4))
8
+
9
+
10
+ ## [0.4.4](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.4.3..v0.4.4) - 2025-03-13
11
+
12
+ ### 📚 Documentation
13
+
14
+ - Link template - ([5927a2d](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/5927a2d4b8cb40d5a97c9b6229f46b83cbf007fa))
15
+
16
+
17
+ ## [0.4.3](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.4.2..v0.4.3) - 2025-03-13
4
18
 
5
19
  ### Enh
6
20
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oe-python-template
3
- Version: 0.4.3
3
+ Version: 0.4.5
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/
@@ -91,6 +91,7 @@ Description-Content-Type: text/markdown
91
91
 
92
92
  > [!TIP]
93
93
  > 📚 [Online documentation](https://oe-python-template.readthedocs.io/en/latest/) - 📖 [PDF Manual](https://oe-python-template.readthedocs.io/_/downloads/en/latest/pdf/)
94
+
94
95
  ---
95
96
 
96
97
 
@@ -30,6 +30,7 @@
30
30
 
31
31
  > [!TIP]
32
32
  > 📚 [Online documentation](https://oe-python-template.readthedocs.io/en/latest/) - 📖 [PDF Manual](https://oe-python-template.readthedocs.io/_/downloads/en/latest/pdf/)
33
+
33
34
  ---
34
35
 
35
36
 
@@ -0,0 +1,8 @@
1
+ ## [0.4.5](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.4.4..v0.4.5) - 2025-03-13
2
+
3
+ ### 📚 Documentation
4
+
5
+ - Typo - ([1ffcb14](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/1ffcb14d72f004548be818e418869c3c4fda1dc4))
6
+
7
+
8
+
@@ -0,0 +1 @@
1
+ 0.4.5
@@ -30,4 +30,5 @@
30
30
 
31
31
  > [!TIP]
32
32
  > 📚 [Online documentation](https://oe-python-template.readthedocs.io/en/latest/) - 📖 [PDF Manual](https://oe-python-template.readthedocs.io/_/downloads/en/latest/pdf/)
33
+
33
34
  ---
@@ -17,7 +17,7 @@
17
17
  "Observability"
18
18
  ],
19
19
  "summary": "Health",
20
- "description": "Check the health of the service.\n\nThis endpoint returns the health status of the service.\nThe health status can be either UP or DOWN.\nIf the service is healthy, the status will be UP.\nIf the service is unhealthy, the status will be DOWN and a reason will be provided.\nThe response will have a 200 OK status code if the service is healthy,\nand a 500 Internal Server Error status code if the service is unhealthy.\n\nArgs:\n service (Annotated[Service, Depends): _description_\n response (Response): _description_\n\nReturns:\n Health: The health status of the service.",
20
+ "description": "Check the health of the service.\n\nThis endpoint returns the health status of the service.\nThe health status can be either UP or DOWN.\nIf the service is healthy, the status will be UP.\nIf the service is unhealthy, the status will be DOWN and a reason will be provided.\nThe response will have a 200 OK status code if the service is healthy,\nand a 500 Internal Server Error status code if the service is unhealthy.\n\nReturns:\n Health: The health status of the service.",
21
21
  "operationId": "health_health_get",
22
22
  "responses": {
23
23
  "200": {
@@ -39,7 +39,7 @@
39
39
  "Observability"
40
40
  ],
41
41
  "summary": "Health",
42
- "description": "Check the health of the service.\n\nThis endpoint returns the health status of the service.\nThe health status can be either UP or DOWN.\nIf the service is healthy, the status will be UP.\nIf the service is unhealthy, the status will be DOWN and a reason will be provided.\nThe response will have a 200 OK status code if the service is healthy,\nand a 500 Internal Server Error status code if the service is unhealthy.\n\nArgs:\n service (Annotated[Service, Depends): _description_\n response (Response): _description_\n\nReturns:\n Health: The health status of the service.",
42
+ "description": "Check the health of the service.\n\nThis endpoint returns the health status of the service.\nThe health status can be either UP or DOWN.\nIf the service is healthy, the status will be UP.\nIf the service is unhealthy, the status will be DOWN and a reason will be provided.\nThe response will have a 200 OK status code if the service is healthy,\nand a 500 Internal Server Error status code if the service is unhealthy.\n\nReturns:\n Health: The health status of the service.",
43
43
  "operationId": "health_healthz_get",
44
44
  "responses": {
45
45
  "200": {
@@ -195,7 +195,7 @@
195
195
  "status"
196
196
  ],
197
197
  "title": "Health",
198
- "description": "Health status model.\n\nArgs:\n BaseModel (_type_): _description_"
198
+ "description": "Health status model."
199
199
  },
200
200
  "HelloWorldResponse": {
201
201
  "properties": {
@@ -255,7 +255,7 @@
255
255
  "DOWN"
256
256
  ],
257
257
  "title": "_HealthStatus",
258
- "description": "Health status enumeration.\n\nArgs:\n StrEnum (_type_): _description_"
258
+ "description": "Health status enumeration."
259
259
  }
260
260
  }
261
261
  }
@@ -38,8 +38,7 @@ components:
38
38
  title: HTTPValidationError
39
39
  type: object
40
40
  Health:
41
- description: "Health status model.\n\nArgs:\n BaseModel (_type_):
42
- _description_"
41
+ description: Health status model.
43
42
  properties:
44
43
  reason:
45
44
  anyOf:
@@ -87,8 +86,7 @@ _description_"
87
86
  title: ValidationError
88
87
  type: object
89
88
  _HealthStatus:
90
- description: "Health status enumeration.\n\nArgs:\n StrEnum (_type_):
91
- _description_"
89
+ description: Health status enumeration.
92
90
  enum:
93
91
  - UP
94
92
  - DOWN
@@ -106,12 +104,9 @@ openapi: 3.1.0
106
104
  paths:
107
105
  /echo:
108
106
  post:
109
- description: "Echo back the provided text.\n\nArgs:\n request
110
- (EchoRequest):\
111
- \ The request containing the text to echo back.\n\nReturns:\n
112
- EchoResponse:\
113
- \ A response containing the echoed text.\n\nRaises:\n 422
114
- Unprocessable\
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\
115
110
  \ Entity: If text is not provided or empty."
116
111
  operationId: echo_echo_post
117
112
  requestBody:
@@ -138,21 +133,13 @@ Unprocessable\
138
133
  - Basics
139
134
  /health:
140
135
  get:
141
- description: "Check the health of the service.\n\nThis endpoint returns
142
- the\
143
- \ health status of the service.\nThe health status can be either UP or
144
- DOWN.\n\
145
- If the service is healthy, the status will be UP.\nIf the service is
146
- unhealthy,\
147
- \ the status will be DOWN and a reason will be provided.\nThe response
148
- will\
149
- \ have a 200 OK status code if the service is healthy,\nand a 500
150
- Internal\
151
- \ Server Error status code if the service is unhealthy.\n\nArgs:\n
152
- service\
153
- \ (Annotated[Service, Depends): _description_\n response (Response):
154
- _description_\n\
155
- \nReturns:\n Health: The health status of the service."
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:\
142
+ \ The health status of the service."
156
143
  operationId: health_health_get
157
144
  responses:
158
145
  '200':
@@ -166,21 +153,13 @@ _description_\n\
166
153
  - Observability
167
154
  /healthz:
168
155
  get:
169
- description: "Check the health of the service.\n\nThis endpoint returns
170
- the\
171
- \ health status of the service.\nThe health status can be either UP or
172
- DOWN.\n\
173
- If the service is healthy, the status will be UP.\nIf the service is
174
- unhealthy,\
175
- \ the status will be DOWN and a reason will be provided.\nThe response
176
- will\
177
- \ have a 200 OK status code if the service is healthy,\nand a 500
178
- Internal\
179
- \ Server Error status code if the service is unhealthy.\n\nArgs:\n
180
- service\
181
- \ (Annotated[Service, Depends): _description_\n response (Response):
182
- _description_\n\
183
- \nReturns:\n Health: The health status of the service."
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:\
162
+ \ The health status of the service."
184
163
  operationId: health_healthz_get
185
164
  responses:
186
165
  '200':
@@ -194,8 +173,7 @@ _description_\n\
194
173
  - Observability
195
174
  /hello-world:
196
175
  get:
197
- description: "Return a hello world message.\n\nReturns:\n
198
- HelloWorldResponse:\
176
+ description: "Return a hello world message.\n\nReturns:\n HelloWorldResponse:\
199
177
  \ A response containing the hello world message."
200
178
  operationId: hello_world_hello_world_get
201
179
  responses:
@@ -17,7 +17,7 @@
17
17
  "Observability"
18
18
  ],
19
19
  "summary": "Health",
20
- "description": "Check the health of the service.\n\nThis endpoint returns the health status of the service.\nThe health status can be either UP or DOWN.\nIf the service is healthy, the status will be UP.\nIf the service is unhealthy, the status will be DOWN and a reason will be provided.\nThe response will have a 200 OK status code if the service is healthy,\nand a 500 Internal Server Error status code if the service is unhealthy.\n\nArgs:\n service (Annotated[Service, Depends): _description_\n response (Response): _description_\n\nReturns:\n Health: The health status of the service.",
20
+ "description": "Check the health of the service.\n\nThis endpoint returns the health status of the service.\nThe health status can be either UP or DOWN.\nIf the service is healthy, the status will be UP.\nIf the service is unhealthy, the status will be DOWN and a reason will be provided.\nThe response will have a 200 OK status code if the service is healthy,\nand a 500 Internal Server Error status code if the service is unhealthy.\n\nReturns:\n Health: The health status of the service.",
21
21
  "operationId": "health_health_get",
22
22
  "responses": {
23
23
  "200": {
@@ -39,7 +39,7 @@
39
39
  "Observability"
40
40
  ],
41
41
  "summary": "Health",
42
- "description": "Check the health of the service.\n\nThis endpoint returns the health status of the service.\nThe health status can be either UP or DOWN.\nIf the service is healthy, the status will be UP.\nIf the service is unhealthy, the status will be DOWN and a reason will be provided.\nThe response will have a 200 OK status code if the service is healthy,\nand a 500 Internal Server Error status code if the service is unhealthy.\n\nArgs:\n service (Annotated[Service, Depends): _description_\n response (Response): _description_\n\nReturns:\n Health: The health status of the service.",
42
+ "description": "Check the health of the service.\n\nThis endpoint returns the health status of the service.\nThe health status can be either UP or DOWN.\nIf the service is healthy, the status will be UP.\nIf the service is unhealthy, the status will be DOWN and a reason will be provided.\nThe response will have a 200 OK status code if the service is healthy,\nand a 500 Internal Server Error status code if the service is unhealthy.\n\nReturns:\n Health: The health status of the service.",
43
43
  "operationId": "health_healthz_get",
44
44
  "responses": {
45
45
  "200": {
@@ -83,7 +83,7 @@
83
83
  "Basics"
84
84
  ],
85
85
  "summary": "Echo V2",
86
- "description": "Echo back the provided utterance.\n\nArgs:\n request (EchoRequestV2): The request containing the utterance to echo back.\n\nReturns:\n EchoResponse: A response containing the echoed utterance.\n\nRaises:\n 422 Unprocessable Entity: If utterance is not provided or empty.",
86
+ "description": "Echo back the provided utterance.\n\nArgs:\n request (Utterance): The request containing the utterance to echo back.\n\nReturns:\n EchoResponse: A response containing the echoed utterance.\n\nRaises:\n 422 Unprocessable Entity: If utterance is not provided or empty.",
87
87
  "operationId": "echo_v2_echo_post",
88
88
  "requestBody": {
89
89
  "content": {
@@ -176,7 +176,7 @@
176
176
  "status"
177
177
  ],
178
178
  "title": "Health",
179
- "description": "Health status model.\n\nArgs:\n BaseModel (_type_): _description_"
179
+ "description": "Health status model."
180
180
  },
181
181
  "HelloWorldResponse": {
182
182
  "properties": {
@@ -255,7 +255,7 @@
255
255
  "DOWN"
256
256
  ],
257
257
  "title": "_HealthStatus",
258
- "description": "Health status enumeration.\n\nArgs:\n StrEnum (_type_): _description_"
258
+ "description": "Health status enumeration."
259
259
  }
260
260
  }
261
261
  }
@@ -24,8 +24,7 @@ components:
24
24
  title: HTTPValidationError
25
25
  type: object
26
26
  Health:
27
- description: "Health status model.\n\nArgs:\n BaseModel (_type_):
28
- _description_"
27
+ description: Health status model.
29
28
  properties:
30
29
  reason:
31
30
  anyOf:
@@ -87,8 +86,7 @@ _description_"
87
86
  title: ValidationError
88
87
  type: object
89
88
  _HealthStatus:
90
- description: "Health status enumeration.\n\nArgs:\n StrEnum (_type_):
91
- _description_"
89
+ description: Health status enumeration.
92
90
  enum:
93
91
  - UP
94
92
  - DOWN
@@ -106,12 +104,9 @@ openapi: 3.1.0
106
104
  paths:
107
105
  /echo:
108
106
  post:
109
- description: "Echo back the provided utterance.\n\nArgs:\n request
110
- (EchoRequestV2):\
111
- \ The request containing the utterance to echo back.\n\nReturns:\n
112
- EchoResponse:\
113
- \ A response containing the echoed utterance.\n\nRaises:\n 422
114
- Unprocessable\
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\
115
110
  \ Entity: If utterance is not provided or empty."
116
111
  operationId: echo_v2_echo_post
117
112
  requestBody:
@@ -138,21 +133,13 @@ Unprocessable\
138
133
  - Basics
139
134
  /health:
140
135
  get:
141
- description: "Check the health of the service.\n\nThis endpoint returns
142
- the\
143
- \ health status of the service.\nThe health status can be either UP or
144
- DOWN.\n\
145
- If the service is healthy, the status will be UP.\nIf the service is
146
- unhealthy,\
147
- \ the status will be DOWN and a reason will be provided.\nThe response
148
- will\
149
- \ have a 200 OK status code if the service is healthy,\nand a 500
150
- Internal\
151
- \ Server Error status code if the service is unhealthy.\n\nArgs:\n
152
- service\
153
- \ (Annotated[Service, Depends): _description_\n response (Response):
154
- _description_\n\
155
- \nReturns:\n Health: The health status of the service."
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:\
142
+ \ The health status of the service."
156
143
  operationId: health_health_get
157
144
  responses:
158
145
  '200':
@@ -166,21 +153,13 @@ _description_\n\
166
153
  - Observability
167
154
  /healthz:
168
155
  get:
169
- description: "Check the health of the service.\n\nThis endpoint returns
170
- the\
171
- \ health status of the service.\nThe health status can be either UP or
172
- DOWN.\n\
173
- If the service is healthy, the status will be UP.\nIf the service is
174
- unhealthy,\
175
- \ the status will be DOWN and a reason will be provided.\nThe response
176
- will\
177
- \ have a 200 OK status code if the service is healthy,\nand a 500
178
- Internal\
179
- \ Server Error status code if the service is unhealthy.\n\nArgs:\n
180
- service\
181
- \ (Annotated[Service, Depends): _description_\n response (Response):
182
- _description_\n\
183
- \nReturns:\n Health: The health status of the service."
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:\
162
+ \ The health status of the service."
184
163
  operationId: health_healthz_get
185
164
  responses:
186
165
  '200':
@@ -194,8 +173,7 @@ _description_\n\
194
173
  - Observability
195
174
  /hello-world:
196
175
  get:
197
- description: "Return a hello world message.\n\nReturns:\n
198
- HelloWorldResponse:\
176
+ description: "Return a hello world message.\n\nReturns:\n HelloWorldResponse:\
199
177
  \ A response containing the hello world message."
200
178
  operationId: hello_world_hello_world_get
201
179
  responses:
@@ -1,4 +1,4 @@
1
- API V1
1
+ API V2
2
2
  ======
3
3
 
4
4
  .. swagger-plugin:: _static/openapi_v2.yaml
@@ -26,7 +26,7 @@ extensions = [
26
26
  project = "oe-python-template"
27
27
  author = "Helmut Hoffer von Ankershoffen"
28
28
  copyright = f" (c) 2025-{datetime.now(UTC).year}, {author}" # noqa: A001
29
- version = "0.4.3"
29
+ version = "0.4.5"
30
30
  release = version
31
31
  github_username = "helmut-hoffer-von-ankershoffen"
32
32
  github_repository = "oe-python-template"
@@ -0,0 +1,46 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {},
7
+ "outputs": [
8
+ {
9
+ "name": "stdout",
10
+ "output_type": "stream",
11
+ "text": [
12
+ "Hello, world! The value of THE_VAR is not defined\n"
13
+ ]
14
+ }
15
+ ],
16
+ "source": [
17
+ "from oe_python_template import Service\n",
18
+ "\n",
19
+ "service = Service()\n",
20
+ "message = service.get_hello_world()\n",
21
+ "message"
22
+ ]
23
+ }
24
+ ],
25
+ "metadata": {
26
+ "kernelspec": {
27
+ "display_name": ".venv",
28
+ "language": "python",
29
+ "name": "python3"
30
+ },
31
+ "language_info": {
32
+ "codemirror_mode": {
33
+ "name": "ipython",
34
+ "version": 3
35
+ },
36
+ "file_extension": ".py",
37
+ "mimetype": "text/x-python",
38
+ "name": "python",
39
+ "nbconvert_exporter": "python",
40
+ "pygments_lexer": "ipython3",
41
+ "version": "3.11.6"
42
+ }
43
+ },
44
+ "nbformat": 4,
45
+ "nbformat_minor": 2
46
+ }
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "oe-python-template"
3
- version = "0.4.3"
3
+ version = "0.4.5"
4
4
  description = "🧠 Copier template to scaffold Python projects compliant with best practices and modern tooling."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -245,7 +245,7 @@ source = ["src/"]
245
245
 
246
246
 
247
247
  [tool.bumpversion]
248
- current_version = "0.4.3"
248
+ current_version = "0.4.5"
249
249
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
250
250
  serialize = ["{major}.{minor}.{patch}"]
251
251
  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.4.3
3
+ sonar.projectVersion=0.4.5
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
@@ -90,22 +90,14 @@ api_v2 = FastAPI(
90
90
 
91
91
 
92
92
  class _HealthStatus(StrEnum):
93
- """Health status enumeration.
94
-
95
- Args:
96
- StrEnum (_type_): _description_
97
- """
93
+ """Health status enumeration."""
98
94
 
99
95
  UP = "UP"
100
96
  DOWN = "DOWN"
101
97
 
102
98
 
103
99
  class Health(BaseModel):
104
- """Health status model.
105
-
106
- Args:
107
- BaseModel (_type_): _description_
108
- """
100
+ """Health status model."""
109
101
 
110
102
  status: _HealthStatus
111
103
  reason: str | None = None
@@ -135,10 +127,6 @@ async def health(service: Annotated[Service, Depends(get_service)], response: Re
135
127
  The response will have a 200 OK status code if the service is healthy,
136
128
  and a 500 Internal Server Error status code if the service is unhealthy.
137
129
 
138
- Args:
139
- service (Annotated[Service, Depends): _description_
140
- response (Response): _description_
141
-
142
130
  Returns:
143
131
  Health: The health status of the service.
144
132
  """
@@ -231,7 +219,7 @@ async def echo_v2(request: Utterance) -> EchoResponse:
231
219
  Echo back the provided utterance.
232
220
 
233
221
  Args:
234
- request (EchoRequestV2): The request containing the utterance to echo back.
222
+ request (Utterance): The request containing the utterance to echo back.
235
223
 
236
224
  Returns:
237
225
  EchoResponse: A response containing the echoed utterance.
@@ -30,4 +30,8 @@
30
30
 
31
31
  > [!TIP]
32
32
  > 📚 [Online documentation](https://{{ readthedocs_project_key}}.readthedocs.io/en/latest/) - 📖 [PDF Manual](https://{{ readthedocs_project_key }}.readthedocs.io/_/downloads/en/latest/pdf/)
33
+ {% if pypi_distribution_name != 'oe-python-template' %}
34
+ > [!NOTE]
35
+ > 🧠 This project was scaffolded using the template [oe-python-template](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template) with [copier](https://copier.readthedocs.io/).
36
+ {% endif %}
33
37
  ---
@@ -1,4 +1,4 @@
1
- API V1
1
+ API V2
2
2
  ======
3
3
 
4
4
  .. swagger-plugin:: _static/openapi_v2.yaml
@@ -75,11 +75,11 @@ html_static_path = ["_static"]
75
75
  html_logo = "../../logo.png"
76
76
  html_theme_options = {
77
77
  "announcement": (
78
- '<a target="_blank" href="{{ github_repository_url_https }}">GitHub</a> - ' # noqa: E501
79
- '<a target="_blank" href="https://pypi.org/project/{{ pypi_distribution_name }}">PyPI</a> - ' # noqa: E501
80
- '<a target="_blank" href="https://hub.docker.com/r/{{ docker_io_owner}}/{{ docker_io_image_name }}/tags">Docker</a> - ' # noqa: E501
78
+ '<a target="_blank" href="{{ github_repository_url_https }}">GitHub</a> - '
79
+ '<a target="_blank" href="https://pypi.org/project/{{ pypi_distribution_name }}">PyPI</a> - '
80
+ '<a target="_blank" href="https://hub.docker.com/r/{{ docker_io_owner}}/{{ docker_io_image_name }}/tags">Docker</a> - '
81
81
  '<a target="_blank" href="https://sonarcloud.io/summary/new_code?id={{ sonarqube_key }}">SonarQube</a> - ' # noqa: E501
82
- '<a target="_blank" href="https://app.codecov.io/gh/{{ github_repository_owner }}/{{ github_repository_name}}">Codecov</a>' # noqa: E501
82
+ '<a target="_blank" href="https://app.codecov.io/gh/{{ github_repository_owner }}/{{ github_repository_name}}">Codecov</a>'
83
83
  ),
84
84
  }
85
85
 
@@ -0,0 +1,46 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {},
7
+ "outputs": [
8
+ {
9
+ "name": "stdout",
10
+ "output_type": "stream",
11
+ "text": [
12
+ "Hello, world! The value of THE_VAR is not defined\n"
13
+ ]
14
+ }
15
+ ],
16
+ "source": [
17
+ "from oe_python_template import Service\n",
18
+ "\n",
19
+ "service = Service()\n",
20
+ "message = service.get_hello_world()\n",
21
+ "message"
22
+ ]
23
+ }
24
+ ],
25
+ "metadata": {
26
+ "kernelspec": {
27
+ "display_name": ".venv",
28
+ "language": "python",
29
+ "name": "python3"
30
+ },
31
+ "language_info": {
32
+ "codemirror_mode": {
33
+ "name": "ipython",
34
+ "version": 3
35
+ },
36
+ "file_extension": ".py",
37
+ "mimetype": "text/x-python",
38
+ "name": "python",
39
+ "nbconvert_exporter": "python",
40
+ "pygments_lexer": "ipython3",
41
+ "version": "3.11.6"
42
+ }
43
+ },
44
+ "nbformat": 4,
45
+ "nbformat_minor": 2
46
+ }
@@ -6,6 +6,7 @@ This module creates a web interface using Streamlit to demonstrate the usage of
6
6
  """
7
7
 
8
8
  import streamlit as st
9
+
9
10
  from {{ project_name_snake_case }} import (
10
11
  Service,
11
12
  __version__,
@@ -46,10 +46,7 @@ def lint(session: nox.Session) -> None:
46
46
  "--check",
47
47
  ".",
48
48
  )
49
- session.run(
50
- "mypy",
51
- "src"
52
- )
49
+ session.run("mypy", "src")
53
50
 
54
51
 
55
52
  @nox.session(python=["3.13"])
@@ -128,14 +125,14 @@ def setup_dev(session: nox.Session) -> None:
128
125
  session.run("ruff", "format", ".", external=True)
129
126
  git_dir = Path(".git")
130
127
  if git_dir.is_dir():
131
- session.run("echo","found .git directory", external=True)
132
- session.run("touch",".act-env-secret", external=True)
128
+ session.run("echo", "found .git directory", external=True)
129
+ session.run("touch", ".act-env-secret", external=True)
133
130
  session.run("pre-commit", "install", external=True)
134
131
  with Path(".secrets.baseline").open("w", encoding="utf-8") as out:
135
132
  session.run("detect-secrets", "scan", stdout=out, external=True)
136
133
  session.run("git", "add", ".", external=True)
137
134
  try:
138
135
  session.run("pre-commit", external=True)
139
- except Exception: # noqa: BLE001
136
+ except Exception: # noqa: BLE001
140
137
  session.log("pre-commit run failed, continuing anyway")
141
138
  session.run("git", "add", ".", external=True)
@@ -5,12 +5,11 @@ from .constants import (
5
5
  __project_path__,
6
6
  __version__,
7
7
  )
8
-
9
8
  from .service import Service
10
9
 
11
10
  __all__ = [
11
+ "Service",
12
12
  "__project_name__",
13
13
  "__project_path__",
14
14
  "__version__",
15
- "Service",
16
15
  ]