oe-python-template 0.13.6__tar.gz → 0.13.8__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 (40) hide show
  1. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/PKG-INFO +20 -19
  2. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/README.md +19 -18
  3. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/pyproject.toml +2 -2
  4. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/.gitignore +0 -0
  5. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/LICENSE +0 -0
  6. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/__init__.py +0 -0
  7. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/api.py +0 -0
  8. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/cli.py +0 -0
  9. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/constants.py +0 -0
  10. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/hello/__init__.py +0 -0
  11. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/hello/_api.py +0 -0
  12. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/hello/_cli.py +0 -0
  13. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/hello/_constants.py +0 -0
  14. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/hello/_gui.py +0 -0
  15. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/hello/_models.py +0 -0
  16. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/hello/_service.py +0 -0
  17. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/hello/_settings.py +0 -0
  18. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/system/__init__.py +0 -0
  19. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/system/_api.py +0 -0
  20. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/system/_cli.py +0 -0
  21. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/system/_gui.py +0 -0
  22. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/system/_service.py +0 -0
  23. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/system/_settings.py +0 -0
  24. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/.vendored/bottle.py +0 -0
  25. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/__init__.py +0 -0
  26. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_api.py +0 -0
  27. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_cli.py +0 -0
  28. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_console.py +0 -0
  29. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_constants.py +0 -0
  30. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_di.py +0 -0
  31. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_gui.py +0 -0
  32. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_health.py +0 -0
  33. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_log.py +0 -0
  34. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_logfire.py +0 -0
  35. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_notebook.py +0 -0
  36. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_process.py +0 -0
  37. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_sentry.py +0 -0
  38. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_service.py +0 -0
  39. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/_settings.py +0 -0
  40. {oe_python_template-0.13.6 → oe_python_template-0.13.8}/src/oe_python_template/utils/boot.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oe-python-template
3
- Version: 0.13.6
3
+ Version: 0.13.8
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/
@@ -152,35 +152,39 @@ Projects generated with this template come with a comprehensive development tool
152
152
  20. Documentation including dynamic badges, setup instructions, contribution guide and security policy
