tesorotools-python 0.0.40__tar.gz → 0.0.42__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 (69) hide show
  1. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/PKG-INFO +3 -1
  2. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/pyproject.toml +2 -1
  3. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/__init__.py +9 -3
  4. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/plots.yaml +3 -0
  5. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/providers/__init__.py +10 -5
  6. tesorotools_python-0.0.42/src/tesorotools/providers/lseg.py +792 -0
  7. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/content/table.py +145 -35
  8. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/.gitignore +0 -0
  9. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/_build_context.py +0 -0
  10. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/_registry.py +0 -0
  11. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/artists/__init__.py +0 -0
  12. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/artists/_common.py +0 -0
  13. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/artists/barh_plot.py +0 -0
  14. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/artists/line_plot.py +0 -0
  15. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/artists/stacked.py +0 -0
  16. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/artists/type_curve.py +0 -0
  17. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/README.md +0 -0
  18. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/fonts/CabinetGrotesk-Black.otf +0 -0
  19. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/fonts/CabinetGrotesk-Bold.otf +0 -0
  20. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/fonts/CabinetGrotesk-Extrabold.otf +0 -0
  21. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/fonts/CabinetGrotesk-Extralight.otf +0 -0
  22. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/fonts/CabinetGrotesk-Light.otf +0 -0
  23. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/fonts/CabinetGrotesk-Medium.otf +0 -0
  24. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/fonts/CabinetGrotesk-Regular.otf +0 -0
  25. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/fonts/CabinetGrotesk-Thin.otf +0 -0
  26. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/fonts/README.md +0 -0
  27. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/assets/tesoro.mplstyle +0 -0
  28. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/data_sources/__init__.py +0 -0
  29. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/data_sources/debug.py +0 -0
  30. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/database/__init__.py +0 -0
  31. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/database/local.py +0 -0
  32. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/database/push.py +0 -0
  33. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/database/shared.py +0 -0
  34. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/dependencies/__init__.py +0 -0
  35. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/dependencies/node.py +0 -0
  36. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/dependencies/resolution.py +0 -0
  37. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/driver.py +0 -0
  38. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/manifest.py +0 -0
  39. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/offsets/__init__.py +0 -0
  40. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/offsets/offsets.py +0 -0
  41. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/offsets/outliers.py +0 -0
  42. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/orchestration.py +0 -0
  43. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/pipeline/__init__.py +0 -0
  44. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/pipeline/diagnose.py +0 -0
  45. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/pipeline/engine.py +0 -0
  46. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/pipeline/rules.py +0 -0
  47. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/providers/base.py +0 -0
  48. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/providers/bde.py +0 -0
  49. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/providers/ecb.py +0 -0
  50. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/py.typed +0 -0
  51. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/__init__.py +0 -0
  52. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/content/__init__.py +0 -0
  53. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/content/content.py +0 -0
  54. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/content/images.py +0 -0
  55. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/content/section.py +0 -0
  56. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/content/subtitle.py +0 -0
  57. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/content/text.py +0 -0
  58. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/content/title.py +0 -0
  59. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/render/report.py +0 -0
  60. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/testing/__init__.py +0 -0
  61. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/testing/compare.py +0 -0
  62. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/utils/__init__.py +0 -0
  63. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/utils/config.py +0 -0
  64. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/utils/format.py +0 -0
  65. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/utils/globals.py +0 -0
  66. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/utils/matplotlib.py +0 -0
  67. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/utils/series.py +0 -0
  68. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/utils/shortcuts.py +0 -0
  69. {tesorotools_python-0.0.40 → tesorotools_python-0.0.42}/src/tesorotools/utils/template.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tesorotools-python
3
- Version: 0.0.40
3
+ Version: 0.0.42
4
4
  Requires-Python: >=3.13
5
5
  Requires-Dist: babel>=2.17
6
6
  Requires-Dist: matplotlib>=3.10
@@ -16,3 +16,5 @@ Provides-Extra: bde
16
16
  Requires-Dist: requests>=2.31; extra == 'bde'
17
17
  Provides-Extra: ecb
18
18
  Requires-Dist: requests>=2.31; extra == 'ecb'
19
+ Provides-Extra: lseg
20
+ Requires-Dist: lseg-data>=2.1; extra == 'lseg'
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "tesorotools-python"
3
3
  requires-python = ">=3.13"
