py-tbparse 0.4.4__tar.gz → 0.4.5__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 (92) hide show
  1. {py_tbparse-0.4.4/py_tbparse.egg-info → py_tbparse-0.4.5}/PKG-INFO +1 -1
  2. py_tbparse-0.4.5/docs/gui-field-renames.png +0 -0
  3. py_tbparse-0.4.5/docs/gui-graph.png +0 -0
  4. py_tbparse-0.4.5/docs/gui-overview.png +0 -0
  5. py_tbparse-0.4.5/docs/gui-themes.png +0 -0
  6. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/webgui.py +8 -1
  7. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/webui/app.css +1 -1
  8. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/webui/app.js +9 -1
  9. py_tbparse-0.4.5/py_tbparse/webui/themes.css +1524 -0
  10. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/webui/tokens.css +39 -40
  11. {py_tbparse-0.4.4 → py_tbparse-0.4.5/py_tbparse.egg-info}/PKG-INFO +1 -1
  12. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/pyproject.toml +1 -1
  13. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_gui_graph.py +1 -1
  14. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_gui_overview.py +1 -1
  15. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_gui_themes.py +18 -23
  16. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_webui_tokens.py +25 -8
  17. py_tbparse-0.4.4/docs/gui-field-renames.png +0 -0
  18. py_tbparse-0.4.4/docs/gui-graph.png +0 -0
  19. py_tbparse-0.4.4/docs/gui-overview.png +0 -0
  20. py_tbparse-0.4.4/docs/gui-themes.png +0 -0
  21. py_tbparse-0.4.4/py_tbparse/webui/themes.css +0 -237
  22. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/AGENTS.md +0 -0
  23. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/LICENSE +0 -0
  24. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/MANIFEST.in +0 -0
  25. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/README.md +0 -0
  26. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/__init__.py +0 -0
  27. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/_clean.py +0 -0
  28. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/_tables.py +0 -0
  29. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/_xml.py +0 -0
  30. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/batch.py +0 -0
  31. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/calculated_fields.py +0 -0
  32. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/cli.py +0 -0
  33. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/dashboards.py +0 -0
  34. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/datasources.py +0 -0
  35. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/diff.py +0 -0
  36. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/fields.py +0 -0
  37. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/graph.py +0 -0
  38. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/joins.py +0 -0
  39. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/parser.py +0 -0
  40. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/published.py +0 -0
  41. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/py.typed +0 -0
  42. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/relationships.py +0 -0
  43. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/rename.py +0 -0
  44. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/report.py +0 -0
  45. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/sql.py +0 -0
  46. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/templates.py +0 -0
  47. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/usage.py +0 -0
  48. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/validators.py +0 -0
  49. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/webui/graph.js +0 -0
  50. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/webui/index.html +0 -0
  51. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse/webui/table.js +0 -0
  52. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse.egg-info/SOURCES.txt +0 -0
  53. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse.egg-info/dependency_links.txt +0 -0
  54. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse.egg-info/entry_points.txt +0 -0
  55. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse.egg-info/requires.txt +0 -0
  56. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/py_tbparse.egg-info/top_level.txt +0 -0
  57. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/setup.cfg +0 -0
  58. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/conftest.py +0 -0
  59. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/fixtures/test_for_wenjie.twb +0 -0
  60. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/fixtures/test_for_zip.twbx +0 -0
  61. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_batch.py +0 -0
  62. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_calculated_fields.py +0 -0
  63. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_clean.py +0 -0
  64. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_cli.py +0 -0
  65. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_corpus.py +0 -0
  66. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_dashboards.py +0 -0
  67. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_datasources.py +0 -0
  68. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_diff.py +0 -0
  69. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_fields.py +0 -0
  70. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_graph.py +0 -0
  71. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_gui_a11y.py +0 -0
  72. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_gui_browser.py +0 -0
  73. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_gui_layout.py +0 -0
  74. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_gui_open.py +0 -0
  75. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_gui_table.py +0 -0
  76. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_joins.py +0 -0
  77. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_overview_endpoint.py +0 -0
  78. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_parser.py +0 -0
  79. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_public_workbooks.py +0 -0
  80. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_published.py +0 -0
  81. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_relationships.py +0 -0
  82. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_rename.py +0 -0
  83. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_rename_all.py +0 -0
  84. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_rename_mapping.py +0 -0
  85. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_report.py +0 -0
  86. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_sql.py +0 -0
  87. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_templates.py +0 -0
  88. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_upload.py +0 -0
  89. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_validators.py +0 -0
  90. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_version.py +0 -0
  91. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_webgui.py +0 -0
  92. {py_tbparse-0.4.4 → py_tbparse-0.4.5}/tests/test_xml.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: py-tbparse
