oe-python-template 0.10.4__tar.gz → 0.10.6__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 (35) hide show
  1. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/PKG-INFO +8 -5
  2. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/README.md +6 -4
  3. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/pyproject.toml +3 -2
  4. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/system/_service.py +4 -0
  5. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/.gitignore +0 -0
  6. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/LICENSE +0 -0
  7. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/__init__.py +0 -0
  8. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/api.py +0 -0
  9. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/cli.py +0 -0
  10. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/constants.py +0 -0
  11. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/hello/__init__.py +0 -0
  12. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/hello/_api.py +0 -0
  13. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/hello/_cli.py +0 -0
  14. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/hello/_constants.py +0 -0
  15. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/hello/_models.py +0 -0
  16. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/hello/_service.py +0 -0
  17. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/hello/_settings.py +0 -0
  18. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/system/__init__.py +0 -0
  19. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/system/_api.py +0 -0
  20. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/system/_cli.py +0 -0
  21. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/system/_settings.py +0 -0
  22. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/__init__.py +0 -0
  23. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_api.py +0 -0
  24. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_cli.py +0 -0
  25. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_console.py +0 -0
  26. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_constants.py +0 -0
  27. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_di.py +0 -0
  28. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_health.py +0 -0
  29. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_log.py +0 -0
  30. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_logfire.py +0 -0
  31. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_process.py +0 -0
  32. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_sentry.py +0 -0
  33. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_service.py +0 -0
  34. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/src/oe_python_template/utils/_settings.py +0 -0
  35. {oe_python_template-0.10.4 → oe_python_template-0.10.6}/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.10.4
3
+ Version: 0.10.6
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/
@@ -63,6 +63,7 @@ Requires-Dist: pydantic-settings>=2.8.1
63
63
  Requires-Dist: pydantic>=2.11.3
64
64
  Requires-Dist: sentry-sdk>=2.25.1
65
65
  Requires-Dist: typer>=0.15.1
66
+ Requires-Dist: uptime>=3.0.1
66
67
  Provides-Extra: examples
67
68
  Requires-Dist: jinja2>=3.1.6; extra == 'examples'
68
69
  Requires-Dist: jupyter>=1.1.1; extra == 'examples'
@@ -75,8 +76,7 @@ Description-Content-Type: text/markdown
75
76
 
76
77
  # 🧠 OE Python Template
77
78
 
