oe-python-template 0.12.19__tar.gz → 0.12.20__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.12.19 → oe_python_template-0.12.20}/PKG-INFO +3 -3
  2. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/pyproject.toml +7 -3
  3. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/hello/_gui.py +9 -6
  4. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/boot.py +0 -14
  5. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/.gitignore +0 -0
  6. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/LICENSE +0 -0
  7. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/README.md +0 -0
  8. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/__init__.py +0 -0
  9. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/api.py +0 -0
  10. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/cli.py +0 -0
  11. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/constants.py +0 -0
  12. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/hello/__init__.py +0 -0
  13. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/hello/_api.py +0 -0
  14. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/hello/_cli.py +0 -0
  15. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/hello/_constants.py +0 -0
  16. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/hello/_models.py +0 -0
  17. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/hello/_service.py +0 -0
  18. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/hello/_settings.py +0 -0
  19. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/system/__init__.py +0 -0
  20. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/system/_api.py +0 -0
  21. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/system/_cli.py +0 -0
  22. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/system/_gui.py +0 -0
  23. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/system/_service.py +0 -0
  24. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/system/_settings.py +0 -0
  25. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/.vendored/bottle.py +0 -0
  26. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/__init__.py +0 -0
  27. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_api.py +0 -0
  28. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_cli.py +0 -0
  29. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_console.py +0 -0
  30. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_constants.py +0 -0
  31. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_di.py +0 -0
  32. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_gui.py +0 -0
  33. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_health.py +0 -0
  34. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_log.py +0 -0
  35. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_logfire.py +0 -0
  36. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_notebook.py +0 -0
  37. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_process.py +0 -0
  38. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_sentry.py +0 -0
  39. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_service.py +0 -0
  40. {oe_python_template-0.12.19 → oe_python_template-0.12.20}/src/oe_python_template/utils/_settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oe-python-template
3
- Version: 0.12.19
3
+ Version: 0.12.20
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/
@@ -50,6 +50,7 @@ Classifier: Typing :: Typed
50
50
  Requires-Python: <4.0,>=3.11
51
51
  Requires-Dist: fastapi[all,standard]>=0.115.12
52
52
  Requires-Dist: logfire[system-metrics]>=3.13.1
53
+ Requires-Dist: nicegui[native]>=2.15.0
53
54
  Requires-Dist: opentelemetry-instrumentation-fastapi>=0.53b0
54
55
  Requires-Dist: opentelemetry-instrumentation-httpx>=0.53b0
55
56
  Requires-Dist: opentelemetry-instrumentation-jinja2>=0.53b0
@@ -67,9 +68,8 @@ Provides-Extra: examples
67
68
  Requires-Dist: jinja2>=3.1.6; extra == 'examples'
68
69
  Requires-Dist: jupyter>=1.1.1; extra == 'examples'
69
70
  Requires-Dist: marimo>=0.13.0; extra == 'examples'
71
+ Requires-Dist: matplotlib>=3.10.1; extra == 'examples'
70
72
  Requires-Dist: streamlit>=1.44.1; extra == 'examples'
71
- Provides-Extra: gui
72
- Requires-Dist: nicegui[matplotlib,native]>=2.15.0; extra == 'gui'
73
73
  Description-Content-Type: text/markdown
74
74
 
75
75
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "oe-python-template"
3
- version = "0.12.19"
3
+ version = "0.12.20"
4
4
  description = "🧠 Copier template to scaffold Python projects compliant with best practices and modern tooling."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -65,6 +65,7 @@ dependencies = [
65
65
  # From Template
66
66
  "fastapi[standard,all]>=0.115.12",
67
67
  "logfire[system-metrics]>=3.13.1",
68
+ "nicegui[native]>=2.15.0",
68
69
  "opentelemetry-instrumentation-fastapi>=0.53b0",
69
70
  "opentelemetry-instrumentation-httpx>=0.53b0",
70
71
  "opentelemetry-instrumentation-jinja2>=0.53b0",
@@ -88,8 +89,8 @@ examples = [
88
89
  "marimo>=0.13.0",
89
90
  "jupyter>=1.1.1",
90
91
  "jinja2>=3.1.6",
92
+ "matplotlib>=3.10.1",
91
93
  ]
92
- gui = ["nicegui[native,matplotlib]>=2.15.0"]
93
94
 
94
95
  [dependency-groups]
95
96
  dev = [
@@ -160,6 +161,9 @@ override-dependencies = [ # https://github.com/astral-sh/uv/issues/4422
160
161
  "rfc3987; sys_platform == 'never'", # GPLv3
161
162
  ]
162
163
 
164
+ [tool.uv.sources]
165
+ bottle = { git = "https://github.com/helmut-hoffer-von-ankershoffen/bottle", tag = "0.14-dev" }
166
+
163
167
  [tool.ruff]
164
168
  target-version = "py311"
165
169
  preview = true
@@ -280,7 +284,7 @@ source = ["src/"]
280
284
 
281
285
 
282
286
  [tool.bumpversion]
283
- current_version = "0.12.19"
287
+ current_version = "0.12.20"
284
288
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
285
289
  serialize = ["{major}.{minor}.{patch}"]
286
290
  search = "{current_version}"
@@ -30,11 +30,14 @@ class PageBuilder(BasePageBuilder):
30
30
  "BUTTON_CLICK_ME"
31
31
  )
32
32
 
33
- with ui.card().tight().mark("CARD_PLOT"): # noqa: SIM117
34
- with ui.matplotlib(figsize=(4, 3)).figure as fig:
35
- x = np.linspace(0.0, 5.0)
36
- y = np.cos(2 * np.pi * x) * np.exp(-x)
37
- ax = fig.gca()
38
- ax.plot(x, y, "-")
33
+ from importlib.util import find_spec # noqa: PLC0415
34
+
35
+ if find_spec("matplotlib"):
36
+ with ui.card().tight().mark("CARD_PLOT"): # noqa: SIM117
37
+ with ui.matplotlib(figsize=(4, 3)).figure as fig:
38
+ x = np.linspace(0.0, 5.0)
39
+ y = np.cos(2 * np.pi * x) * np.exp(-x)
40
+ ax = fig.gca()
41
+ ax.plot(x, y, "-")
39
42
 
40
43
  ui.link("Info", "/info").mark("LINK_INFO")
@@ -2,7 +2,6 @@
2
2
 
3
3
  import os
4
4
  import sys
5
- from pathlib import Path
6
5
 
7
6
  from ._log import logging_initialize
8
7
  from ._logfire import logfire_initialize
@@ -10,19 +9,6 @@ from ._sentry import sentry_initialize
10
9
 
11
10
  _boot_called = False
12
11
 
13
- # Import vendored dependencies
14
- current_dir = Path(__file__).parent.absolute()
15
- vendored_dir = current_dir / ".vendored"
16
- if not vendored_dir.is_dir():
17
- message = f".vendored/ directory not found at {vendored_dir!s}"
18
- raise FileNotFoundError(message)
19
- if vendored_dir not in sys.path:
20
- sys.path.insert(0, str(vendored_dir))
21
-
22
- import bottle # noqa: E402
23
-
24
- the_class = bottle.PasteServer
25
-
26
12
 
27
13
  def boot(modules_to_instrument: list[str]) -> None:
28
14
  """Boot the application.