tesorotools-python 0.0.18__tar.gz → 0.0.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 (56) hide show
  1. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/PKG-INFO +1 -1
  2. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/pyproject.toml +1 -1
  3. tesorotools_python-0.0.20/tesorotools/database/__init__.py +1 -0
  4. tesorotools_python-0.0.20/tesorotools/database/local.py +46 -0
  5. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/render/content/table.py +11 -0
  6. tesorotools_python-0.0.20/tesorotools/utils/__init__.py +1 -0
  7. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/utils/globals.py +4 -0
  8. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/utils/shortcuts.py +0 -1
  9. tesorotools_python-0.0.18/tesorotools/render/content/__init__.py +0 -0
  10. tesorotools_python-0.0.18/tesorotools/utils/__init__.py +0 -0
  11. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/.gitignore +0 -0
  12. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/__init__.py +0 -0
  13. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/artists/__init__.py +0 -0
  14. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/artists/barh_plot.py +0 -0
  15. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/artists/line_plot.py +0 -0
  16. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/artists/table.py +0 -0
  17. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/artists/type_curve.py +0 -0
  18. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/README.md +0 -0
  19. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/fonts/CabinetGrotesk-Black.otf +0 -0
  20. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/fonts/CabinetGrotesk-Bold.otf +0 -0
  21. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/fonts/CabinetGrotesk-Extrabold.otf +0 -0
  22. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/fonts/CabinetGrotesk-Extralight.otf +0 -0
  23. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/fonts/CabinetGrotesk-Light.otf +0 -0
  24. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/fonts/CabinetGrotesk-Medium.otf +0 -0
  25. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/fonts/CabinetGrotesk-Regular.otf +0 -0
  26. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/fonts/CabinetGrotesk-Thin.otf +0 -0
  27. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/fonts/README.md +0 -0
  28. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/plots.yaml +0 -0
  29. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/assets/tesoro.mplstyle +0 -0
  30. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/convert.py +0 -0
  31. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/data_sources/README.md +0 -0
  32. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/data_sources/__init__.py +0 -0
  33. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/data_sources/debug.py +0 -0
  34. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/data_sources/lseg.py +0 -0
  35. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/database/push.py +0 -0
  36. {tesorotools_python-0.0.18/tesorotools/database → tesorotools_python-0.0.20/tesorotools/dependencies}/__init__.py +0 -0
  37. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/dependencies/functions.py +0 -0
  38. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/dependencies/node.py +0 -0
  39. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/dependencies/resolution.py +0 -0
  40. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/main.py +0 -0
  41. {tesorotools_python-0.0.18/tesorotools/dependencies → tesorotools_python-0.0.20/tesorotools/offsets}/__init__.py +0 -0
  42. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/offsets/offsets.py +0 -0
  43. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/offsets/outliers.py +0 -0
  44. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/render/__init__.py +0 -0
  45. {tesorotools_python-0.0.18/tesorotools/offsets → tesorotools_python-0.0.20/tesorotools/render/content}/__init__.py +0 -0
  46. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/render/content/content.py +0 -0
  47. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/render/content/images.py +0 -0
  48. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/render/content/section.py +0 -0
  49. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/render/content/subtitle.py +0 -0
  50. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/render/content/text.py +0 -0
  51. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/render/content/title.py +0 -0
  52. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/render/report.py +0 -0
  53. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/utils/config.py +0 -0
  54. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/utils/matplotlib.py +0 -0
  55. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/tesorotools/utils/series.py +0 -0
  56. {tesorotools_python-0.0.18 → tesorotools_python-0.0.20}/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.18
3
+ Version: 0.0.20
4
4
  Requires-Python: >=3.13
5
5
  Requires-Dist: babel
6
6
  Requires-Dist: eikon
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "tesorotools-python"
3
3
  requires-python = ">=3.13"