78
- [![License](https://img.shields.io/github/license/helmut-hoffer-von-ankershoffen/oe-python-template?logo=opensourceinitiative&logoColor=3DA639&labelColor=414042&color=A41831)
79
- ](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/blob/main/LICENSE)
79
+ [![License](https://img.shields.io/github/license/helmut-hoffer-von-ankershoffen/oe-python-template?logo=opensourceinitiative&logoColor=3DA639&labelColor=414042&color=A41831)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/blob/main/LICENSE)
80
80
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/oe-python-template.svg?logo=python&color=204361&labelColor=1E2933)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/blob/main/noxfile.py)
81
81
  [![CI](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/actions/workflows/test-and-report.yml/badge.svg)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/actions/workflows/test-and-report.yml)
82
82
  [![Read the Docs](https://img.shields.io/readthedocs/oe-python-template)](https://oe-python-template.readthedocs.io/en/latest/)
@@ -100,7 +100,7 @@ Description-Content-Type: text/markdown
100
100
  [![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)
101
101
  [![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)
102
102
  [![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)
103
- [![Vercel Deploy](https://deploy-badge.vercel.app/vercel/oe-python-template?root=docs)](https://oe-python-template.vercel.app/docs)
103
+ [![Vercel Deploy](https://deploy-badge.vercel.app/vercel/oe-python-template?root=docs)](https://oe-python-template.vercel.app/api/v1/hello/world)
104
104
  [![Better Stack Uptime](https://uptime.betterstack.com/status-badges/v1/monitor/1vze5.svg)](https://helmut-hoffer-von-ankershoffen.betteruptime.com/)
105
105
 
106
106
  <!---
@@ -109,7 +109,10 @@ Description-Content-Type: text/markdown
109
109
  -->
110
110
 
111
111
  > [!TIP]
112
- > 📚 [Online documentation](https://oe-python-template.readthedocs.io/en/latest/) - 📖 [PDF Manual](https://oe-python-template.readthedocs.io/_/downloads/en/latest/pdf/)
112
+ > 📚
113
+ > [Online documentation](https://oe-python-template.readthedocs.io/en/latest/) -
114
+ > 📖
115
+ > [PDF Manual](https://oe-python-template.readthedocs.io/_/downloads/en/latest/pdf/)
113
116
 
114
117
  ---
115
118
 
@@ -3,8 +3,7 @@
3
3
 
4
4
  # 🧠 OE Python Template
5
5
 
6
- [![License](https://img.shields.io/github/license/helmut-hoffer-von-ankershoffen/oe-python-template?logo=opensourceinitiative&logoColor=3DA639&labelColor=414042&color=A41831)
7
- ](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/blob/main/LICENSE)
6
+ [![License](https://img.shields.io/github/license/helmut-hoffer-von-ankershoffen/oe-python-template?logo=opensourceinitiative&logoColor=3DA639&labelColor=414042&color=A41831)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/blob/main/LICENSE)
8
7
  [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/oe-python-template.svg?logo=python&color=204361&labelColor=1E2933)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/blob/main/noxfile.py)
9
8
  [![CI](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/actions/workflows/test-and-report.yml/badge.svg)](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template/actions/workflows/test-and-report.yml)
10
9
  [![Read the Docs](https://img.shields.io/readthedocs/oe-python-template)](https://oe-python-template.readthedocs.io/en/latest/)
@@ -28,7 +27,7 @@
28
27
  [![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)
29
28
  [![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)
30
29
  [![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)
31
- [![Vercel Deploy](https://deploy-badge.vercel.app/vercel/oe-python-template?root=docs)](https://oe-python-template.vercel.app/docs)
30
+ [![Vercel Deploy](https://deploy-badge.vercel.app/vercel/oe-python-template?root=docs)](https://oe-python-template.vercel.app/api/v1/hello/world)
32
31
  [![Better Stack Uptime](https://uptime.betterstack.com/status-badges/v1/monitor/1vze5.svg)](https://helmut-hoffer-von-ankershoffen.betteruptime.com/)
33
32
 
34
33
  <!---
@@ -37,7 +36,10 @@
37
36
  -->
38
37
 
39
38
  > [!TIP]
40
- > 📚 [Online documentation](https://oe-python-template.readthedocs.io/en/latest/) - 📖 [PDF Manual](https://oe-python-template.readthedocs.io/_/downloads/en/latest/pdf/)
39
+ > 📚
40
+ > [Online documentation](https://oe-python-template.readthedocs.io/en/latest/) -
41
+ > 📖
42
+ > [PDF Manual](https://oe-python-template.readthedocs.io/_/downloads/en/latest/pdf/)
41
43
 
42
44
  ---
43
45
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "oe-python-template"
3
- version = "0.10.4"
3
+ version = "0.10.6"
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" }]
@@ -76,6 +76,7 @@ dependencies = [
76
76
  "pydantic-settings>=2.8.1",
77
77
  "sentry-sdk>=2.25.1",
78
78
  "typer>=0.15.1",
79
+ "uptime>=3.0.1",
79
80
  # Custom
80
81
  # Nothing yet
81
82
  ]
@@ -275,7 +276,7 @@ source = ["src/"]
275
276
 
276
277
 
277
278
  [tool.bumpversion]
278
- current_version = "0.10.4"
279
+ current_version = "0.10.6"
279
280
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
280
281
  serialize = ["{major}.{minor}.{patch}"]
281
282
  search = "{current_version}"
@@ -9,6 +9,7 @@ import time
9
9
  from typing import Any
10
10
 
11
11
  from pydantic_settings import BaseSettings
12
+ from uptime import boottime, uptime
12
13
 
13
14
  from ..utils import ( # noqa: TID252
14
15
  UNHIDE_SENSITIVE_INFO,
@@ -93,6 +94,7 @@ class Service(BaseService):
93
94
  Returns:
94
95
  dict[str, Any]: Service configuration.
95
96
  """
97
+ bootdatetime = boottime()
96
98
  rtn = {
97
99
  "package": {
98
100
  "version": __version__,
@@ -121,6 +123,8 @@ class Service(BaseService):
121
123
  "hostname": platform.node(),
122
124
  "ip_address": platform.uname().node,
123
125
  "cpu_count": os.cpu_count(),
126
+ "uptime": uptime(),
127
+ "boottime": bootdatetime.isoformat() if bootdatetime else None,
124
128
  },
125
129
  },
126
130
  }