tesorotools-python 0.0.54__tar.gz → 0.0.56__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 (83) hide show
  1. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/PKG-INFO +1 -1
  2. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/line_plot.py +8 -0
  3. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/plotly_backend.py +11 -4
  4. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/plots.yaml +59 -2
  5. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/template.docx +0 -0
  6. tesorotools_python-0.0.56/src/tesorotools/render/content/table.py +1061 -0
  7. tesorotools_python-0.0.54/src/tesorotools/render/content/table.py +0 -505
  8. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/.gitignore +0 -0
  9. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/pyproject.toml +0 -0
  10. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/__init__.py +0 -0
  11. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/_build_context.py +0 -0
  12. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/_registry.py +0 -0
  13. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/__init__.py +0 -0
  14. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/_common.py +0 -0
  15. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/bar_line.py +0 -0
  16. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/barh_plot.py +0 -0
  17. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/box_plot.py +0 -0
  18. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/compact.py +0 -0
  19. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/intraday_plot.py +0 -0
  20. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/matrix.py +0 -0
  21. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/shock_plot.py +0 -0
  22. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/stacked.py +0 -0
  23. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/type_curve.py +0 -0
  24. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/vector_plot.py +0 -0
  25. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/artists/waterfall.py +0 -0
  26. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/README.md +0 -0
  27. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/fonts/CabinetGrotesk-Black.otf +0 -0
  28. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/fonts/CabinetGrotesk-Bold.otf +0 -0
  29. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/fonts/CabinetGrotesk-Extrabold.otf +0 -0
  30. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/fonts/CabinetGrotesk-Extralight.otf +0 -0
  31. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/fonts/CabinetGrotesk-Light.otf +0 -0
  32. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/fonts/CabinetGrotesk-Medium.otf +0 -0
  33. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/fonts/CabinetGrotesk-Regular.otf +0 -0
  34. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/fonts/CabinetGrotesk-Thin.otf +0 -0
  35. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/fonts/README.md +0 -0
  36. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/assets/tesoro.mplstyle +0 -0
  37. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/data_sources/__init__.py +0 -0
  38. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/data_sources/debug.py +0 -0
  39. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/database/__init__.py +0 -0
  40. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/database/local.py +0 -0
  41. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/database/push.py +0 -0
  42. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/database/shared.py +0 -0
  43. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/dependencies/__init__.py +0 -0
  44. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/dependencies/node.py +0 -0
  45. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/dependencies/resolution.py +0 -0
  46. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/driver.py +0 -0
  47. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/manifest.py +0 -0
  48. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/offsets/__init__.py +0 -0
  49. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/offsets/offsets.py +0 -0
  50. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/offsets/outliers.py +0 -0
  51. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/orchestration.py +0 -0
  52. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/pipeline/__init__.py +0 -0
  53. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/pipeline/diagnose.py +0 -0
  54. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/pipeline/engine.py +0 -0
  55. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/pipeline/rules.py +0 -0
  56. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/providers/__init__.py +0 -0
  57. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/providers/base.py +0 -0
  58. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/providers/bde.py +0 -0
  59. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/providers/ecb.py +0 -0
  60. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/providers/fred.py +0 -0
  61. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/providers/imf_irfcl.py +0 -0
  62. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/providers/lseg.py +0 -0
  63. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/py.typed +0 -0
  64. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/__init__.py +0 -0
  65. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/content/__init__.py +0 -0
  66. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/content/content.py +0 -0
  67. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/content/images.py +0 -0
  68. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/content/section.py +0 -0
  69. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/content/subtitle.py +0 -0
  70. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/content/text.py +0 -0
  71. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/content/title.py +0 -0
  72. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/document.py +0 -0
  73. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/render/report.py +0 -0
  74. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/testing/__init__.py +0 -0
  75. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/testing/compare.py +0 -0
  76. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/utils/__init__.py +0 -0
  77. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/utils/config.py +0 -0
  78. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/utils/format.py +0 -0
  79. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/utils/globals.py +0 -0
  80. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/utils/matplotlib.py +0 -0
  81. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/utils/series.py +0 -0
  82. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/utils/shortcuts.py +0 -0
  83. {tesorotools_python-0.0.54 → tesorotools_python-0.0.56}/src/tesorotools/utils/template.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: tesorotools-python
3
- Version: 0.0.54
3
+ Version: 0.0.56
4
4
  Requires-Python: >=3.13
5
5
  Requires-Dist: babel>=2.17
6
6
  Requires-Dist: matplotlib>=3.10
@@ -392,6 +392,14 @@ class LinePlot:
392
392
  y-grid, baseline, last-value labels). Requires the optional
393
393
  ``interactive_plots`` extra (``plotly``); imported lazily so the
394
394
  static path never needs it. Returns a ``plotly.graph_objects.Figure``.