153
153
  21. Interactive OpenAPI specification with [Swagger](https://swagger.io/)
154
154
  22. Python package published to [PyPI](https://pypi.org/)
155
- 23. Multi-stage build of fat and slim (no-extras) Docker images, app running nonroot
156
- 24. Mult-arch 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)
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
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
158
  26. Settings for use with [VSCode](https://code.visualstudio.com/)
159
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
160
  28. API deployed as serverless function to [Vercel](https://vercel.com/) (optional)
161
161
 
162
- ### Application Features
162
+ ### Multi-head Application Features
163
163
 
164
- Beyond development tooling, projects generated with this template include the code, documentation, and configuration of a fully functioning application and service. This reference implementation serves as a starting point for your own business logic with modern patterns and enterprise practices already in place:
164
+ Beyond development tooling, projects generated with this template include the code, documentation, and configuration of a fully functioning service and multi-head application. This reference implementation serves as a starting point for your own business logic with modern patterns and enterprise practices already in place:
165
165
 
166
166
  1. Usable as library with "Hello" module exposing a simple service that can say "Hello, world!" and echo utterances.
167
- 2. Command-line interface (CLI) with [Typer](https://typer.tiangolo.com/)
168
- 2. Versioned webservice API with [FastAPI](https://fastapi.tiangolo.com/)
169
- 3. Comfortable command-line interface (CLI) with
170
- [Typer](https://typer.tiangolo.com/)
167
+ 2. Comfortable command-line interface (CLI) with [Typer](https://typer.tiangolo.com/)
168
+ 3. Versioned webservice API with [FastAPI](https://fastapi.tiangolo.com/)
171
169
  4. Cross-platform Graphical User Interface (GUI) with
172
- [NiceGUI](https://nicegui.io/) running in native window
170
+ [NiceGUI](https://nicegui.io/) running in a browser or native window
173
171
  5. [Interactive Jupyter notebook](https://jupyter.org/) and [reactive Marimo notebook](https://marimo.io/)
174
172
  6. Simple Web UI with [Streamlit](https://streamlit.io/)
175
- 7. Validation and settings management with [pydantic](https://docs.pydantic.dev/)
176
- 8. Flexible logging and instrumentation, including support for [Sentry](https://sentry.io/) and [Logfire](https://logfire.dev/)
177
- 9. Modular architecture including auto-registration of services, CLI commands, API routes and GUI pages exposed by domain modules
178
- 10. System module providing aggregate health and info to the runtime, compiled settings, and further info provided by domain modules
179
- 11. Health and Info available via command, webservice API (info passsword protected) and GUI
173
+ 7. Modular architecture auto-discovers and registers services, CLI commands, API routes and GUI pages exposed by domain modules
174
+ 8. Validation and settings management with [pydantic](https://docs.pydantic.dev/)
175
+ 9. System module providing aggregate health and info to the runtime, compiled settings, and further info provided by domain modules
176
+ 10. Health and Info available via command, webservice API (info passsword protected) and GUI
177
+ 11. Flexible logging and instrumentation, including support for [Sentry](https://sentry.io/) and [Logfire](https://logfire.dev/)
180
178
  12. Hello service demonstrates use of custom real time metrics collected via Logfire
181
179
  13. Configuration to run the CLI and API in a Docker container including setup for [Docker Compose](https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-docker-compose/)
182
180
 
183
- Explore [here](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example) for what's generated out of the box.
181
+ Explore [here](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example) for what's generated out of the box. While this template comes with multiple application interfaces ("heads") - Library, CLI, API, GUI, notebooks, and Streamlit; running native and within Docker - they're included to demonstrate capabilities and provide implementation patterns. You're expected to use this as a foundation, keeping only the interfaces relevant to your project's requirements. The modular architecture makes it easy to:
182
+
183
+ 1. Remove unnecessary interfaces to simplify your codebase
184
+ 2. Adapt existing interfaces to your specific use cases
185
+ 3. Focus on your core business logic without reimplementing infrastructure
186
+ 4. Add new interfaces while leveraging the existing patterns
187
+
184
188
 
185
189
  ## Generate a new project
186
190
 
@@ -303,15 +307,12 @@ The following examples run from source - clone this repository using
303
307
  ```python
304
308
  """Example script demonstrating the usage of the service provided by OE Python Template."""
305
309
 
306
- from dotenv import load_dotenv
307
310
  from rich.console import Console
308
311
 
309
312
  from oe_python_template.hello import Service
310
313
 
311
314
  console = Console()
312
315
 
313
- load_dotenv()
314
-
315
316
  message = Service.get_hello_world()
316
317
  console.print(f"[blue]{message}[/blue]")
317
318
  ```
@@ -78,35 +78,39 @@ Projects generated with this template come with a comprehensive development tool
78
78
  20. Documentation including dynamic badges, setup instructions, contribution guide and security policy
79
79
  21. Interactive OpenAPI specification with [Swagger](https://swagger.io/)
80
80
  22. Python package published to [PyPI](https://pypi.org/)
81
- 23. Multi-stage build of fat and slim (no-extras) Docker images, app running nonroot
82
- 24. Mult-arch 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)
81
+ 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
82
+ 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)
83
83
  25. One-click development environments with [Dev Containers](https://code.visualstudio.com/docs/devcontainers/containers) and [GitHub Codespaces](https://github.com/features/codespaces)
84
84
  26. Settings for use with [VSCode](https://code.visualstudio.com/)
85
85
  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)
86
86
  28. API deployed as serverless function to [Vercel](https://vercel.com/) (optional)
87
87
 
88
- ### Application Features
88
+ ### Multi-head Application Features
89
89
 
90
- Beyond development tooling, projects generated with this template include the code, documentation, and configuration of a fully functioning application and service. This reference implementation serves as a starting point for your own business logic with modern patterns and enterprise practices already in place:
90
+ Beyond development tooling, projects generated with this template include the code, documentation, and configuration of a fully functioning service and multi-head application. This reference implementation serves as a starting point for your own business logic with modern patterns and enterprise practices already in place:
91
91
 
92
92
  1. Usable as library with "Hello" module exposing a simple service that can say "Hello, world!" and echo utterances.
93
- 2. Command-line interface (CLI) with [Typer](https://typer.tiangolo.com/)
94
- 2. Versioned webservice API with [FastAPI](https://fastapi.tiangolo.com/)
95
- 3. Comfortable command-line interface (CLI) with
96
- [Typer](https://typer.tiangolo.com/)
93
+ 2. Comfortable command-line interface (CLI) with [Typer](https://typer.tiangolo.com/)
94
+ 3. Versioned webservice API with [FastAPI](https://fastapi.tiangolo.com/)
97
95
  4. Cross-platform Graphical User Interface (GUI) with
98
- [NiceGUI](https://nicegui.io/) running in native window
96
+ [NiceGUI](https://nicegui.io/) running in a browser or native window
99
97
  5. [Interactive Jupyter notebook](https://jupyter.org/) and [reactive Marimo notebook](https://marimo.io/)
100
98
  6. Simple Web UI with [Streamlit](https://streamlit.io/)
101
- 7. Validation and settings management with [pydantic](https://docs.pydantic.dev/)
102
- 8. Flexible logging and instrumentation, including support for [Sentry](https://sentry.io/) and [Logfire](https://logfire.dev/)
103
- 9. Modular architecture including auto-registration of services, CLI commands, API routes and GUI pages exposed by domain modules
104
- 10. System module providing aggregate health and info to the runtime, compiled settings, and further info provided by domain modules
105
- 11. Health and Info available via command, webservice API (info passsword protected) and GUI
99
+ 7. Modular architecture auto-discovers and registers services, CLI commands, API routes and GUI pages exposed by domain modules
100
+ 8. Validation and settings management with [pydantic](https://docs.pydantic.dev/)
101
+ 9. System module providing aggregate health and info to the runtime, compiled settings, and further info provided by domain modules
102
+ 10. Health and Info available via command, webservice API (info passsword protected) and GUI
103
+ 11. Flexible logging and instrumentation, including support for [Sentry](https://sentry.io/) and [Logfire](https://logfire.dev/)
106
104
  12. Hello service demonstrates use of custom real time metrics collected via Logfire
107
105
  13. Configuration to run the CLI and API in a Docker container including setup for [Docker Compose](https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-docker-compose/)
108
106
 
109
- Explore [here](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example) for what's generated out of the box.
107
+ Explore [here](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example) for what's generated out of the box. While this template comes with multiple application interfaces ("heads") - Library, CLI, API, GUI, notebooks, and Streamlit; running native and within Docker - they're included to demonstrate capabilities and provide implementation patterns. You're expected to use this as a foundation, keeping only the interfaces relevant to your project's requirements. The modular architecture makes it easy to:
108
+
109
+ 1. Remove unnecessary interfaces to simplify your codebase
110
+ 2. Adapt existing interfaces to your specific use cases
111
+ 3. Focus on your core business logic without reimplementing infrastructure
112
+ 4. Add new interfaces while leveraging the existing patterns
113
+
110
114
 
111
115
  ## Generate a new project
112
116
 
@@ -229,15 +233,12 @@ The following examples run from source - clone this repository using
229
233
  ```python
230
234
  """Example script demonstrating the usage of the service provided by OE Python Template."""
231
235
 
232
- from dotenv import load_dotenv
233
236
  from rich.console import Console
234
237
 
235
238
  from oe_python_template.hello import Service
236
239
 
237
240
  console = Console()
238
241
 
239
- load_dotenv()
240
-
241
242
  message = Service.get_hello_world()
242
243
  console.print(f"[blue]{message}[/blue]")
243
244
  ```
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "oe-python-template"
3
- version = "0.13.6"
3
+ version = "0.13.8"
4
4
  description = "🧠 Copier template to scaffold Python projects compliant with best practices and modern tooling."
5
5
  readme = "README.md"
6
6
  authors = [{ name = "Helmut Hoffer von Ankershoffen", email = "helmuthva@gmail.com" }]
@@ -279,7 +279,7 @@ source = ["src/"]
279
279
 
280
280
 
281
281
  [tool.bumpversion]
282
- current_version = "0.13.6"
282
+ current_version = "0.13.8"
283
283
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
284
284
  serialize = ["{major}.{minor}.{patch}"]
285
285
  search = "{current_version}"