4
- version = "0.0.18"
4
+ version = "0.0.20"
5
5
  dependencies = [
6
6
  "psycopg2",
7
7
  "SQLAlchemy",
@@ -0,0 +1 @@
1
+ from tesorotools.database.local import LocalDatabase, ShortcutDatabase
@@ -0,0 +1,46 @@
1
+ """
2
+ Este módulo trata de recoger todas las comunalidades de las bases de datos locales que tenemos en OneDrive, para estandarizar el trabajo con ellas y evitarnos dolores de cabeza en el futuro.
3
+ """
4
+
5
+ from pathlib import Path
6
+
7
+ from tesorotools.utils import SYSTEM
8
+ from tesorotools.utils.shortcuts import resolve_shortcut
9
+
10
+
11
+ class LocalDatabase:
12
+ """
13
+ Todas las bases de datos locales que tenemos deben ser una instancia de esta, ya sea directamente o a través de una subclase
14
+ """
15
+
16
+ def __init__(self, root_path: Path):
17
+ self.root_path: Path = root_path
18
+
19
+ def get_year_path(self, year: int) -> Path:
20
+ return self.root_path / str(year)
21
+
22
+ def get_raw_path(self, year: int) -> Path:
23
+ return self.get_year_path(year) / "raw"
24
+
25
+ def get_processed_path(self, year: int) -> Path:
26
+ processed_path: Path = self.get_year_path(year) / "processed"
27
+ processed_path.mkdir(parents=True, exist_ok=True)
28
+ return processed_path
29
+
30
+ def get_products_path(self, year: int) -> Path:
31
+ products_path: Path = self.get_year_path(year) / "products"
32
+ products_path.mkdir(parents=True, exist_ok=True)
33
+ return products_path
34
+
35
+
36
+ class ShortcutDatabase(LocalDatabase):
37
+ """Base de datos local cuya ruta viene data a través de un acceso directo (Windows) o enlace simbólico (Linux)"""
38
+
39
+ def __init__(self, root_path: Path, shortcut: str):
40
+ db_path = (
41
+ root_path / f"{shortcut}.lnk"
42
+ if SYSTEM == "Windows"
43
+ else root_path / shortcut
44
+ )
45
+ db_resolved_path: Path = resolve_shortcut(db_path)
46
+ super().__init__(root_path=db_resolved_path)
@@ -127,6 +127,7 @@ def _fill_index_names(
127
127
 
128
128
  for idx, name in enumerate(index_names, start=start_row):
129
129
  cell: TableCell = table_docx.cell(idx, 0)
130
+ print(name)
130
131
  cell.text = name
131
132
  _style_index_names(cell)
132
133
 
@@ -251,6 +252,7 @@ class Table:
251
252
  shade_file: Path | None = None,
252
253
  block_sep: bool = False,
253
254
  title: str | None = None,
255
+ columns: list[str] | None = None,
254
256
  ):
255
257
  if (
256
258
  (data_file is None)
@@ -267,6 +269,12 @@ class Table:
267
269
  self._shade: pd.DataFrame | None = (
268
270
  pd.read_feather(shade_file) if shade_file is not None else None
269
271
  )
272
+
273
+ if columns is not None:
274
+ self._data = self._data[columns]
275
+ self._color = self._color[columns]
276
+ self._shade = self._shade[columns]
277
+
270
278
  self._title: str | None = title
271
279
  self._block_sep: bool = block_sep
272
280
 
@@ -298,6 +306,9 @@ class Table:
298
306
  heading.alignment = CENTER
299
307
  heading.runs[0].font.size = Pt(10)
300
308
 
309
+ print(self._data)
310
+ print(self._data.index)
311
+
301
312
  render_table(
302
313
  self._data,
303
314
  self._color,
@@ -0,0 +1 @@
1
+ from tesorotools.utils.globals import SYSTEM
@@ -1,5 +1,9 @@
1
+ import platform
1
2
  from pathlib import Path
2
3
 
4
+ SYSTEM: str = platform.system()
5
+
6
+
3
7
  BASE_PATH: Path = Path(__file__).parent.parent
4
8
 
5
9
  DEBUG: Path = Path("debug")
@@ -5,7 +5,6 @@ import win32com.client
5
5
  from win32com.client import CDispatch
6
6
 
7
7
 
8
- # this a good candidate to be added to tesorotools-python
9
8
  def resolve_shortcut(shortcut: Path) -> Path:
10
9
  """Returns the real path behind a shortcut
11
10
 
File without changes