oe-python-template-example 0.0.3__py3-none-any.whl → 0.0.7__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oe-python-template-example
3
- Version: 0.0.3
3
+ Version: 0.0.7
4
4
  Summary: 🧠 Example project scaffolded and kept up to date with OE Python Template (oe-python-template).
5
5
  Project-URL: Homepage, https://oe-python-template-example.readthedocs.io/en/latest/
6
6
  Project-URL: Documentation, https://oe-python-template-example.readthedocs.io/en/latest/
@@ -30,7 +30,7 @@ License: MIT License
30
30
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31
31
  SOFTWARE.
32
32
  License-File: LICENSE
33
- Keywords: codecov,docker,oe-python-template-example,pydantic,python,ruff,typer,uv
33
+ Keywords: act,codecov,copier,cyclonedx,detect-secrets,devcontainer,docker,git-cliff,jupyter,marimo,mypy,nox,oe-python-template,oe-python-template-example,pip-audit,pip-licenses,pre-commit,pydantic,pypi,pytest,python,readthedocs,ruff,sonarcloud,sonarqube,sphinx,streamlit,typer,uv
34
34
  Classifier: Development Status :: 2 - Pre-Alpha
35
35
  Classifier: Framework :: Pydantic
36
36
  Classifier: Framework :: Pytest
@@ -52,9 +52,10 @@ 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
- Requires-Dist: marimo>=0.11.13; extra == 'examples'
57
- Requires-Dist: streamlit>=1.42.2; extra == 'examples'
57
+ Requires-Dist: marimo>=0.11.17; extra == 'examples'
58
+ Requires-Dist: streamlit>=1.43.1; extra == 'examples'
58
59
  Description-Content-Type: text/markdown
59
60
 
60
61
  # 🧠 OE Python Template Example
@@ -71,13 +72,17 @@ Description-Content-Type: text/markdown
71
72
  [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=helmut-hoffer-von-ankershoffen_oe-python-template-example&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=helmut-hoffer-von-ankershoffen_oe-python-template-example)