3
- Version: 0.4.4
3
+ Version: 0.4.5
4
4
  Summary: Native Python port of the twbparser R package: parse Tableau .twb/.twbx workbooks into pandas DataFrames.
5
5
  Author: DDSNA
6
6
  License: MIT
Binary file
Binary file
Binary file
@@ -233,7 +233,14 @@ def _read_webui(name: str) -> str:
233
233
  return (_WEBUI / name).read_text(encoding="utf-8")
234
234
 
235
235
 
236
- THEMES = ["shop", "matcha", "fjord", "pastel", "neon", "contrast"]
236
+ THEMES = [
237
+ "shop", "matcha", "fjord", "contrast",
238
+ "harbor", "meadow", "lagoon", "slate", "graphite", "paper",
239
+ "glacier", "pine", "olive", "citrus", "ocean", "cobalt",
240
+ "navy", "midnight", "rose", "berry", "mint", "jade",
241
+ "moss", "steel", "mono", "ink", "frost", "birch",
242
+ "peacock", "marine", "canopy", "tide", "cornflower", "spruce",
243
+ ]
237
244
 
238
245
  # Runs in <head>, before anything is painted, so the page never shows the wrong colours first. It reads
239
246
  # the saved theme and mode (the localStorage read can throw in a private window), resolves Auto against
@@ -54,7 +54,7 @@ body { font: var(--text-md)/var(--leading) var(--font); background: var(--bg); c
54
54
  .btn:hover { background: var(--hover); border-color: var(--faint); }
55
55
  .btn:active { transform: translateY(1px); }
56
56
  .btn.primary { background: var(--primary); border-color: var(--primary); color: var(--primary-text);
57
- font-weight: 600; box-shadow: var(--shadow-1), var(--glow); }
57
+ font-weight: 600; box-shadow: var(--shadow-1); }
58
58
  .btn.primary:hover { filter: brightness(1.08); }
59
59
  .btn:disabled { opacity: .6; cursor: progress; }
60
60
  .btn.small { height: 32px; padding: 0 10px; font-size: var(--text-sm); }
@@ -1275,7 +1275,15 @@ function openColumnsMenu() {
1275
1275
 
1276
1276
  // ---- themes -------------------------------------------------------------------------------------------
1277
1277
 
1278
- const THEME_LABELS = {shop: 'Shop', matcha: 'Matcha', fjord: 'Fjord', pastel: 'Pastel', neon: 'Neon', contrast: 'High contrast'};
1278
+ const THEME_LABELS = {
1279
+ shop: 'Shop', matcha: 'Matcha', fjord: 'Fjord', contrast: 'High contrast',
1280
+ harbor: 'Harbor', meadow: 'Meadow', lagoon: 'Lagoon', slate: 'Slate', graphite: 'Graphite',
1281
+ paper: 'Paper', glacier: 'Glacier', pine: 'Pine', olive: 'Olive', citrus: 'Citrus',
1282
+ ocean: 'Ocean', cobalt: 'Cobalt', navy: 'Navy', midnight: 'Midnight', rose: 'Rose',
1283
+ berry: 'Berry', mint: 'Mint', jade: 'Jade', moss: 'Moss', steel: 'Steel',
1284
+ mono: 'Mono', ink: 'Ink', frost: 'Frost', birch: 'Birch', peacock: 'Peacock',
1285
+ marine: 'Marine', canopy: 'Canopy', tide: 'Tide', cornflower: 'Cornflower', spruce: 'Spruce',
1286
+ };
1279
1287
  const MODE_LABELS = {auto: 'Auto (follow my system)', light: 'Light', dark: 'Dark'};
1280
1288
  const systemDark = window.matchMedia('(prefers-color-scheme: dark)');
1281
1289