oe-python-template 0.15.13__py3-none-any.whl → 0.15.14__py3-none-any.whl

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/cli.py CHANGED
@@ -12,7 +12,6 @@ boot(MODULES_TO_INSTRUMENT)
12
12
  logger = get_logger(__name__)
13
13
 
14
14
  cli = typer.Typer(help="Command Line Interface of OE Python Template")
15
- prepare_cli(cli, f"🧠 OE Python Template v{__version__} - built with love in Berlin 🐻")
16
15
 
17
16
 
18
17
  if find_spec("nicegui") and find_spec("webview") and not __is_running_in_container__:
@@ -46,6 +45,8 @@ if find_spec("marimo"):
46
45
  )
47
46
 
48
47
 
48
+ prepare_cli(cli, f"🧠 OE Python Template v{__version__} - built with love in Berlin 🐻")
49
+
49
50
  if __name__ == "__main__": # pragma: no cover
50
51
  try:
51
52
  cli()
@@ -1,13 +1,14 @@
1
- """Constants for the OE Python Template."""
1
+ """Static configuration of OE Python Template."""
2
2
 
3
3
  from pathlib import Path
4
4
 
5
- MODULES_TO_INSTRUMENT = ["oe_python_template.hello"]
6
-
7
- API_VERSIONS = {
5
+ # Configuration required by oe-python-template
6
+ API_VERSIONS: dict[str,str] = {
8
7
  "v1": "1.0.0",
9
8
  "v2": "2.0.0",
10
9
  }
11
-
10
+ MODULES_TO_INSTRUMENT: list[str] = ["oe_python_template.hello"]
12
11
  NOTEBOOK_FOLDER = Path(__file__).parent.parent.parent / "examples"
13
12
  NOTEBOOK_APP = Path(__file__).parent.parent.parent / "examples" / "notebook.py"
13
+
14
+ # Project specific configuration
@@ -1,4 +1,4 @@
1
- """Constants used throughout."""
1
+ """Constants generated from the environment at runtime used throughout the project."""
2
2
 
3
3
  import os
4
4
  import sys
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oe-python-template
3
- Version: 0.15.13
3
+ Version: 0.15.14
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/
@@ -141,23 +141,23 @@ Projects generated with this template come with a comprehensive development tool
141
141
  10. Dependency monitoring and vulnerability scanning with [pip-audit](https://pypi.org/project/pip-audit/), [trivy](https://trivy.dev/latest/), [Renovate](https://github.com/renovatebot/renovate), and [GitHub Dependabot](https://docs.github.com/en/code-security/getting-started/dependabot-quickstart-guide)
142
142
  11. Error monitoring and profiling with [Sentry](https://sentry.io/) (optional)
143
143
  12. Logging and metrics with [Logfire](https://logfire.dev/) (optional)
144
- 13. Prepared for uptime monitoring with [betterstack](https://betterstack.com/) or alternatives
145
- 13. Licenses of dependencies extracted with [pip-licenses](https://pypi.org/project/pip-licenses/), matched with allow list, and published as release artifacts in CSV and JSON format for further compliance checks
146
- 14. Generation of attributions from extracted licenses
147
- 15. Software Bill of Materials (SBOM) generated in [CycloneDX](https://cyclonedx.org/) and [SPDX](https://spdx.dev/) formats with [cyclonedx-python](https://github.com/CycloneDX/cyclonedx-python) resp. [trivy](https://trivy.dev/latest/), published as release artifacts
148
- 16. Version and release management with [bump-my-version](https://callowayproject.github.io/bump-my-version/)
149
- 17. Changelog and release notes generated with [git-cliff](https://git-cliff.org/)
150
- 18. Documentation generated with [Sphinx](https://www.sphinx-doc.org/en/master/) including reference documentation for the library, CLI, and API
151
- 19. Documentation published to [Read The Docs](https://readthedocs.org/) including generation of PDF and single page HTML versions
152
- 20. Documentation including dynamic badges, setup instructions, contribution guide and security policy
153
- 21. Interactive OpenAPI specification with [Swagger](https://swagger.io/)
154
- 22. Python package published to [PyPI](https://pypi.org/)
155
- 23. Multi-stage build of fat (all extras) and slim (no extras) multi-arch (arm64 and amd64) Docker images, running non-root within immutable container
156
- 24. Docker images published to [Docker.io](https://hub.docker.com/) and [GitHub Container Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry) with [artifact attestations](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds)
157
- 25. One-click development environments with [Dev Containers](https://code.visualstudio.com/docs/devcontainers/containers) and [GitHub Codespaces](https://github.com/features/codespaces)
158
- 26. Settings for use with [VSCode](https://code.visualstudio.com/)
159
- 27. Settings and custom instructions for use with [GitHub Copilot](https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot)
160
- 28. API deployed as serverless function to [Vercel](https://vercel.com/) (optional)
144
+ 13. Prepared for uptime monitoring and scheduled tests with [betterstack](https://betterstack.com/) or alternatives
145
+ 14. Licenses of dependencies extracted with [pip-licenses](https://pypi.org/project/pip-licenses/), matched with allow list, and published as release artifacts in CSV and JSON format for further compliance checks
146
+ 15. Generation of attributions from extracted licenses
147
+ 16. Software Bill of Materials (SBOM) generated in [CycloneDX](https://cyclonedx.org/) and [SPDX](https://spdx.dev/) formats with [cyclonedx-python](https://github.com/CycloneDX/cyclonedx-python) resp. [trivy](https://trivy.dev/latest/), published as release artifacts
148
+ 17. Version and release management with [bump-my-version](https://callowayproject.github.io/bump-my-version/)
149
+ 18. Changelog and release notes generated with [git-cliff](https://git-cliff.org/)
150
+ 19. Documentation generated with [Sphinx](https://www.sphinx-doc.org/en/master/) including reference documentation for the library, CLI, and API
151
+ 20. Documentation published to [Read The Docs](https://readthedocs.org/) including generation of PDF and single page HTML versions
152
+ 21. Documentation including dynamic badges, setup instructions, contribution guide and security policy
153
+ 22. Interactive OpenAPI specification with [Swagger](https://swagger.io/)
154
+ 23. Python package published to [PyPI](https://pypi.org/)
155
+ 24. Multi-stage build of fat (all extras) and slim (no extras) multi-arch (arm64 and amd64) Docker images, running non-root within immutable container
156
+ 25. Docker images published to [Docker.io](https://hub.docker.com/) and [GitHub Container Registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry) with [artifact attestations](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds)
157
+ 26. One-click development environments with [Dev Containers](https://code.visualstudio.com/docs/devcontainers/containers) and [GitHub Codespaces](https://github.com/features/codespaces)
158
+ 27. Settings for use with [VSCode](https://code.visualstudio.com/)
159
+ 28. Settings and custom instructions for use with [GitHub Copilot](https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot)
160
+ 29. API deployed as serverless function to [Vercel](https://vercel.com/) (optional)
161
161
 
162
162
  ### Multi-head Application Features
163
163
 
@@ -1,7 +1,7 @@
1
1
  oe_python_template/__init__.py,sha256=_Z3Xb-x95UODU66avOiwROVaouk_s0ZNB25KFnPoS40,226
2
2
  oe_python_template/api.py,sha256=tNPSbBDYq8x1WMs4pAw6I5MLlV6NgJetQ6FNPRLho5o,2181
3
- oe_python_template/cli.py,sha256=371khUxULDDmYkwf05MXNrgzpIoSgGY9CWp_DCICdxQ,1677
4
- oe_python_template/constants.py,sha256=tIWRWxG7Ob-MwH8ucPplOMO3mCgXPo97acRjydpHiyg,330
3
+ oe_python_template/cli.py,sha256=lAiglS80KgiFG1_Xfsp-XGtBGggFJbSEM3N0Ahiwp-M,1678
4
+ oe_python_template/constants.py,sha256=eGRomEUWxLUK9yup5F6wy42s_aAHlM_wrrXCAl6u6dc,441
5
5
  oe_python_template/hello/__init__.py,sha256=F7aJ_uhTPPnFLT_4GjI2GzjAmKrUhfe4KxqzrljuCVo,485
6
6
  oe_python_template/hello/_api.py,sha256=wW3gI6OpLMP3u2hVuaKxpuGF230rS6JiCnsRnGFPdpc,2359
7
7
  oe_python_template/hello/_cli.py,sha256=mSNmRj_VRoRfCAR1I8tssZqZCTmT6jgzsNWrTtlFP7Y,1184
@@ -20,7 +20,7 @@ oe_python_template/utils/__init__.py,sha256=oM8v1ozMOeBQG-EbBtEGbnuGk52mYNDAmNoR
20
20
  oe_python_template/utils/_api.py,sha256=GSI-HPtSdTFv0qP5aTDPa2WS3ewVa1slusG6dvxSu0Y,2474
21
21
  oe_python_template/utils/_cli.py,sha256=J_mFtXZ1gGeovGrE5i3wlokTOBfiTTKEz5magiRP7GA,2091
22
22
  oe_python_template/utils/_console.py,sha256=u0-utcdRmVu4rabrYUyNOx8yPxLhxB3E92m22kSCwPQ,293
23
- oe_python_template/utils/_constants.py,sha256=fPS1leVqg7NRo_FFE3Xs3QI7un5_YRrY8cKQAfThwgg,3247
23
+ oe_python_template/utils/_constants.py,sha256=WfXarYsOP1z3iv-DNEw7FNBekLXEz2rHYICAaqdoQd8,3301
24
24
  oe_python_template/utils/_di.py,sha256=J1-f6xtbnR88VfRAsRMl5m6eqt-Lf3c7ABSJOxNzlvU,2399
25
25
  oe_python_template/utils/_gui.py,sha256=mm7-PFPZsVAYISENM91ezlefs_Ax5dEOPzT7-u5xQe0,7749
26
26
  oe_python_template/utils/_health.py,sha256=35QOWe2r5InrEpGtuVMym9dI5aRHS0HWf4BHBRAUIj0,4102
@@ -33,8 +33,8 @@ oe_python_template/utils/_service.py,sha256=atHAejvBucKXjzhsMSdOBBFa7rRD74zcV70P
33
33
  oe_python_template/utils/_settings.py,sha256=owFoaHEzJnVD3EVyOWF4rfIY7g6eLnU6rN0m4VHhCbA,2464
34
34
  oe_python_template/utils/boot.py,sha256=Qgq1sjT8d3fcfibnMyx5CVUJ_KKXgFI3ozZUIJbhh4I,2921
35
35
  oe_python_template/utils/.vendored/bottle.py,sha256=kZAZmh3nRzCUf-9IKGpv0yqlMciZMA_DNaaMDdcQmt0,175437
36
- oe_python_template-0.15.13.dist-info/METADATA,sha256=P1rxXjv0M9ylstMoR1cVwpqRjo960WutYWCqUd1Kl7Y,34476
37
- oe_python_template-0.15.13.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
38
- oe_python_template-0.15.13.dist-info/entry_points.txt,sha256=IroSSWhLGxus9rxcashkYQda39TTvf7LbUMYtOKXUBE,66
39
- oe_python_template-0.15.13.dist-info/licenses/LICENSE,sha256=5H409K6xzz9U5eUaoAHQExNkoWJRlU0LEj6wL2QJ34s,1113
40
- oe_python_template-0.15.13.dist-info/RECORD,,
36
+ oe_python_template-0.15.14.dist-info/METADATA,sha256=YyA546jc9z3Ex7xLAfIdT6WXyrImgcKB5SyB1oGKEP8,34496
37
+ oe_python_template-0.15.14.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
38
+ oe_python_template-0.15.14.dist-info/entry_points.txt,sha256=IroSSWhLGxus9rxcashkYQda39TTvf7LbUMYtOKXUBE,66
39
+ oe_python_template-0.15.14.dist-info/licenses/LICENSE,sha256=5H409K6xzz9U5eUaoAHQExNkoWJRlU0LEj6wL2QJ34s,1113
40
+ oe_python_template-0.15.14.dist-info/RECORD,,