oe-python-template 0.4.3__tar.gz → 0.4.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.
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.copier-answers.yml +1 -1
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/CHANGELOG.md +8 -1
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/PKG-INFO +2 -1
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/README.md +1 -0
- oe_python_template-0.4.4/RELEASE_NOTES.md +8 -0
- oe_python_template-0.4.4/VERSION +1 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/_readme_header.md +1 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/conf.py +1 -1
- oe_python_template-0.4.4/examples/notebook.ipynb +46 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/pyproject.toml +2 -2
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/sonar-project.properties +1 -1
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/_readme_header.md.jinja +4 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/conf.py.jinja +4 -4
- oe_python_template-0.4.4/template/examples/notebook.ipynb.jinja +46 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/examples/streamlit.py.jinja +1 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/noxfile.py.jinja +4 -7
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/src/{{ project_name_snake_case }}/__init__.py.jinja +1 -2
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/src/{{ project_name_snake_case }}/api.py.jinja +10 -9
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/tests/api_test.py.jinja +2 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/uv.lock +1 -1
- oe_python_template-0.4.3/RELEASE_NOTES.md +0 -8
- oe_python_template-0.4.3/VERSION +0 -1
- oe_python_template-0.4.3/examples/jupyter.ipynb +0 -46
- oe_python_template-0.4.3/examples/notebook.ipynb +0 -46
- oe_python_template-0.4.3/template/examples/notebook.ipynb.jinja +0 -45
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.act-env-public +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.devcontainer/Dockerfile +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.devcontainer/devcontainer.json +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.devcontainer/onCreateCommand +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.devcontainer/postAttachCommand +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.devcontainer/postCreateCommand +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.env.example +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.github/workflows/docker-image-build-publish.yml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.github/workflows/package-build-publish-release.yml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.github/workflows/test-and-report.yml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.gitignore +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.pre-commit-config.yaml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.python-version +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.readthedocs.yml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.secrets.baseline +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.vscode/extensions.json +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/.vscode/settings.json +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/CODEOWNERS +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/CONTRIBUTING.md +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/Dockerfile +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/LICENSE +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/SERVICE_CONNECTIONS.md +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/_readme_footer.md +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/_readme_main.md +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/bin/git-cliff +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/bump +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/codecov.yml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/compose.yaml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/copier.yml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/Makefile +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/make.bat +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/_static/.keep +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/_static/openapi_v1.json +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/_static/openapi_v1.yaml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/_static/openapi_v2.json +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/_static/openapi_v2.yaml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/api_v1.rst +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/api_v2.rst +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/contributing.rst +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/index.rst +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/latexmkrc +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/main.rst +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/reference.rst +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/docs/source/release-notes.rst +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/examples/__init__.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/examples/notebook.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/examples/script.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/examples/streamlit.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/CHANGELOG.md +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/LICENSE-APACHE +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/LICENSE-MIT +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/README.md +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/_git-cliff +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/_git-cliff.ps1 +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/git-cliff.bash +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/git-cliff.elv +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/git-cliff.fish +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/git-cliff-completions +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/git-cliff-mangen +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/man/git-cliff.1 +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0-x86_64-unknown-linux-gnu.tar.gz +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/github-action-run +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/latexmkrc +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/logo.png +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/noxfile.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/renovate.json +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/reports/mypy.xml +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/src/oe_python_template/__init__.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/src/oe_python_template/api.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/src/oe_python_template/cli.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/src/oe_python_template/constants.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/src/oe_python_template/service.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.act-env-public.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/Dockerfile.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/devcontainer.json.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/onCreateCommand.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/postAttachCommand.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/postCreateCommand.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.env.example.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.github/workflows/docker-image-build-publish.yml.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.github/workflows/package-build-publish-release.yml.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.github/workflows/test-and-report.yml.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.gitignore.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.pre-commit-config.yaml.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.python-version +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.readthedocs.yml.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.vscode/extensions.json +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.vscode/settings.json.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/CHANGELOG.md +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/CODEOWNERS.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/CONTRIBUTING.md.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/Dockerfile.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/LICENSE.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/SERVICE_CONNECTIONS.md.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/VERSION +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/_readme_footer.md.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/_readme_main.md.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/bump.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/codecov.yml.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/compose.yaml.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/Makefile.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/make.bat.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/_static/.keep +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/api_v1.rst.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/api_v2.rst.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/contributing.rst.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/index.rst.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/latexmkrc.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/main.rst.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/reference.rst.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/release-notes.rst.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/examples/__init__.py.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/examples/notebook.py.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/examples/script.py.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/github-action-run.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/latexmkrc.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/logo.png +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/pyproject.toml.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/sonar-project.properties.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/src/{{ project_name_snake_case }}/cli.py.jinja +1 -1
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/src/{{ project_name_snake_case }}/constants.py.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/src/{{ project_name_snake_case }}/service.py.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/tests/__init__.py.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/tests/cli_test.py.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/tests/fixtures/.keep +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/{{_copier_conf.answers_file}}.jinja +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/tests/__init__.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/tests/api_test.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/tests/cli_test.py +0 -0
- {oe_python_template-0.4.3 → oe_python_template-0.4.4}/tests/fixtures/.keep +0 -0
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
[🧠 OE Python Template](https://oe-python-template.readthedocs.io/en/latest/)
|
|
2
2
|
|
|
3
|
-
## [0.4.
|
|
3
|
+
## [0.4.4](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.4.3..0.4.4) - 2025-03-13
|
|
4
|
+
|
|
5
|
+
### 📚 Documentation
|
|
6
|
+
|
|
7
|
+
- Link template - ([5927a2d](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/5927a2d4b8cb40d5a97c9b6229f46b83cbf007fa))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## [0.4.3](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.4.2..v0.4.3) - 2025-03-13
|
|
4
11
|
|
|
5
12
|
### Enh
|
|
6
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: oe-python-template
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.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/
|
|
@@ -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
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
## [0.4.4](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.4.3..v0.4.4) - 2025-03-13
|
|
2
|
+
|
|
3
|
+
### 📚 Documentation
|
|
4
|
+
|
|
5
|
+
- Link template - ([5927a2d](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/5927a2d4b8cb40d5a97c9b6229f46b83cbf007fa))
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.4.4
|
|
@@ -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.
|
|
29
|
+
version = "0.4.4"
|
|
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
|
+
version = "0.4.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 = [
|
|
@@ -245,7 +245,7 @@ source = ["src/"]
|
|
|
245
245
|
|
|
246
246
|
|
|
247
247
|
[tool.bumpversion]
|
|
248
|
-
current_version = "0.4.
|
|
248
|
+
current_version = "0.4.4"
|
|
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
|
+
sonar.projectVersion=0.4.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
|
|
@@ -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
|
---
|
|
@@ -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> - '
|
|
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> - '
|
|
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>'
|
|
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
|
+
}
|
|
@@ -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:
|
|
136
|
+
except Exception: # noqa: BLE001
|
|
140
137
|
session.log("pre-commit run failed, continuing anyway")
|
|
141
138
|
session.run("git", "add", ".", external=True)
|
|
@@ -48,22 +48,22 @@ api = FastAPI(
|
|
|
48
48
|
terms_of_service="https://{{ readthedocs_project_key }}.readthedocs.io/en/latest/",
|
|
49
49
|
openapi_tags=[
|
|
50
50
|
{
|
|
51
|
-
|
|
51
|
+
"name": "v1",
|
|
52
52
|
"description": "API version 1, check link on the right",
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
"externalDocs": {
|
|
54
|
+
"description": "sub-docs",
|
|
55
55
|
"url": f"http://{UVICORN_HOST}:{UVICORN_PORT}/api/v1/docs",
|
|
56
|
-
}
|
|
56
|
+
},
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
|
-
|
|
59
|
+
"name": "v2",
|
|
60
60
|
"description": "API version 2, check link on the right",
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
"externalDocs": {
|
|
62
|
+
"description": "sub-docs",
|
|
63
63
|
"url": f"http://{UVICORN_HOST}:{UVICORN_PORT}/api/v2/docs",
|
|
64
|
-
}
|
|
64
|
+
},
|
|
65
65
|
},
|
|
66
|
-
]
|
|
66
|
+
],
|
|
67
67
|
)
|
|
68
68
|
|
|
69
69
|
api_v1 = FastAPI(
|
|
@@ -88,6 +88,7 @@ api_v2 = FastAPI(
|
|
|
88
88
|
terms_of_service="https://{{ readthedocs_project_key }}.readthedocs.io/en/latest/",
|
|
89
89
|
)
|
|
90
90
|
|
|
91
|
+
|
|
91
92
|
class _HealthStatus(StrEnum):
|
|
92
93
|
"""Health status enumeration.
|
|
93
94
|
|
|
@@ -43,6 +43,7 @@ def test_hello_world_endpoint(client: TestClient) -> None:
|
|
|
43
43
|
assert response.status_code == 200
|
|
44
44
|
assert response.json()["message"].startswith("Hello, world!")
|
|
45
45
|
|
|
46
|
+
|
|
46
47
|
def test_echo_endpoint_valid_input(client: TestClient) -> None:
|
|
47
48
|
"""Test that the echo endpoint returns the input text."""
|
|
48
49
|
test_text = "Test message"
|
|
@@ -96,6 +97,7 @@ def test_health_endpoint(client: TestClient) -> None:
|
|
|
96
97
|
assert response.json()["status"] == "UP"
|
|
97
98
|
assert response.json()["reason"] is None
|
|
98
99
|
|
|
100
|
+
|
|
99
101
|
@patch("{{ project_name_snake_case }}.api.Service")
|
|
100
102
|
def test_health_endpoint_down(mock_service, client: TestClient) -> None:
|
|
101
103
|
"""Test that the health endpoint returns 500 status when service is unhealthy."""
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
## [0.4.3](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/compare/v0.4.2..v0.4.3) - 2025-03-13
|
|
2
|
-
|
|
3
|
-
### Enh
|
|
4
|
-
|
|
5
|
-
- *(versioned api)* Central docs entrypoint - ([24fda94](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/commit/24fda9401e864ef66109e701b7f549398282c98b))
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
oe_python_template-0.4.3/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.4.3
|
|
@@ -1,46 +0,0 @@
|
|
|
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,46 +0,0 @@
|
|
|
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,45 +0,0 @@
|
|
|
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 {{ project_name_snake_case }} import Service\n",
|
|
18
|
-
"service = Service()\n",
|
|
19
|
-
"message = service.get_hello_world()\n",
|
|
20
|
-
"message"
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"metadata": {
|
|
25
|
-
"kernelspec": {
|
|
26
|
-
"display_name": ".venv",
|
|
27
|
-
"language": "python",
|
|
28
|
-
"name": "python3"
|
|
29
|
-
},
|
|
30
|
-
"language_info": {
|
|
31
|
-
"codemirror_mode": {
|
|
32
|
-
"name": "ipython",
|
|
33
|
-
"version": 3
|
|
34
|
-
},
|
|
35
|
-
"file_extension": ".py",
|
|
36
|
-
"mimetype": "text/x-python",
|
|
37
|
-
"name": "python",
|
|
38
|
-
"nbconvert_exporter": "python",
|
|
39
|
-
"pygments_lexer": "ipython3",
|
|
40
|
-
"version": "3.11.6"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
"nbformat": 4,
|
|
44
|
-
"nbformat_minor": 2
|
|
45
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/_git-cliff
RENAMED
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/_git-cliff.ps1
RENAMED
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/git-cliff.bash
RENAMED
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/git-cliff.elv
RENAMED
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/git-cliff-2.7.0/completions/git-cliff.fish
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/Dockerfile.jinja
RENAMED
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/devcontainer.json.jinja
RENAMED
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/onCreateCommand.jinja
RENAMED
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/postAttachCommand.jinja
RENAMED
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.devcontainer/postCreateCommand.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/.pre-commit-config.yaml.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/contributing.rst.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/reference.rst.jinja
RENAMED
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/docs/source/release-notes.rst.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/sonar-project.properties.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{oe_python_template-0.4.3 → oe_python_template-0.4.4}/template/{{_copier_conf.answers_file}}.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|