oe-python-template 0.2.2__tar.gz → 0.2.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 (144) hide show
  1. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.act-env +1 -1
  2. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.copier-answers.yml +1 -1
  3. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.devcontainer/devcontainer.json +0 -1
  4. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.gitignore +1 -0
  5. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.pre-commit-config.yaml +17 -2
  6. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.secrets.baseline +1 -1
  7. {oe_python_template-0.2.2/template → oe_python_template-0.2.4}/.vscode/settings.json +1 -6
  8. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/CHANGELOG.md +22 -1
  9. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/CONTRIBUTING.md +6 -0
  10. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/PKG-INFO +10 -6
  11. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/README.md +8 -5
  12. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/RELEASE_NOTES.md +18 -0
  13. oe_python_template-0.2.4/VERSION +1 -0
  14. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/_readme_header.md +3 -0
  15. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/_readme_main.md +5 -5
  16. oe_python_template-0.2.4/bump +8 -0
  17. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/copier.yml +7 -46
  18. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/source/conf.py +5 -5
  19. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/examples/notebook.ipynb +0 -1
  20. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/examples/streamlit.py +0 -1
  21. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/noxfile.py +8 -4
  22. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/pyproject.toml +23 -3
  23. oe_python_template-0.2.4/reports/mypy.xml +5 -0
  24. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/sonar-project.properties +1 -1
  25. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/src/oe_python_template/__init__.py +2 -1
  26. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/src/oe_python_template/cli.py +1 -1
  27. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/src/oe_python_template/service.py +1 -3
  28. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.act-env.jinja +1 -1
  29. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.devcontainer/devcontainer.json.jinja +0 -1
  30. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.gitignore.jinja +1 -0
  31. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.pre-commit-config.yaml.jinja +17 -2
  32. {oe_python_template-0.2.2 → oe_python_template-0.2.4/template}/.vscode/settings.json +1 -6
  33. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/CONTRIBUTING.md.jinja +6 -0
  34. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/_readme_header.md.jinja +3 -0
  35. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/_readme_main.md.jinja +5 -5
  36. oe_python_template-0.2.4/template/bump.jinja +8 -0
  37. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/noxfile.py.jinja +7 -3
  38. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/pyproject.toml.jinja +21 -1
  39. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/tests/cli_test.py +4 -5
  40. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/uv.lock +48 -4
  41. oe_python_template-0.2.2/VERSION +0 -1
  42. oe_python_template-0.2.2/bump +0 -3
  43. oe_python_template-0.2.2/template/README.md +0 -1
  44. oe_python_template-0.2.2/template/bump.jinja +0 -3
  45. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.act-secret +0 -0
  46. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.devcontainer/Dockerfile +0 -0
  47. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.devcontainer/onCreateCommand +0 -0
  48. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.devcontainer/postAttachCommand +0 -0
  49. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.devcontainer/postCreateCommand +0 -0
  50. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.env.example +0 -0
  51. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.github/workflows/docker-image-build-publish.yml +0 -0
  52. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.github/workflows/package-build-publish-release.yml +0 -0
  53. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.github/workflows/test-and-report.yml +0 -0
  54. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.python-version +0 -0
  55. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.readthedocs.yml +0 -0
  56. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/.vscode/extensions.json +0 -0
  57. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/CODEOWNERS +0 -0
  58. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/Dockerfile +0 -0
  59. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/LICENSE +0 -0
  60. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/SERVICE_CONNECTIONS.md +0 -0
  61. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/_readme_footer.md +0 -0
  62. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/bin/git-cliff +0 -0
  63. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/codecov.yml +0 -0
  64. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/compose.yaml +0 -0
  65. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/Makefile +0 -0
  66. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/make.bat +0 -0
  67. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/source/_static/.keep +0 -0
  68. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/source/contributing.rst +0 -0
  69. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/source/index.rst +0 -0
  70. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/source/latexmkrc +0 -0
  71. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/source/main.rst +0 -0
  72. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/source/reference.rst +0 -0
  73. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/docs/source/release-notes.rst +0 -0
  74. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/examples/__init__.py +0 -0
  75. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/examples/jupyter.ipynb +0 -0
  76. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/examples/notebook.py +0 -0
  77. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/examples/script.py +0 -0
  78. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/CHANGELOG.md +0 -0
  79. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/LICENSE-APACHE +0 -0
  80. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/LICENSE-MIT +0 -0
  81. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/README.md +0 -0
  82. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/completions/_git-cliff +0 -0
  83. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/completions/_git-cliff.ps1 +0 -0
  84. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/completions/git-cliff.bash +0 -0
  85. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/completions/git-cliff.elv +0 -0
  86. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/completions/git-cliff.fish +0 -0
  87. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/git-cliff-completions +0 -0
  88. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/git-cliff-mangen +0 -0
  89. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0/man/git-cliff.1 +0 -0
  90. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/git-cliff-2.7.0-x86_64-unknown-linux-gnu.tar.gz +0 -0
  91. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/github-action-run +0 -0
  92. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/latexmkrc +0 -0
  93. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/logo.png +0 -0
  94. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/src/oe_python_template/constants.py +0 -0
  95. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.act-secret.jinja +0 -0
  96. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.devcontainer/Dockerfile.jinja +0 -0
  97. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.devcontainer/onCreateCommand.jinja +0 -0
  98. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.devcontainer/postAttachCommand.jinja +0 -0
  99. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.devcontainer/postCreateCommand.jinja +0 -0
  100. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.env.example.jinja +0 -0
  101. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.github/workflows/docker-image-build-publish.yml.jinja +0 -0
  102. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.github/workflows/package-build-publish-release.yml.jinja +0 -0
  103. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.github/workflows/test-and-report.yml.jinja +0 -0
  104. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.python-version +0 -0
  105. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.readthedocs.yml.jinja +0 -0
  106. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/.vscode/extensions.json +0 -0
  107. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/CHANGELOG.md +0 -0
  108. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/CODEOWNERS.jinja +0 -0
  109. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/Dockerfile.jinja +0 -0
  110. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/LICENSE.jinja +0 -0
  111. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/SERVICE_CONNECTIONS.md.jinja +0 -0
  112. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/VERSION +0 -0
  113. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/_readme_footer.md.jinja +0 -0
  114. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/codecov.yml.jinja +0 -0
  115. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/compose.yaml.jinja +0 -0
  116. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/Makefile.jinja +0 -0
  117. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/make.bat.jinja +0 -0
  118. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/source/_static/.keep +0 -0
  119. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/source/conf.py.jinja +0 -0
  120. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/source/contributing.rst.jinja +0 -0
  121. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/source/index.rst.jinja +0 -0
  122. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/source/latexmkrc.jinja +0 -0
  123. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/source/main.rst.jinja +0 -0
  124. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/source/reference.rst.jinja +0 -0
  125. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/docs/source/release-notes.rst.jinja +0 -0
  126. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/examples/__init__.py.jinja +0 -0
  127. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/examples/notebook.ipynb.jinja +0 -0
  128. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/examples/notebook.py.jinja +0 -0
  129. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/examples/script.py.jinja +0 -0
  130. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/examples/streamlit.py.jinja +0 -0
  131. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/github-action-run.jinja +0 -0
  132. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/latexmkrc.jinja +0 -0
  133. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/logo.png +0 -0
  134. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/sonar-project.properties.jinja +0 -0
  135. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/src/{{ project_name_snake_case }}/__init__.py.jinja +0 -0
  136. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/src/{{ project_name_snake_case }}/cli.py.jinja +0 -0
  137. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/src/{{ project_name_snake_case }}/constants.py.jinja +0 -0
  138. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/src/{{ project_name_snake_case }}/service.py.jinja +0 -0
  139. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/tests/__init__.py.jinja +0 -0
  140. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/tests/cli_test.py.jinja +0 -0
  141. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/tests/fixtures/.keep +0 -0
  142. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/template/{{_copier_conf.answers_file}}.jinja +0 -0
  143. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/tests/__init__.py +0 -0
  144. {oe_python_template-0.2.2 → oe_python_template-0.2.4}/tests/fixtures/.keep +0 -0