72
73
  [![Coverage](https://codecov.io/gh/helmut-hoffer-von-ankershoffen/oe-python-template-example/graph/badge.svg?token=SX34YRP30E)](https://codecov.io/gh/helmut-hoffer-von-ankershoffen/oe-python-template-example)
73
74
  [![Ruff](https://img.shields.io/badge/style-Ruff-blue?color=D6FF65)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example/blob/main/noxfile.py)
75
+ [![MyPy](https://img.shields.io/badge/mypy-checked-blue)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example/blob/main/noxfile.py)
74
76
  [![GitHub - Version](https://img.shields.io/github/v/release/helmut-hoffer-von-ankershoffen/oe-python-template-example?label=GitHub&style=flat&labelColor=1C2C2E&color=blue&logo=GitHub&logoColor=white)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example/releases)
75
77
  [![GitHub - Commits](https://img.shields.io/github/commit-activity/m/helmut-hoffer-von-ankershoffen/oe-python-template-example/main?label=commits&style=flat&labelColor=1C2C2E&color=blue&logo=GitHub&logoColor=white)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example/commits/main/)
76
78
  [![PyPI - Version](https://img.shields.io/pypi/v/oe-python-template-example.svg?label=PyPI&logo=pypi&logoColor=%23FFD243&labelColor=%230073B7&color=FDFDFD)](https://pypi.python.org/pypi/oe-python-template-example)
77
79
  [![PyPI - Status](https://img.shields.io/pypi/status/oe-python-template-example?logo=pypi&logoColor=%23FFD243&labelColor=%230073B7&color=FDFDFD)](https://pypi.python.org/pypi/oe-python-template-example)
78
80
  [![Docker - Version](https://img.shields.io/docker/v/helmuthva/oe-python-template-example?sort=semver&label=Docker&logo=docker&logoColor=white&labelColor=1354D4&color=10151B)](https://hub.docker.com/r/helmuthva/oe-python-template-example/tags)
79
- [![Docker - Size](https://img.shields.io/docker/image-size/helmuthva/oe-python-template-examplesort=semver&arch=arm64&label=image&logo=docker&logoColor=white&labelColor=1354D4&color=10151B)](https://hub.docker.com/r/helmuthva/oe-python-template-example/)
81
+ [![Docker - Size](https://img.shields.io/docker/image-size/helmuthva/oe-python-template-example?sort=semver&arch=arm64&label=image&logo=docker&logoColor=white&labelColor=1354D4&color=10151B)](https://hub.docker.com/r/helmuthva/oe-python-template-example/)
80
82
  [![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)
83
+ [![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-example)
84
+ [![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-example)
85
+
81
86
  <!---
82
87
  [![ghcr.io - Version](https://ghcr-badge.egpl.dev/helmut-hoffer-von-ankershoffen/oe-python-template-example/tags?color=%2344cc11&ignore=0.0%2C0%2Clatest&n=3&label=ghcr.io&trim=)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example/pkgs/container/oe-python-template-example)
83
88
  [![ghcr.io - Sze](https://ghcr-badge.egpl.dev/helmut-hoffer-von-ankershoffen/oe-python-template-example/size?color=%2344cc11&tag=latest&label=size&trim=)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example/pkgs/container/oe-python-template-example)
@@ -91,9 +96,60 @@ Description-Content-Type: text/markdown
91
96
  Example project scaffolded and kept up to date with OE Python Template (oe-python-template).
92
97
 
93
98
  Use Cases:
94
- 1) Lorem Ipsum
95
- 2) Dolor Sit Amet
96
- 3) Consectetur Adipiscing Elit
99
+ 1) Fast and easy to use project setup
100
+ 2) Consistent update of already scaffolded projects to benefit from new and improved features.
101
+ 3) Dummy CLI application and service demonstrating example usage of the generated directory structure and build pipeline
102
+
103
+ ## Scaffolding Instructions
104
+
105
+ Step 1: Install uv package manager and copier
106
+ ```shell
107
+ if [[ "$OSTYPE" == "darwin"* ]]; then # Install dependencies for macOS X
108
+ if ! command -v brew &> /dev/null; then ## Install Homebrew if not present
109
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
110
+ fi
111
+ elif [[ "$OSTYPE" == "linux-gnu"* ]]; then # Install dependencies for Linux
112
+ sudo apt-get update -y && sudo apt-get install curl -y # Install curl
113
+ fi
114
+ if ! command -v uvx &> /dev/null; then # Install uv package manager if not present
115
+ curl -LsSf https://astral.sh/uv/install.sh | sh
116
+ source $HOME/.local/bin/env
117
+ fi
118
+ uv tool install copier # Install copier as global tool
119
+ ```
120
+
121
+ 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.
122
+
123
+ Step 3: Scaffold the project
124
+ ```shell
125
+ copier copy gh:helmut-hoffer-von-ankershoffen/oe-python-template .
126
+ ```
127
+ Step 4: Setup the local environment
128
+
129
+ ```shell
130
+ uv run nox -s setup_eev
131
+ ```
132
+
133
+ Step 5: Perform inital commit and push
134
+ ```shell
135
+ git add .
136
+ git commit -m "feat: Initial commit"
137
+ ```
138
+
139
+ Visit your GitHub repository and check the Actions tab. The CI workflow should fail at the SonarQube step,
140
+ as this external service is not yet configured for our new repository.
141
+
142
+ Step 6: Follow the instructions in SERVICE_CONNECTIONS.md to setup the connections to external services
143
+ such as Cloudcov, SonarQube Cloud, Read The Docs, Docker.io, GHCR.io and Streamlit Community Cloud.
144
+
145
+ Step 7: Release the first versions
146
+ ```shell
147
+ ./bump
148
+ ```
149
+ Notes:
150
+ * You can remove this section post having successfully scafolded your project.
151
+ * The following sections refer to the dummy application and service provided by this template.
152
+ Use them as inspiration and adapt them to your own project.
97
153
 
98
154
  ## Overview
99
155
 
@@ -122,6 +178,7 @@ uvx oe-python-template-example --help # all CLI commands
122
178
  uvx oe-python-template-example command --help # all options for command
123
179
  ```
124
180
 
181
+
125
182
  ## Highlights
126
183
 
127
184
  * Example project scaffolded and kept up to date with OE Python Template (oe-python-template).
@@ -138,6 +195,7 @@ uvx oe-python-template-example command --help # all options for command
138
195
  * 1-liner for installation and execution of command line interface (CLI) via [uv(x)](https://github.com/astral-sh/uv) or [Docker](https://hub.docker.com/r/helmuthva/oe-python-template-example/tags)
139
196
  * Setup for developing inside a [devcontainer](https://code.visualstudio.com/docs/devcontainers/containers) included (supports VSCode and GitHub Codespaces)
140
197
 
198
+
141
199
  ## Usage Examples
142
200
 
143
201
  ### Minimal Python Script:
@@ -2,8 +2,8 @@ oe_python_template_example/__init__.py,sha256=-sCwS9lD6CvgWw88f7snBDF947PWIhEupJ
2
2
  oe_python_template_example/cli.py,sha256=6giUEesoEuwytZnthiTBH9-ALkiwdkTL4TEb7vsqbGM,1351
3
3
  oe_python_template_example/constants.py,sha256=6uQHr2CRgzWQWhUQCRRKiPuFhzKB2iblZk3dIRQ5dDc,358
4
4
  oe_python_template_example/service.py,sha256=ZpsZFnnJm_3EqoVqGomfAyIjLVmWJFuJ3G9qatWj5yI,516
5
- oe_python_template_example-0.0.3.dist-info/METADATA,sha256=14pdHyb-nVnuIUez4_KisfRE_8c1_Qi2JXziy0U-tOo,16712
6
- oe_python_template_example-0.0.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
7
- oe_python_template_example-0.0.3.dist-info/entry_points.txt,sha256=S2eCPB45b1Wgj_GsDRFAN-e4h7dBA5UPxT8od98erDE,82
8
- oe_python_template_example-0.0.3.dist-info/licenses/LICENSE,sha256=5H409K6xzz9U5eUaoAHQExNkoWJRlU0LEj6wL2QJ34s,1113
9
- oe_python_template_example-0.0.3.dist-info/RECORD,,
5
+ oe_python_template_example-0.0.7.dist-info/METADATA,sha256=2zKINPEf3Z6IjOkP_gYtBt6WwAwXineL8JtCFExWnxQ,19978
6
+ oe_python_template_example-0.0.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
7
+ oe_python_template_example-0.0.7.dist-info/entry_points.txt,sha256=S2eCPB45b1Wgj_GsDRFAN-e4h7dBA5UPxT8od98erDE,82
8
+ oe_python_template_example-0.0.7.dist-info/licenses/LICENSE,sha256=5H409K6xzz9U5eUaoAHQExNkoWJRlU0LEj6wL2QJ34s,1113
9
+ oe_python_template_example-0.0.7.dist-info/RECORD,,