oe-python-template 0.10.5__tar.gz → 0.10.7__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.10.5 → oe_python_template-0.10.7}/PKG-INFO +6 -5
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/README.md +5 -4
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/pyproject.toml +2 -2
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_service.py +4 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_settings.py +16 -4
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/__init__.py +2 -1
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_logfire.py +3 -2
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_sentry.py +9 -4
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_settings.py +9 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/.gitignore +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/LICENSE +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/__init__.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/api.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/cli.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/constants.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/__init__.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_api.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_cli.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_constants.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_models.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/__init__.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/_api.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/_cli.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/_service.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/_settings.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_api.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_cli.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_console.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_constants.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_di.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_health.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_log.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_process.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_service.py +0 -0
- {oe_python_template-0.10.5 → oe_python_template-0.10.7}/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.
|
|
3
|
+
Version: 0.10.7
|
|
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/
|
|
@@ -101,7 +101,7 @@ Description-Content-Type: text/markdown
|
|
|
101
101
|
[](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
|
|
102
102
|
[](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
|
|
103
103
|
[](https://github.com/codespaces/new/helmut-hoffer-von-ankershoffen/oe-python-template)
|
|
104
|
-
[](https://oe-python-template.vercel.app/
|
|
104
|
+
[](https://oe-python-template.vercel.app/api/v1/hello/world)
|
|
105
105
|
[](https://helmut-hoffer-von-ankershoffen.betteruptime.com/)
|
|
106
106
|
|
|
107
107
|
<!---
|
|
@@ -160,7 +160,7 @@ Projects generated with this template come with a comprehensive development tool
|
|
|
160
160
|
|
|
161
161
|
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:
|
|
162
162
|
|
|
163
|
-
1. Usable as library with "Hello" module exposing a simple service
|
|
163
|
+
1. Usable as library with "Hello" module exposing a simple service that can say "Hello, world!" and echo utterances.
|
|
164
164
|
2. Command-line interface (CLI) with [Typer](https://typer.tiangolo.com/)
|
|
165
165
|
3. Versioned webservice API with [FastAPI](https://fastapi.tiangolo.com/)
|
|
166
166
|
4. [Interactive Jupyter notebook](https://jupyter.org/) and [reactive Marimo notebook](https://marimo.io/)
|
|
@@ -170,8 +170,9 @@ Beyond development tooling, projects generated with this template include the co
|
|
|
170
170
|
8. Info command enabling to inspect the runtime, compiled settings, and further info provided dynamically by modules
|
|
171
171
|
9. Health endpoint exposing system health dynamically aggregated from all modules and dependencies
|
|
172
172
|
10. Flexible logging and instrumentation, including support for [Sentry](https://sentry.io/) and [Logfire](https://logfire.dev/)
|
|
173
|
-
11.
|
|
174
|
-
12.
|
|
173
|
+
11. Hello service demonstrates use of custom real time metrics collected via Logfire
|
|
174
|
+
12. Modular architecture including auto-registration of services, CLI commands and API routes exposed by modules
|
|
175
|
+
13. Documentation including dynamic badges, setup instructions, contribution guide and security policy
|
|
175
176
|
|
|
176
177
|
Explore [here](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example) for what's generated out of the box.
|
|
177
178
|
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
[](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
|
|
29
29
|
[](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template)
|
|
30
30
|
[](https://github.com/codespaces/new/helmut-hoffer-von-ankershoffen/oe-python-template)
|
|
31
|
-
[](https://oe-python-template.vercel.app/
|
|
31
|
+
[](https://oe-python-template.vercel.app/api/v1/hello/world)
|
|
32
32
|
[](https://helmut-hoffer-von-ankershoffen.betteruptime.com/)
|
|
33
33
|
|
|
34
34
|
<!---
|
|
@@ -87,7 +87,7 @@ Projects generated with this template come with a comprehensive development tool
|
|
|
87
87
|
|
|
88
88
|
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:
|
|
89
89
|
|
|
90
|
-
1. Usable as library with "Hello" module exposing a simple service
|
|
90
|
+
1. Usable as library with "Hello" module exposing a simple service that can say "Hello, world!" and echo utterances.
|
|
91
91
|
2. Command-line interface (CLI) with [Typer](https://typer.tiangolo.com/)
|
|
92
92
|
3. Versioned webservice API with [FastAPI](https://fastapi.tiangolo.com/)
|
|
93
93
|
4. [Interactive Jupyter notebook](https://jupyter.org/) and [reactive Marimo notebook](https://marimo.io/)
|
|
@@ -97,8 +97,9 @@ Beyond development tooling, projects generated with this template include the co
|
|
|
97
97
|
8. Info command enabling to inspect the runtime, compiled settings, and further info provided dynamically by modules
|
|
98
98
|
9. Health endpoint exposing system health dynamically aggregated from all modules and dependencies
|
|
99
99
|
10. Flexible logging and instrumentation, including support for [Sentry](https://sentry.io/) and [Logfire](https://logfire.dev/)
|
|
100
|
-
11.
|
|
101
|
-
12.
|
|
100
|
+
11. Hello service demonstrates use of custom real time metrics collected via Logfire
|
|
101
|
+
12. Modular architecture including auto-registration of services, CLI commands and API routes exposed by modules
|
|
102
|
+
13. Documentation including dynamic badges, setup instructions, contribution guide and security policy
|
|
102
103
|
|
|
103
104
|
Explore [here](https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example) for what's generated out of the box.
|
|
104
105
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "oe-python-template"
|
|
3
|
-
version = "0.10.
|
|
3
|
+
version = "0.10.7"
|
|
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" }]
|
|
@@ -276,7 +276,7 @@ source = ["src/"]
|
|
|
276
276
|
|
|
277
277
|
|
|
278
278
|
[tool.bumpversion]
|
|
279
|
-
current_version = "0.10.
|
|
279
|
+
current_version = "0.10.7"
|
|
280
280
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
|
|
281
281
|
serialize = ["{major}.{minor}.{patch}"]
|
|
282
282
|
search = "{current_version}"
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_service.py
RENAMED
|
@@ -5,6 +5,7 @@ import string
|
|
|
5
5
|
from http import HTTPStatus
|
|
6
6
|
from typing import Any
|
|
7
7
|
|
|
8
|
+
import logfire
|
|
8
9
|
import requests
|
|
9
10
|
|
|
10
11
|
from oe_python_template.utils import BaseService, Health
|
|
@@ -74,6 +75,9 @@ class Service(BaseService):
|
|
|
74
75
|
Returns:
|
|
75
76
|
str: Hello world message.
|
|
76
77
|
"""
|
|
78
|
+
messages_sent = logfire.metric_counter("hello_world_messages_sent")
|
|
79
|
+
messages_sent.add(1)
|
|
80
|
+
|
|
77
81
|
match self._settings.language:
|
|
78
82
|
case Language.GERMAN:
|
|
79
83
|
return HELLO_WORLD_DE_DE
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_settings.py
RENAMED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
from enum import StrEnum
|
|
4
4
|
from typing import Annotated
|
|
5
5
|
|
|
6
|
-
from pydantic import Field
|
|
7
|
-
from pydantic_settings import
|
|
6
|
+
from pydantic import BeforeValidator, Field, PlainSerializer, SecretStr
|
|
7
|
+
from pydantic_settings import SettingsConfigDict
|
|
8
8
|
|
|
9
|
-
from oe_python_template.utils import __env_file__, __project_name__
|
|
9
|
+
from oe_python_template.utils import OpaqueSettings, __env_file__, __project_name__, strip_to_none_before_validator
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class Language(StrEnum):
|
|
@@ -18,7 +18,7 @@ class Language(StrEnum):
|
|
|
18
18
|
|
|
19
19
|
# Settings derived from BaseSettings and exported by modules via their __init__.py are automatically registered
|
|
20
20
|
# by the system module e.g. for showing all settings via the system info command.
|
|
21
|
-
class Settings(
|
|
21
|
+
class Settings(OpaqueSettings):
|
|
22
22
|
"""Settings."""
|
|
23
23
|
|
|
24
24
|
model_config = SettingsConfigDict(
|
|
@@ -35,3 +35,15 @@ class Settings(BaseSettings):
|
|
|
35
35
|
description="Language to use for output - defaults to US english.",
|
|
36
36
|
),
|
|
37
37
|
]
|
|
38
|
+
|
|
39
|
+
token: Annotated[
|
|
40
|
+
SecretStr | None,
|
|
41
|
+
BeforeValidator(strip_to_none_before_validator), # strip and if empty set to None
|
|
42
|
+
PlainSerializer(
|
|
43
|
+
func=OpaqueSettings.serialize_sensitive_info, return_type=str, when_used="always"
|
|
44
|
+
), # allow to unhide sensitive info from CLI or if user presents valid token via API
|
|
45
|
+
Field(
|
|
46
|
+
description="Secret token of Hello module.",
|
|
47
|
+
default=None,
|
|
48
|
+
),
|
|
49
|
+
]
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/__init__.py
RENAMED
|
@@ -23,7 +23,7 @@ from ._logfire import LogfireSettings
|
|
|
23
23
|
from ._process import ProcessInfo, get_process_info
|
|
24
24
|
from ._sentry import SentrySettings
|
|
25
25
|
from ._service import BaseService
|
|
26
|
-
from ._settings import UNHIDE_SENSITIVE_INFO, OpaqueSettings, load_settings
|
|
26
|
+
from ._settings import UNHIDE_SENSITIVE_INFO, OpaqueSettings, load_settings, strip_to_none_before_validator
|
|
27
27
|
from .boot import boot
|
|
28
28
|
|
|
29
29
|
__all__ = [
|
|
@@ -56,4 +56,5 @@ __all__ = [
|
|
|
56
56
|
"locate_implementations",
|
|
57
57
|
"locate_subclasses",
|
|
58
58
|
"prepare_cli",
|
|
59
|
+
"strip_to_none_before_validator",
|
|
59
60
|
]
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_logfire.py
RENAMED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
from typing import Annotated
|
|
4
4
|
|
|
5
5
|
import logfire
|
|
6
|
-
from pydantic import Field, PlainSerializer, SecretStr
|
|
6
|
+
from pydantic import BeforeValidator, Field, PlainSerializer, SecretStr
|
|
7
7
|
from pydantic_settings import SettingsConfigDict
|
|
8
8
|
|
|
9
9
|
from ._constants import __env__, __env_file__, __project_name__, __repository_url__, __version__
|
|
10
|
-
from ._settings import OpaqueSettings, load_settings
|
|
10
|
+
from ._settings import OpaqueSettings, load_settings, strip_to_none_before_validator
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class LogfireSettings(OpaqueSettings):
|
|
@@ -22,6 +22,7 @@ class LogfireSettings(OpaqueSettings):
|
|
|
22
22
|
|
|
23
23
|
token: Annotated[
|
|
24
24
|
SecretStr | None,
|
|
25
|
+
BeforeValidator(strip_to_none_before_validator),
|
|
25
26
|
PlainSerializer(func=OpaqueSettings.serialize_sensitive_info, return_type=str, when_used="always"),
|
|
26
27
|
Field(description="Logfire token. Leave empty to disable logfire.", examples=["YOUR_TOKEN"], default=None),
|
|
27
28
|
]
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_sentry.py
RENAMED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
from typing import Annotated
|
|
4
4
|
|
|
5
5
|
import sentry_sdk
|
|
6
|
-
from pydantic import Field, PlainSerializer, SecretStr
|
|
6
|
+
from pydantic import BeforeValidator, Field, PlainSerializer, SecretStr
|
|
7
7
|
from pydantic_settings import SettingsConfigDict
|
|
8
8
|
from sentry_sdk.integrations.typer import TyperIntegration
|
|
9
9
|
|
|
10
10
|
from ._constants import __env__, __env_file__, __project_name__, __version__
|
|
11
|
-
from ._settings import OpaqueSettings, load_settings
|
|
11
|
+
from ._settings import OpaqueSettings, load_settings, strip_to_none_before_validator
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class SentrySettings(OpaqueSettings):
|
|
@@ -23,6 +23,7 @@ class SentrySettings(OpaqueSettings):
|
|
|
23
23
|
|
|
24
24
|
dsn: Annotated[
|
|
25
25
|
SecretStr | None,
|
|
26
|
+
BeforeValidator(strip_to_none_before_validator),
|
|
26
27
|
PlainSerializer(func=OpaqueSettings.serialize_sensitive_info, return_type=str, when_used="always"),
|
|
27
28
|
Field(description="Sentry DSN", examples=["https://SECRET@SECRET.ingest.de.sentry.io/SECRET"], default=None),
|
|
28
29
|
]
|
|
@@ -44,12 +45,14 @@ class SentrySettings(OpaqueSettings):
|
|
|
44
45
|
int,
|
|
45
46
|
Field(
|
|
46
47
|
description="Max breadcrumbs (https://docs.sentry.io/platforms/python/configuration/options/#max_breadcrumbs)",
|
|
47
|
-
|
|
48
|
+
ge=0,
|
|
49
|
+
default=50,
|
|
48
50
|
),
|
|
49
51
|
]
|
|
50
52
|
sample_rate: Annotated[
|
|
51
53
|
float,
|
|
52
54
|
Field(
|
|
55
|
+
ge=0.0,
|
|
53
56
|
description="Sample Rate (https://docs.sentry.io/platforms/python/configuration/sampling/#sampling-error-events)",
|
|
54
57
|
default=1.0,
|
|
55
58
|
),
|
|
@@ -57,6 +60,7 @@ class SentrySettings(OpaqueSettings):
|
|
|
57
60
|
traces_sample_rate: Annotated[
|
|
58
61
|
float,
|
|
59
62
|
Field(
|
|
63
|
+
ge=0.0,
|
|
60
64
|
description="Traces Sample Rate (https://docs.sentry.io/platforms/python/configuration/sampling/#configuring-the-transaction-sample-rate)",
|
|
61
65
|
default=1.0,
|
|
62
66
|
),
|
|
@@ -64,6 +68,7 @@ class SentrySettings(OpaqueSettings):
|
|
|
64
68
|
profiles_sample_rate: Annotated[
|
|
65
69
|
float,
|
|
66
70
|
Field(
|
|
71
|
+
ge=0.0,
|
|
67
72
|
description="Traces Sample Rate (https://docs.sentry.io/platforms/python/tracing/#configure)",
|
|
68
73
|
default=1.0,
|
|
69
74
|
),
|
|
@@ -84,7 +89,7 @@ def sentry_initialize() -> bool:
|
|
|
84
89
|
sentry_sdk.init(
|
|
85
90
|
release=f"{__project_name__}@{__version__}", # https://docs.sentry.io/platforms/python/configuration/releases/,
|
|
86
91
|
environment=__env__,
|
|
87
|
-
dsn=settings.dsn.get_secret_value(),
|
|
92
|
+
dsn=settings.dsn.get_secret_value().strip(),
|
|
88
93
|
max_breadcrumbs=settings.max_breadcrumbs,
|
|
89
94
|
debug=settings.debug,
|
|
90
95
|
send_default_pii=settings.send_default_pii,
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_settings.py
RENAMED
|
@@ -20,6 +20,15 @@ logger = logging.getLogger(__name__)
|
|
|
20
20
|
UNHIDE_SENSITIVE_INFO = "unhide_sensitive_info"
|
|
21
21
|
|
|
22
22
|
|
|
23
|
+
def strip_to_none_before_validator(v: str | None) -> str | None:
|
|
24
|
+
if v is None:
|
|
25
|
+
return None
|
|
26
|
+
v = v.strip()
|
|
27
|
+
if not v:
|
|
28
|
+
return None
|
|
29
|
+
return v
|
|
30
|
+
|
|
31
|
+
|
|
23
32
|
class OpaqueSettings(BaseSettings):
|
|
24
33
|
@staticmethod
|
|
25
34
|
def serialize_sensitive_info(input_value: SecretStr, info: FieldSerializationInfo) -> str | None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/__init__.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_api.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_cli.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_constants.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/hello/_models.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/__init__.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/_api.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/_cli.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/_service.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/system/_settings.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_api.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_cli.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_console.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_constants.py
RENAMED
|
File without changes
|
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_health.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_log.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_process.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/_service.py
RENAMED
|
File without changes
|
{oe_python_template-0.10.5 → oe_python_template-0.10.7}/src/oe_python_template/utils/boot.py
RENAMED
|
File without changes
|