@@ -1,2 +1,2 @@
1
- GITLAB_WORKFLOW_RUNTIME=ACT
1
+ GITHUB_WORKFLOW_RUNTIME=ACT
2
2
  ACTIONS_RUNTIME_TOKEN=TOKEN
@@ -1,4 +1,4 @@
1
- _commit: v0.2.0
1
+ _commit: v0.2.3-4-ge68660f
2
2
  _src_path: .
3
3
  author_email: helmuthva@gmail.com
4
4
  author_github_username: helmut-hoffer-von-ankershoffen
@@ -21,7 +21,6 @@
21
21
  "charliermarsh.ruff",
22
22
  "codecov.codecov",
23
23
  "donjayamanne.python-environment-manager",
24
- "elagil.pre-commit-helper",
25
24
  "fill-labs.dependi",
26
25
  "github.vscode-github-actions",
27
26
  "github.copilot",
@@ -43,6 +43,7 @@ vulnerabilities.json
43
43
  licenses.json
44
44
  licenses-inverted.json
45
45
  sbom.json
46
+ mypi_junit.xml
46
47
 
47
48
  # IDE
48
49
  .idea/
@@ -6,6 +6,22 @@ default_install_hook_types:
6
6
  - post-rewrite
7
7
  fail_fast: true
8
8
  repos:
9
+ - repo: meta
10
+ hooks:
11
+ - id: check-useless-excludes
12
+ - repo: https://github.com/pre-commit/pygrep-hooks
13
+ rev: v1.10.0
14
+ hooks:
15
+ - id: python-check-blanket-noqa
16
+ - id: python-check-blanket-type-ignore
17
+ - id: python-check-mock-methods
18
+ - id: python-no-eval
19
+ - id: python-no-log-warn
20
+ - id: python-use-type-annotations
21
+ - id: rst-backticks
22
+ - id: rst-directive-colons
23
+ - id: rst-inline-touching-normal
24
+ - id: text-unicode-replacement-char
9
25
  - repo: https://github.com/pre-commit/pre-commit-hooks
10
26
  rev: v5.0.0
11
27
  hooks:
@@ -40,10 +56,9 @@ repos:
40
56
  - repo: https://github.com/Yelp/detect-secrets
41
57
  rev: v1.5.0
42
58
  hooks:
43
- - id: detect-secrets
59
+ - id: detect-secrets
44
60
  args: ['--baseline', '.secrets.baseline']
45
61
  additional_dependencies: ["gibberish-detector"]
46
- exclude: package.lock.json
47
62
  - repo: https://github.com/astral-sh/uv-pre-commit
48
63
  # uv version.
49
64
  rev: 0.5.8
@@ -123,5 +123,5 @@
123
123
  }
124
124
  ],
125
125
  "results": {},
126
- "generated_at": "2025-03-02T18:20:48Z"
126
+ "generated_at": "2025-03-07T07:52:03Z"
127
127
  }
@@ -3,7 +3,6 @@
3
3
  "**/__pycache__ ": true
4
4
  },
5
5
  "editor.formatOnSave": true,
6
- "editor.defaultFormatter": "charliermarsh.ruff",
7
6
  "terminal.integrated.scrollback": 100000,
8
7
  "[python]": {
9
8
  "editor.codeActionsOnSave": {
@@ -67,9 +66,5 @@
67
66
  "sonarlint.connectedMode.project": {
68
67
  "connectionId": "{{ org_name_kebab_case }}",
69
68
  "projectKey": "{{ org_name_kebab_case }}_{{ project_name_kebab_case }}"
70
- },
71
- "pre-commit-helper.runOnSave": "fixes",
72
- "pre-commit-helper.excludedHookIds": [
73
- "nox"
74
- ],
69
+ }
75
70
  }