395
+
396
+ Not every knob makes the trip, and the ones that do not are
397
+ accepted silently. ``axis_decimals``, ``vlines``, ``ref_lines``
398
+ and ``show_means`` / ``means_window`` are simply not translated
399
+ yet; ``legend.ncol``, the ``date_*`` knobs and the physical-size
400
+ ones (``figsize``, ``plot_size``, ``compact``, ``font_pt``,
401
+ ``adapt_height``) have no stable equivalent on an interactive
402
+ figure. ``docs/plotly-backend.md`` keeps the full table.
395
403
  """
396
404
  from tesorotools.artists.plotly_backend import line_plot_to_figure
397
405
 
@@ -18,9 +18,9 @@ Requires the optional ``interactive_plots`` extra (``plotly``). Imported
18
18
  lazily from each artist's ``to_plotly`` so the static matplotlib path
19
19
  never depends on plotly.
20
20
 
21
- Coverage: line, type curve, stacked area, stacked bar, shock, waterfall,
22
- horizontal bar, grouped bar and matrix. ``VectorPlot`` (bespoke arrow
23
- geometry) is not ported yet.
21
+ Coverage: every image artist except ``IntradayPlot`` -- line, type
22
+ curve, stacked area, stacked bar, bar+line, box, shock, waterfall,
23
+ horizontal bar, grouped bar, matrix and vector.
24
24
 
25
25
  Known mimicry caveats (the styling that does NOT transfer for free between
26
26
  backends, per the dual-backend research):
@@ -30,7 +30,14 @@ backends, per the dual-backend research):
30
30
  references the family by name -- it falls back unless the font is
31
31
  installed where the figure is viewed.
32
32
  * The "compact" two-per-row Word layout is matplotlib-only; this spike
33
- renders the normal (wide) form.
33
+ renders the normal (wide) form, so the physical-size knobs
34
+ (``figsize``, ``plot_size``, ``compact``, ``font_pt``,
35
+ ``adapt_height``) do nothing here.
36
+ * Beyond those, a few per-artist knobs have no stable Plotly equivalent
37
+ and a few others are simply not translated yet. Both kinds are
38
+ accepted in silence, so which is which is written down parameter by
39
+ parameter in ``docs/plotly-backend.md`` (audited for ``LinePlot``).
40
+ Keep that table in sync when adding or translating a parameter.
34
41
  """
35
42
 
36
43
  from __future__ import annotations
@@ -195,8 +195,65 @@ compact:
195
195
  barh_per_bar_cm: 0.55 # alto adicional por cada barra
196
196
 
197
197
  table:
198
- style: Light Shading Accent 1
198
+ style: Tabla Tesoro
199
199
  autofit: False
200
200
  block_separator:
201
- fill: "BFBFBF" # hex color of the inter-block band
201
+ fill: "001E93" # hex color of the inter-block band
202
202
  height_twips: 20 # half-band height; total band = 2 * height_twips
203
+
204
+ # Todo lo que la tabla pinta y no es dato. Vive aquí y no en el código
205
+ # porque el estilo de Word (`Tabla Tesoro`, dentro de template.docx) y el
206
+ # repintado de las cabeceras tienen que salir del mismo sitio: si cada uno
207
+ # llevara sus colores, una tabla horizontal y una vertical acabarían
208
+ # distintas.
209
+ chrome:
210
+ # Fila de nombres de columna. Sin relleno (`header_fill` vacío = sobre
211
+ # el papel): la jerarquía la sostienen las reglas y el cuerpo del texto.
212
+ # En redonda, porque en negrita competiría con los rótulos de fila, que
213
+ # sí necesitan destacar: son la entrada a cada línea.
214
+ header_fill:
215
+ header_text: "000000"
216
+ header_bold: False
217
+ header_pt: 9.5
218
+
219
+ # Fila de bloques, sólo en tablas horizontales. En negrita: es el piso
220
+ # de arriba de la cabecera y lo que agrupa las columnas, y con la fila
221
+ # de columnas en redonda es lo que hace legible la jerarquía sin color.
222
+ block_fill:
223
+ block_text: "000000"
224
+ block_bold: True
225
+ block_pt: 9.5
226
+
227
+ # Cuerpo. Las cifras van en monoespaciada para que las comas decimales
228
+ # caigan alineadas y la columna se pueda recorrer con la vista; los
229
+ # rótulos se quedan en la fuente del documento. `figure_font` vacío lo
230
+ # apaga. Consolas y no Courier New: Courier es de máquina de escribir y
231
+ # al lado de una grotesca deja la tabla desequilibrada.
232
+ body_pt: 9
233
+ figure_font: Consolas
234
+
235
+ # Reglas. `rule` cierra la cabecera; `gap` subraya cada rótulo de bloque
236
+ # para decir qué columnas cuelgan de él (vacío la omite);
237
+ # `block_rule_size` separa dos bloques en columnas y mide lo mismo que
238
+ # la banda de las tablas de bloques en filas (2 pt = 2 * height_twips):
239
+ # las dos formas de separar un bloque del siguiente pesan igual porque
240
+ # son la misma cosa vista en el otro eje.
241
+ rule: "001E93"
242
+ rule_size: 12
243
+ gap: "001E93"
244
+ gap_size: 8
245
+ block_rule_size: 16
246
+
247
+ # El rótulo, dentro de la tabla como su primera fila. Fuera es un
248
+ # párrafo suelto que un salto de página puede separar de su tabla, y en
249
+ # el correo de un móvil hay clientes que reescriben el tamaño de un
250
+ # `<h2>` con el suyo. `title_inside: False` recupera el `Heading 2`
251
+ # encima de la tabla.
252
+ #
253
+ # Va dentro también por el bandeado: el `firstRow` del estilo cae sobre
254
+ # esta fila, y por eso `Tabla Tesoro` lleva el relleno en `band2Horz`.
255
+ # Con el rótulo fuera, las filas alternas salen en fase invertida.
256
+ title_inside: True
257
+ title_color: "001E93"
258
+ title_pt: 10
259
+ title_rule_size: 8