4
- version = "0.0.40"
4
+ version = "0.0.42"
5
5
  dependencies = [
6
6
  # database and ORM
7
7
  "psycopg[binary]>=3.1",
@@ -27,6 +27,7 @@ dependencies = [
27
27
  [project.optional-dependencies]
28
28
  bde = ["requests>=2.31"]
29
29
  ecb = ["requests>=2.31"]
30
+ lseg = ["lseg-data>=2.1"]
30
31
 
31
32
  [dependency-groups]
32
33
  dev = [
@@ -7,9 +7,9 @@ effects) and registers their YAML tags via
7
7
 
8
8
  Provider subclasses gated by optional extras
9
9
  (``BdeProvider`` requires ``[bde]``, ``EcbProvider``
10
- requires ``[ecb]``) are exposed lazily through
11
- ``__getattr__``; importing this module does not require the
12
- extras to be installed.
10
+ requires ``[ecb]``, ``LSEGProvider`` requires ``[lseg]``)
11
+ are exposed lazily through ``__getattr__``; importing this
12
+ module does not require the extras to be installed.
13
13
 
14
14
  Third parties extend the package via ``register_artist``,
15
15
  ``register_tag``, and ``register_provider`` (and their
@@ -22,6 +22,7 @@ from typing import TYPE_CHECKING, Any
22
22
  if TYPE_CHECKING:
23
23
  from tesorotools.providers.bde import BdeProvider
24
24
  from tesorotools.providers.ecb import EcbProvider
25
+ from tesorotools.providers.lseg import LSEGProvider
25
26
 
26
27
  from tesorotools._build_context import BuildContext
27
28
  from tesorotools._registry import (
@@ -106,6 +107,7 @@ __all__ = [
106
107
  "Images",
107
108
  "Legend",
108
109
  "LinePlot",
110
+ "LSEGProvider",
109
111
  "RegistryProtocol",
110
112
  "Report",
111
113
  "Section",
@@ -145,4 +147,8 @@ def __getattr__(name: str) -> Any:
145
147
  from tesorotools.providers.ecb import EcbProvider
146
148
 
147
149
  return EcbProvider
150
+ if name == "LSEGProvider":
151
+ from tesorotools.providers.lseg import LSEGProvider
152
+
153
+ return LSEGProvider
148
154
  raise AttributeError(f"module 'tesorotools' has no attribute {name!r}")
@@ -39,3 +39,6 @@ line:
39
39
  table:
40
40
  style: Light Shading Accent 1
41
41
  autofit: False
42
+ block_separator:
43
+ fill: "BFBFBF" # hex color of the inter-block band
44
+ height_twips: 20 # half-band height; total band = 2 * height_twips
@@ -1,10 +1,9 @@
1
1
  """Public provider API.
2
2
 
3
- ``BdeProvider`` and ``EcbProvider`` depend on the optional
4
- ``[bde]`` / ``[ecb]`` extras (which install ``requests``)
5
- and are imported lazily through ``__getattr__``; importing
6
- ``tesorotools.providers`` itself does not require those
7
- extras.
3
+ ``BdeProvider``, ``EcbProvider`` and ``LSEGProvider`` depend on
4
+ the optional ``[bde]`` / ``[ecb]`` / ``[lseg]`` extras and are
5
+ imported lazily through ``__getattr__``; importing
6
+ ``tesorotools.providers`` itself does not require those extras.
8
7
  """
9
8
 
10
9
  from typing import TYPE_CHECKING, Any
@@ -18,11 +17,13 @@ from tesorotools.providers.base import (
18
17
  if TYPE_CHECKING:
19
18
  from tesorotools.providers.bde import BdeProvider
20
19
  from tesorotools.providers.ecb import EcbProvider
20
+ from tesorotools.providers.lseg import LSEGProvider
21
21
 
22
22
  __all__ = [
23
23
  "BdeProvider",
24
24
  "DataProvider",
25
25
  "EcbProvider",
26
+ "LSEGProvider",
26
27
  "RegistryProtocol",
27
28
  "bootstrap_providers",
28
29
  ]
@@ -37,6 +38,10 @@ def __getattr__(name: str) -> Any:
37
38
  from tesorotools.providers.ecb import EcbProvider
38
39
 
39
40
  return EcbProvider
41
+ if name == "LSEGProvider":
42
+ from tesorotools.providers.lseg import LSEGProvider
43
+
44
+ return LSEGProvider
40
45
  raise AttributeError(
41
46
  f"module 'tesorotools.providers' has no attribute {name!r}"
42
47
  )