@@ -1,6 +1,27 @@
1
1
  [🧠 OE Python Template](https://oe-python-template.readthedocs.io/en/latest/)
2
2
 
3
- ## [0.2.2](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.2.1..0.2.2) - 2025-03-02
3
+ ## [0.2.4](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.2.3..0.2.4) - 2025-03-07
4
+
5
+ ### ⛰️ Features
6
+
7
+ - *(mypy)* Introduce static type checker mypy - ([af56e82](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/af56e82581ee5bc157f44e181214751345a4bb52))
8
+
9
+ ### 🎨 Styling
10
+
11
+ - Remove commented out code - ([246feaa](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/246feaae1287037b78344d3430eff62b147628f4))
12
+
13
+ ## New Contributors ❤️
14
+
15
+ * @helmut-hoffer-von-ankershoffen made their first contribution
16
+
17
+ ## [0.2.3](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.2.2..v0.2.3) - 2025-03-03
18
+
19
+ ### ⛰️ Features
20
+
21
+ - *(copier)* Introduce tasks - ([db540bc](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/db540bc2907710409c2a23e8a704804bc8e7edda))
22
+
23
+
24
+ ## [0.2.2](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.2.1..v0.2.2) - 2025-03-02
4
25
 
5
26
  ### 📚 Documentation
6
27
 
@@ -111,6 +111,12 @@ docker build -t oe-python-template .
111
111
  docker run --env THE_VAR=THE_VALUE oe-python-template --help
112
112
  ```
113
113
 
114
+ ### Updating demo application
115
+
116
+ ```shell
117
+ copier copy -r HEAD . . --force --trust
118
+ ```
119
+
114
120
  ## Pull Request Guidelines
115
121
 
116
122
  - **Pre-Commit Hooks:** We use pre-commit hooks to ensure code quality. Please install the pre-commit hooks by running `uv run pre-commit install`. This ensure all tests, linting etc. pass locally before you can commit.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oe-python-template
3
- Version: 0.2.2
3
+ Version: 0.2.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/
@@ -52,6 +52,7 @@ Requires-Dist: pydantic>=2.10.6
52
52
  Requires-Dist: python-dotenv>=1.0.1
53
53
  Requires-Dist: typer>=0.15.1
54
54
  Provides-Extra: examples
55
+ Requires-Dist: jinja2>=3.1.6; extra == 'examples'
55
56
  Requires-Dist: jupyter>=1.1.1; extra == 'examples'
56
57
  Requires-Dist: marimo>=0.11.13; extra == 'examples'
57
58
  Requires-Dist: streamlit>=1.42.2; extra == 'examples'
@@ -78,6 +79,9 @@ Description-Content-Type: text/markdown
78
79
  [![Docker - Version](https://img.shields.io/docker/v/helmuthva/oe-python-template?sort=semver&label=Docker&logo=docker&logoColor=white&labelColor=1354D4&color=10151B)](https://hub.docker.com/r/helmuthva/oe-python-template/tags)
79
80
  [![Docker - Size](https://img.shields.io/docker/image-size/helmuthva/oe-python-templatesort=semver&arch=arm64&label=image&logo=docker&logoColor=white&labelColor=1354D4&color=10151B)](https://hub.docker.com/r/helmuthva/oe-python-template/)
80
81
  [![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
82
+ [![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE3IDE2VjdsLTYgNU0yIDlWOGwxLTFoMWw0IDMgOC04aDFsNCAyIDEgMXYxNGwtMSAxLTQgMmgtMWwtOC04LTQgM0gzbC0xLTF2LTFsMy0zIi8+PC9zdmc+)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
83
+ [![Open in GitHub Codespaces](https://img.shields.io/static/v1?label=GitHub%20Codespaces&message=Open&color=blue&logo=github)](https://github.com/codespaces/new/helmut-hoffer-von-ankershoffen/oe-python-template)
84
+
81
85
  <!---
82
86
  [![ghcr.io - Version](https://ghcr-badge.egpl.dev/helmut-hoffer-von-ankershoffen/oe-python-template/tags?color=%2344cc11&ignore=0.0%2C0%2Clatest&n=3&label=ghcr.io&trim=)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/pkgs/container/oe-python-template)
83
87
  [![ghcr.io - Sze](https://ghcr-badge.egpl.dev/helmut-hoffer-von-ankershoffen/oe-python-template/size?color=%2344cc11&tag=latest&label=size&trim=)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/pkgs/container/oe-python-template)
@@ -116,7 +120,7 @@ uv tool install copier # Install copier as global
116
120
  Step 2: Now create an empty repo on GitHub and clone it to your local machine in a directory of your choice. Change to that directory.
117
121
 
118
122
  Step 3: Scaffold the project
119
- ```shell
123
+ ```shell
120
124
  copier copy gh:helmut-hoffer-von-ankershoffen/oe-python-template .
121
125
  ```
122
126
  Step 4: Setup the local environment
@@ -131,19 +135,19 @@ git add .
131
135
  git commit -m "feat: Initial commit"
132
136
  ```
133
137
 
134
- Visit your GitHub repository and check the Actions tab. The CI workflow should fail at the SonarQube step,
138
+ Visit your GitHub repository and check the Actions tab. The CI workflow should fail at the SonarQube step,
135
139
  as this external service is not yet configured for our new repository.
136
140
 
137
- Step 6: Follow the instructions in SERVICE_CONNECTIONS.md to setup the connections to external services
141
+ Step 6: Follow the instructions in SERVICE_CONNECTIONS.md to setup the connections to external services
138
142
  such as Cloudcov, SonarQube Cloud, Read The Docs, Docker.io, GHCR.io and Streamlit Community Cloud.
139
143
 
140
144
  Step 7: Release the first versions
141
145
  ```shell
142
146
  ./bump
143
147
  ```
144
- Notes:
148
+ Notes:
145
149
  * You can remove this section post having successfully scafolded your project.
146
- * The following sections refer to the dummy application and service provided by this template.
150
+ * The following sections refer to the dummy application and service provided by this template.
147
151
  Use them as inspiration and adapt them to your own project.
148
152
 
149
153
  ## Overview
@@ -19,6 +19,9 @@
19
19
  [![Docker - Version](https://img.shields.io/docker/v/helmuthva/oe-python-template?sort=semver&label=Docker&logo=docker&logoColor=white&labelColor=1354D4&color=10151B)](https://hub.docker.com/r/helmuthva/oe-python-template/tags)
20
20
  [![Docker - Size](https://img.shields.io/docker/image-size/helmuthva/oe-python-templatesort=semver&arch=arm64&label=image&logo=docker&logoColor=white&labelColor=1354D4&color=10151B)](https://hub.docker.com/r/helmuthva/oe-python-template/)
21
21
  [![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
22
+ [![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE3IDE2VjdsLTYgNU0yIDlWOGwxLTFoMWw0IDMgOC04aDFsNCAyIDEgMXYxNGwtMSAxLTQgMmgtMWwtOC04LTQgM0gzbC0xLTF2LTFsMy0zIi8+PC9zdmc+)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
23
+ [![Open in GitHub Codespaces](https://img.shields.io/static/v1?label=GitHub%20Codespaces&message=Open&color=blue&logo=github)](https://github.com/codespaces/new/helmut-hoffer-von-ankershoffen/oe-python-template)
24
+
22
25
  <!---
23
26
  [![ghcr.io - Version](https://ghcr-badge.egpl.dev/helmut-hoffer-von-ankershoffen/oe-python-template/tags?color=%2344cc11&ignore=0.0%2C0%2Clatest&n=3&label=ghcr.io&trim=)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/pkgs/container/oe-python-template)
24
27
  [![ghcr.io - Sze](https://ghcr-badge.egpl.dev/helmut-hoffer-von-ankershoffen/oe-python-template/size?color=%2344cc11&tag=latest&label=size&trim=)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/pkgs/container/oe-python-template)
@@ -57,7 +60,7 @@ uv tool install copier # Install copier as global
57
60
  Step 2: Now create an empty repo on GitHub and clone it to your local machine in a directory of your choice. Change to that directory.
58
61
 
59
62
  Step 3: Scaffold the project
60
- ```shell
63
+ ```shell
61
64
  copier copy gh:helmut-hoffer-von-ankershoffen/oe-python-template .
62
65
  ```
63
66
  Step 4: Setup the local environment
@@ -72,19 +75,19 @@ git add .
72
75
  git commit -m "feat: Initial commit"
73
76
  ```
74
77
 
75
- Visit your GitHub repository and check the Actions tab. The CI workflow should fail at the SonarQube step,
78
+ Visit your GitHub repository and check the Actions tab. The CI workflow should fail at the SonarQube step,
76
79
  as this external service is not yet configured for our new repository.
77
80
 
78
- Step 6: Follow the instructions in SERVICE_CONNECTIONS.md to setup the connections to external services
81
+ Step 6: Follow the instructions in SERVICE_CONNECTIONS.md to setup the connections to external services
79
82
  such as Cloudcov, SonarQube Cloud, Read The Docs, Docker.io, GHCR.io and Streamlit Community Cloud.
80
83
 
81
84
  Step 7: Release the first versions
82
85
  ```shell
83
86
  ./bump
84
87
  ```
85
- Notes:
88
+ Notes:
86
89
  * You can remove this section post having successfully scafolded your project.
87
- * The following sections refer to the dummy application and service provided by this template.
90
+ * The following sections refer to the dummy application and service provided by this template.
88
91
  Use them as inspiration and adapt them to your own project.
89
92
 
90
93
  ## Overview
@@ -1,5 +1,23 @@
1
1
  [🧠 OE Python Template](https://oe-python-template.readthedocs.io/en/latest/)
2
2
 
3
+ ## [0.2.4](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.2.3..v0.2.4) - 2025-03-07
4
+
5
+ ### ⛰️ Features
6
+
7
+ - *(mypy)* Introduce static type checker mypy - ([af56e82](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/af56e82581ee5bc157f44e181214751345a4bb52))
8
+
9
+ ### 🎨 Styling
10
+
11
+ - Remove commented out code - ([246feaa](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/246feaae1287037b78344d3430eff62b147628f4))
12
+
13
+
14
+ ## [0.2.3](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.2.2..v0.2.3) - 2025-03-03
15
+
16
+ ### ⛰️ Features
17
+
18
+ - *(copier)* Introduce tasks - ([db540bc](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/db540bc2907710409c2a23e8a704804bc8e7edda))
19
+
20
+
3
21
  ## [0.2.2](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.2.1..v0.2.2) - 2025-03-02
4
22
 
5
23
  ### 📚 Documentation
@@ -0,0 +1 @@
1
+ 0.2.4
@@ -19,6 +19,9 @@
19
19
  [![Docker - Version](https://img.shields.io/docker/v/helmuthva/oe-python-template?sort=semver&label=Docker&logo=docker&logoColor=white&labelColor=1354D4&color=10151B)](https://hub.docker.com/r/helmuthva/oe-python-template/tags)
20
20
  [![Docker - Size](https://img.shields.io/docker/image-size/helmuthva/oe-python-templatesort=semver&arch=arm64&label=image&logo=docker&logoColor=white&labelColor=1354D4&color=10151B)](https://hub.docker.com/r/helmuthva/oe-python-template/)
21
21
  [![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
22
+ [![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE3IDE2VjdsLTYgNU0yIDlWOGwxLTFoMWw0IDMgOC04aDFsNCAyIDEgMXYxNGwtMSAxLTQgMmgtMWwtOC04LTQgM0gzbC0xLTF2LTFsMy0zIi8+PC9zdmc+)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
23
+ [![Open in GitHub Codespaces](https://img.shields.io/static/v1?label=GitHub%20Codespaces&message=Open&color=blue&logo=github)](https://github.com/codespaces/new/helmut-hoffer-von-ankershoffen/oe-python-template)
24
+
22
25
  <!---
23
26
  [![ghcr.io - Version](https://ghcr-badge.egpl.dev/helmut-hoffer-von-ankershoffen/oe-python-template/tags?color=%2344cc11&ignore=0.0%2C0%2Clatest&n=3&label=ghcr.io&trim=)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/pkgs/container/oe-python-template)
24
27
  [![ghcr.io - Sze](https://ghcr-badge.egpl.dev/helmut-hoffer-von-ankershoffen/oe-python-template/size?color=%2344cc11&tag=latest&label=size&trim=)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/pkgs/container/oe-python-template)
@@ -26,7 +26,7 @@ uv tool install copier # Install copier as global
26
26
  Step 2: Now create an empty repo on GitHub and clone it to your local machine in a directory of your choice. Change to that directory.
27
27
 
28
28
  Step 3: Scaffold the project
29
- ```shell
29
+ ```shell
30
30
  copier copy gh:helmut-hoffer-von-ankershoffen/oe-python-template .
31
31
  ```
32
32
  Step 4: Setup the local environment
@@ -41,19 +41,19 @@ git add .
41
41
  git commit -m "feat: Initial commit"
42
42
  ```
43
43
 
44
- Visit your GitHub repository and check the Actions tab. The CI workflow should fail at the SonarQube step,
44
+ Visit your GitHub repository and check the Actions tab. The CI workflow should fail at the SonarQube step,
45
45
  as this external service is not yet configured for our new repository.
46
46
 
47
- Step 6: Follow the instructions in SERVICE_CONNECTIONS.md to setup the connections to external services
47
+ Step 6: Follow the instructions in SERVICE_CONNECTIONS.md to setup the connections to external services
48
48
  such as Cloudcov, SonarQube Cloud, Read The Docs, Docker.io, GHCR.io and Streamlit Community Cloud.
49
49
 
50
50
  Step 7: Release the first versions
51
51
  ```shell
52
52
  ./bump
53
53
  ```
54
- Notes:
54
+ Notes:
55
55
  * You can remove this section post having successfully scafolded your project.
56
- * The following sections refer to the dummy application and service provided by this template.
56
+ * The following sections refer to the dummy application and service provided by this template.
57
57
  Use them as inspiration and adapt them to your own project.
58
58
 
59
59
  ## Overview
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+ VERSION_PART=${1:-patch}
3
+ uv run bump-my-version bump "$VERSION_PART" && git push
4
+ if echo "$VERSION_PART" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+$'; then
5
+ uv run bump-my-version bump --new-version "$VERSION_PART"
6
+ else
7
+ uv run bump-my-version bump "$VERSION_PART" && git push
8
+ fi
@@ -1,6 +1,13 @@
1
1
 
2
2
  _subdirectory: template
3
3
 
4
+ _tasks:
5
+ - "touch README.md"
6
+ - uv sync --all-extras
7
+ - uv venv
8
+ - source .venv/bin/activate
9
+ - uv run nox -s setup_dev
10
+
4
11
  project_icon:
5
12
  type: str
6
13
  help: What is your projects's icon (utf-8 character)? You can set to an empty string.
@@ -185,49 +192,3 @@ streamlit_project_key:
185
192
  {% if not streamlit_project_key %}
186
193
  Invalid streamlit.io project key
187
194
  {% endif %}
188
-
189
- # project_type:
190
- # type: str
191
- # help: Is this project a shared library or an app?
192
- # choices:
193
- # - application
194
- # - shared library
195
- # default: package
196
- #
197
- # python_version:
198
- # type: str
199
- # help: "{% if project_type == 'app' %}Which Python version should your app use?{% else %}What is the minimum Python version your package should support?{% endif %}"
200
- # default: "{% if project_type == 'app' %}3.12{% else %}3.10{% endif %}"
201
- #
202
- # ci:
203
- # type: str
204
- # help: Which CI/CD provider would you like to use?
205
- # choices:
206
- # GitHub Actions: github
207
- # GitLab CI/CD: gitlab
208
- # default: "{% if 'github' in project_url %}github{% else %}gitlab{% endif %}"
209
- # when: "{{ 'github' not in project_url and 'gitlab' not in project_url }}"
210
- #
211
- # typing:
212
- # type: str
213
- # help: Do you want to use optional or strict typing and linting?
214
- # choices:
215
- # Optional: optional
216
- # Strict: strict
217
- # default: optional
218
- #
219
- # with_conventional_commits:
220
- # type: bool
221
- # help: Do you want to follow the Conventional Commits standard (https://www.conventionalcommits.org) for your commit messages?
222
- # default: true
223
- #
224
- # with_fastapi_api:
225
- # type: bool
226
- # help: Does your app need a FastAPI API?
227
- # default: false
228
- # when: "{{ project_type == 'app' }}"
229
- #
230
- # with_typer_cli:
231
- # type: bool
232
- # help: Does your {{ project_type }} need a Typer CLI?
233
- # default: false
@@ -25,7 +25,7 @@ extensions = [
25
25
  project = "oe-python-template"
26
26
  author = "Helmut Hoffer von Ankershoffen"
27
27
  copyright = f" (c) 2025-{datetime.now(UTC).year}, {author}" # noqa: A001
28
- version = "0.2.2"
28
+ version = "0.2.4"
29
29
  release = version
30
30
  github_username = "helmut-hoffer-von-ankershoffen"
31
31
  github_repository = "oe-python-template"
@@ -74,11 +74,11 @@ html_static_path = ["_static"]
74
74
  html_logo = "../../logo.png"
75
75
  html_theme_options = {
76
76
  "announcement": (
77
- '<a target="_blank" href="https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template">GitHub</a> - '
78
- '<a target="_blank" href="https://pypi.org/project/oe-python-template">PyPI</a> - '
79
- '<a target="_blank" href="https://hub.docker.com/r/helmuthva/oe-python-template/tags">Docker</a> - '
77
+ '<a target="_blank" href="https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template">GitHub</a> - ' # noqa: E501
78
+ '<a target="_blank" href="https://pypi.org/project/oe-python-template">PyPI</a> - ' # noqa: E501
79
+ '<a target="_blank" href="https://hub.docker.com/r/helmuthva/oe-python-template/tags">Docker</a> - ' # noqa: E501
80
80
  '<a target="_blank" href="https://sonarcloud.io/summary/new_code?id=helmut-hoffer-von-ankershoffen_oe-python-template">SonarQube</a> - ' # noqa: E501
81
- '<a target="_blank" href="https://app.codecov.io/gh/helmut-hoffer-von-ankershoffen/oe-python-template">Codecov</a>'
81
+ '<a target="_blank" href="https://app.codecov.io/gh/helmut-hoffer-von-ankershoffen/oe-python-template">Codecov</a>' # noqa: E501
82
82
  ),
83
83
  }
84
84
 
@@ -15,7 +15,6 @@
15
15
  ],
16
16
  "source": [
17
17
  "from oe_python_template import Service\n",
18
- "\n",
19
18
  "service = Service()\n",
20
19
  "message = service.get_hello_world()\n",
21
20
  "message"
@@ -6,7 +6,6 @@ OE Python Template.
6
6
  """
7
7
 
8
8
  import streamlit as st
9
-
10
9
  from oe_python_template import (
11
10
  Service,
12
11
  __version__,
@@ -25,13 +25,13 @@ def _setup_venv(session: nox.Session, all_extras: bool = True) -> None:
25
25
 
26
26
 
27
27
  def _is_act_environment() -> bool:
28
- """Check if running in GitLab ACT environment.""" # noqa: DOC201
29
- return os.environ.get("GITLAB_WORKFLOW_RUNTIME") == "ACT"
28
+ """Check if running in Github ACT environment.""" # noqa: DOC201
29
+ return os.environ.get("GITHUB_WORKFLOW_RUNTIME") == "ACT"
30
30
 
31
31
 
32
32
  @nox.session(python=["3.13"])
33
33
  def lint(session: nox.Session) -> None:
34
- """Run code linting and formatting checks."""
34
+ """Run code formatting checks, linting, and static type checking."""
35
35
  _setup_venv(session)
36
36
  session.run("ruff", "check", ".")
37
37
  session.run(
@@ -40,6 +40,10 @@ def lint(session: nox.Session) -> None:
40
40
  "--check",
41
41
  ".",
42
42
  )
43
+ session.run(
44
+ "mypy",
45
+ "src"
46
+ )
43
47
 
44
48
 
45
49
  @nox.session(python=["3.13"])
@@ -108,6 +112,6 @@ def setup_dev(session: nox.Session) -> None:
108
112
  session.run("git", "add", ".", external=True)
109
113
  try:
110
114
  session.run("pre-commit", external=True)
111
- except Exception: # noqa: BLE001
115
+ except Exception: # noqa: BLE001
112
116
  session.log("pre-commit run failed, continuing anyway")
113
117
  session.run("git", "add", ".", external=True)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "oe-python-template"
3
- version = "0.2.2"
3
+ version = "0.2.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 = [
@@ -61,7 +61,7 @@ requires = ["hatchling"]
61
61
  build-backend = "hatchling.build"
62
62
 
63
63
  [project.optional-dependencies]
64
- examples = ["streamlit>=1.42.2", "marimo>=0.11.13","jupyter>=1.1.1"]
64
+ examples = ["streamlit>=1.42.2", "marimo>=0.11.13","jupyter>=1.1.1", "jinja2 >=3.1.6"]
65
65
 
66
66
  [dependency-groups]
67
67
  dev = [
@@ -72,6 +72,7 @@ dev = [
72
72
  "enum-tools>=0.12.0",
73
73
  "furo>=2024.8.6",
74
74
  "git-cliff>=2.8.0",
75
+ "mypy>=1.5.0",
75
76
  "nox[uv]>=2025.2.9",
76
77
  "pip-audit>=2.8.0",
77
78
  "pip-licenses>=5.0.0",
@@ -167,6 +168,25 @@ docstring-code-format = true
167
168
  [tool.ruff.lint.pydocstyle]
168
169
  convention = "google"
169
170
 
171
+ [tool.mypy] # https://mypy.readthedocs.io/en/latest/config_file.html
172
+ junit_xml = "mypi_junit.xml"
173
+ plugins = "pydantic.mypy"
174
+ strict = true
175
+ disallow_subclassing_any = false
176
+ disallow_untyped_decorators = false
177
+ ignore_missing_imports = true
178
+ pretty = true
179
+ show_column_numbers = true
180
+ show_error_codes = true
181
+ show_error_context = true
182
+ warn_unreachable = true
183
+
184
+ [tool.pydantic-mypy] # https://docs.pydantic.dev/latest/integrations/mypy/#configuring-the-plugin
185
+ init_forbid_extra = true
186
+ init_typed = true
187
+ warn_required_dynamic_aliases = true
188
+ warn_untyped_fields = true
189
+
170
190
  [tool.pytest.ini_options]
171
191
  addopts = "-v --cov=oe_python_template --cov-report=term-missing --cov-report=xml:coverage.xml --cov-report=html:coverage_html"
172
192
  testpaths = ["tests"]
@@ -193,7 +213,7 @@ source = ["src/"]
193
213
 
194
214
 
195
215
  [tool.bumpversion]
196
- current_version = "0.2.2"
216
+ current_version = "0.2.4"
197
217
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
198
218
  serialize = ["{major}.{minor}.{patch}"]
199
219
  search = "{current_version}"
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <testsuite errors="0" failures="0" name="mypy" skips="0" tests="1" time="2.363">
3
+ <testcase classname="mypy" file="mypy" line="1" name="mypy-py3_11-darwin" time="2.363">
4
+ </testcase>
5
+ </testsuite>
@@ -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.2.2
3
+ sonar.projectVersion=0.2.4
4
4
  sonar.projectDescription=OE Python Template
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
@@ -5,11 +5,12 @@ from .constants import (
5
5
  __project_path__,
6
6
  __version__,
7
7
  )
8
+
8
9
  from .service import Service
9
10
 
10
11
  __all__ = [
11
- "Service",
12
12
  "__project_name__",
13
13
  "__project_path__",
14
14
  "__version__",
15
+ "Service",
15
16
  ]
@@ -5,7 +5,7 @@ from typing import Annotated
5
5
  import typer
6
6
  from rich.console import Console
7
7
 
8
- from oe_python_template import Service, __version__
8
+ from oe_python_template import __version__, Service
9
9
 
10
10
  console = Console()
11
11
 
@@ -1,12 +1,10 @@
1
1
  """Service of OE Python Template."""
2
2
 
3
3
  import os
4
-
5
4
  from dotenv import load_dotenv
6
5
 
7
6
  load_dotenv()
8
- THE_VAR = os.getenv("THE_VAR", "not defined")
9
-
7
+ THE_VAR = os.getenv("THE_VAR","not defined")
10
8
 
11
9
  class Service:
12
10
  """Service of OE Python Template."""
@@ -1,2 +1,2 @@
1
- GITLAB_WORKFLOW_RUNTIME=ACT
1
+ GITHUB_WORKFLOW_RUNTIME=ACT
2
2
  ACTIONS_RUNTIME_TOKEN=TOKEN
@@ -21,7 +21,6 @@
21
21
  "charliermarsh.ruff",
22
22
  "codecov.codecov",
23
23
  "donjayamanne.python-environment-manager",
24
- "elagil.pre-commit-helper",
25
24
  "fill-labs.dependi",
26
25
  "github.vscode-github-actions",
27
26
  "github.copilot",
@@ -43,6 +43,7 @@ vulnerabilities.json
43
43
  licenses.json
44
44
  licenses-inverted.json
45
45
  sbom.json
46
+ mypi_junit.xml
46
47
 
47
48
  # IDE
48
49
  .idea/
@@ -6,6 +6,22 @@ default_install_hook_types:
6
6
  - post-rewrite
7
7
  fail_fast: true
8
8
  repos:
9
+ - repo: meta
10
+ hooks:
11
+ - id: check-useless-excludes
12
+ - repo: https://github.com/pre-commit/pygrep-hooks
13
+ rev: v1.10.0
14
+ hooks:
15
+ - id: python-check-blanket-noqa
16
+ - id: python-check-blanket-type-ignore
17
+ - id: python-check-mock-methods
18
+ - id: python-no-eval
19
+ - id: python-no-log-warn
20
+ - id: python-use-type-annotations
21
+ - id: rst-backticks
22
+ - id: rst-directive-colons
23
+ - id: rst-inline-touching-normal
24
+ - id: text-unicode-replacement-char
9
25
  - repo: https://github.com/pre-commit/pre-commit-hooks
10
26
  rev: v5.0.0
11
27
  hooks:
@@ -40,10 +56,9 @@ repos:
40
56
  - repo: https://github.com/Yelp/detect-secrets
41
57
  rev: v1.5.0
42
58
  hooks:
43
- - id: detect-secrets
59
+ - id: detect-secrets
44
60
  args: ['--baseline', '.secrets.baseline']
45
61
  additional_dependencies: ["gibberish-detector"]
46
- exclude: package.lock.json
47
62
  - repo: https://github.com/astral-sh/uv-pre-commit
48
63
  # uv version.
49
64
  rev: 0.5.8