glyf-core 0.3.0__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 (98) hide show
  1. glyf_core-0.3.0/.cargo/config.toml +3 -0
  2. glyf_core-0.3.0/CHANGELOG.md +66 -0
  3. glyf_core-0.3.0/Cargo.lock +1505 -0
  4. glyf_core-0.3.0/Cargo.toml +10 -0
  5. glyf_core-0.3.0/LICENSE +201 -0
  6. glyf_core-0.3.0/PKG-INFO +250 -0
  7. glyf_core-0.3.0/README.md +211 -0
  8. glyf_core-0.3.0/crates/glyf-core/Cargo.toml +24 -0
  9. glyf_core-0.3.0/crates/glyf-core/src/dashboard.rs +715 -0
  10. glyf_core-0.3.0/crates/glyf-core/src/error.rs +9 -0
  11. glyf_core-0.3.0/crates/glyf-core/src/ggsql.rs +380 -0
  12. glyf_core-0.3.0/crates/glyf-core/src/lib.rs +21 -0
  13. glyf_core-0.3.0/crates/glyf-core/src/manifest.rs +148 -0
  14. glyf_core-0.3.0/crates/glyf-core/src/models.rs +45 -0
  15. glyf_core-0.3.0/crates/glyf-core/src/python.rs +142 -0
  16. glyf_core-0.3.0/crates/glyf-core/src/resolver.rs +176 -0
  17. glyf_core-0.3.0/pyproject.toml +97 -0
  18. glyf_core-0.3.0/src/glyf/__init__.py +3 -0
  19. glyf_core-0.3.0/src/glyf/__main__.py +5 -0
  20. glyf_core-0.3.0/src/glyf/bundle.py +285 -0
  21. glyf_core-0.3.0/src/glyf/cli.py +226 -0
  22. glyf_core-0.3.0/src/glyf/commands/__init__.py +1 -0
  23. glyf_core-0.3.0/src/glyf/commands/build_cmd.py +71 -0
  24. glyf_core-0.3.0/src/glyf/commands/dashboard_cmd.py +26 -0
  25. glyf_core-0.3.0/src/glyf/commands/doctor_cmd.py +19 -0
  26. glyf_core-0.3.0/src/glyf/commands/export_cmd.py +35 -0
  27. glyf_core-0.3.0/src/glyf/commands/init_cmd.py +200 -0
  28. glyf_core-0.3.0/src/glyf/commands/list_cmd.py +45 -0
  29. glyf_core-0.3.0/src/glyf/commands/render_cmd.py +27 -0
  30. glyf_core-0.3.0/src/glyf/commands/serve_cmd.py +50 -0
  31. glyf_core-0.3.0/src/glyf/commands/validate_cmd.py +116 -0
  32. glyf_core-0.3.0/src/glyf/config.py +176 -0
  33. glyf_core-0.3.0/src/glyf/dashboard/__init__.py +1 -0
  34. glyf_core-0.3.0/src/glyf/dashboard/artifacts.py +158 -0
  35. glyf_core-0.3.0/src/glyf/dashboard/assets/dashboard.css +1287 -0
  36. glyf_core-0.3.0/src/glyf/dashboard/assets/fonts/HankenGrotesk-Bold.ttf +0 -0
  37. glyf_core-0.3.0/src/glyf/dashboard/assets/fonts/HankenGrotesk-Medium.ttf +0 -0
  38. glyf_core-0.3.0/src/glyf/dashboard/assets/fonts/HankenGrotesk-Regular.ttf +0 -0
  39. glyf_core-0.3.0/src/glyf/dashboard/assets/fonts/HankenGrotesk-SemiBold.ttf +0 -0
  40. glyf_core-0.3.0/src/glyf/dashboard/assets.py +93 -0
  41. glyf_core-0.3.0/src/glyf/dashboard/chart_theme.py +98 -0
  42. glyf_core-0.3.0/src/glyf/dashboard/components.py +211 -0
  43. glyf_core-0.3.0/src/glyf/dashboard/generator.py +163 -0
  44. glyf_core-0.3.0/src/glyf/dashboard/loader.py +568 -0
  45. glyf_core-0.3.0/src/glyf/dashboard/macros/__init__.py +15 -0
  46. glyf_core-0.3.0/src/glyf/dashboard/macros/ai.py +33 -0
  47. glyf_core-0.3.0/src/glyf/dashboard/macros/alert.py +50 -0
  48. glyf_core-0.3.0/src/glyf/dashboard/macros/context.py +100 -0
  49. glyf_core-0.3.0/src/glyf/dashboard/macros/registry.py +325 -0
  50. glyf_core-0.3.0/src/glyf/dashboard/macros/time.py +20 -0
  51. glyf_core-0.3.0/src/glyf/dashboard/macros/ui.py +60 -0
  52. glyf_core-0.3.0/src/glyf/dashboard/renderer.py +118 -0
  53. glyf_core-0.3.0/src/glyf/dashboard/templates/components/ai_panel.j2 +61 -0
  54. glyf_core-0.3.0/src/glyf/dashboard/templates/components/chart_card.j2 +28 -0
  55. glyf_core-0.3.0/src/glyf/dashboard/templates/components/component_card.j2 +87 -0
  56. glyf_core-0.3.0/src/glyf/dashboard/templates/components/icons.j2 +111 -0
  57. glyf_core-0.3.0/src/glyf/dashboard/templates/components/source_drawer.j2 +24 -0
  58. glyf_core-0.3.0/src/glyf/dashboard/templates/components/toolbar.j2 +34 -0
  59. glyf_core-0.3.0/src/glyf/dashboard/templates/dashboard.html.j2 +364 -0
  60. glyf_core-0.3.0/src/glyf/dashboard/templates/index.html.j2 +65 -0
  61. glyf_core-0.3.0/src/glyf/dashboard/theme.py +11 -0
  62. glyf_core-0.3.0/src/glyf/doctor.py +166 -0
  63. glyf_core-0.3.0/src/glyf/execution/__init__.py +27 -0
  64. glyf_core-0.3.0/src/glyf/execution/base.py +54 -0
  65. glyf_core-0.3.0/src/glyf/execution/duckdb_adbc.py +51 -0
  66. glyf_core-0.3.0/src/glyf/execution/duckdb_dbapi.py +28 -0
  67. glyf_core-0.3.0/src/glyf/execution/duckdb_support.py +45 -0
  68. glyf_core-0.3.0/src/glyf/execution/result.py +84 -0
  69. glyf_core-0.3.0/src/glyf/exporter.py +151 -0
  70. glyf_core-0.3.0/src/glyf/ggsql/__init__.py +1 -0
  71. glyf_core-0.3.0/src/glyf/ggsql/models.py +54 -0
  72. glyf_core-0.3.0/src/glyf/ggsql/parser.py +73 -0
  73. glyf_core-0.3.0/src/glyf/ggsql/renderer.py +222 -0
  74. glyf_core-0.3.0/src/glyf/manifest/__init__.py +1 -0
  75. glyf_core-0.3.0/src/glyf/manifest/loader.py +107 -0
  76. glyf_core-0.3.0/src/glyf/manifest/resolver.py +79 -0
  77. glyf_core-0.3.0/src/glyf/output/__init__.py +1 -0
  78. glyf_core-0.3.0/src/glyf/output/paths.py +38 -0
  79. glyf_core-0.3.0/src/glyf/output/writer.py +98 -0
  80. glyf_core-0.3.0/src/glyf/pipeline.py +114 -0
  81. glyf_core-0.3.0/src/glyf/project/__init__.py +1 -0
  82. glyf_core-0.3.0/src/glyf/project/scanner.py +73 -0
  83. glyf_core-0.3.0/src/glyf/renderers.py +41 -0
  84. glyf_core-0.3.0/src/glyf/server.py +83 -0
  85. glyf_core-0.3.0/tests/__init__.py +1 -0
  86. glyf_core-0.3.0/tests/helpers.py +76 -0
  87. glyf_core-0.3.0/tests/test_cli.py +527 -0
  88. glyf_core-0.3.0/tests/test_config.py +129 -0
  89. glyf_core-0.3.0/tests/test_dashboard.py +705 -0
  90. glyf_core-0.3.0/tests/test_doctor.py +55 -0
  91. glyf_core-0.3.0/tests/test_execution.py +130 -0
  92. glyf_core-0.3.0/tests/test_export.py +116 -0
  93. glyf_core-0.3.0/tests/test_manifest.py +118 -0
  94. glyf_core-0.3.0/tests/test_parser.py +101 -0
  95. glyf_core-0.3.0/tests/test_project_scanner.py +21 -0
  96. glyf_core-0.3.0/tests/test_render_pipeline.py +131 -0
  97. glyf_core-0.3.0/tests/test_renderer.py +179 -0
  98. glyf_core-0.3.0/tests/test_server.py +52 -0
@@ -0,0 +1,3 @@
1
+ [env]
2
+ GGSQL_SKIP_GENERATE = "1"
3
+
@@ -0,0 +1,66 @@
1
+ # Changelog
2
+
3
+ All notable changes to `glyf` will be documented in this file.
4
+
5
+ ## 0.3.0 - Unreleased
6
+
7
+ First release published to PyPI.
8
+
9
+ - Renamed the PyPI distribution to `glyf-core`; the `glyf` command and
10
+ `import glyf` are unchanged. `pip install glyf-core` / `uv tool install
11
+ glyf-core` are the supported install paths going forward.
12
+ - Fixed the release workflow: replaced the retired `macos-13` runner, build
13
+ wheels for x86_64 and aarch64 Linux, Intel and Apple Silicon macOS, and
14
+ x86_64 Windows, and attach a `checksums.txt` to every GitHub Release.
15
+ - Trimmed the source distribution to the package, Rust crate, tests, and
16
+ top-level metadata (docs site and examples are no longer bundled).
17
+ - Fetch DuckDB results as Arrow via ADBC and split the executors into explicit
18
+ modules; cast Arrow decimal columns to native numbers.
19
+ - Added dashboard spec validation to `glyf validate` and a `--verbose` mode for
20
+ `glyf build`.
21
+ - Macro system enhancements: custom macros, macro-aware validation, and new
22
+ macro examples; fixed `ui.list` rendering.
23
+ - Dashboard UI: dark mode, refresh time and tags from YAML, and assorted
24
+ layout fixes; data and JSON moved out of the exported site.
25
+ - Added the `bundle.json` artifact with build metadata and an embedded
26
+ analytics documentation page.
27
+ - Moved the repository to the `glyf-data` organisation and enforced
28
+ conventional commit messages in CI.
29
+
30
+ ## 0.2.0 - 2026-06-02
31
+
32
+ Dashboard rendering system redesign. Tagged as `v0.2.0`; no artifacts were
33
+ published because the release workflow failed on the retired `macos-13`
34
+ runner.
35
+
36
+ - Reworked generated dashboard HTML into a product-style static UI shell with a
37
+ header, metadata bar, filter placeholder, toolbar actions, chart content,
38
+ source drawer, AI Summary panel, and lookback modal placeholder.
39
+ - Split dashboard rendering into `DashboardRenderer`, `AssetManager`, theme
40
+ metadata, componentized Jinja templates, and a shared `dashboard.css` asset.
41
+ - Moved compiled SQL out of individual chart cards and into the dashboard
42
+ `Source` drawer.
43
+ - Added linked dashboard CSS assets under `target/glyf/assets` and exported
44
+ static sites under `target/glyf/site/assets`.
45
+ - Added built-in AI Summary macros: `ai.summary`, `ai.insight`, and
46
+ `ai.signal`.
47
+ - Updated dashboard YAML documentation with toolbar behavior, field
48
+ definitions, built-in macros, custom macro guidance, and source drawer
49
+ behavior.
50
+ - Refreshed generated example dashboard previews in the docs site.
51
+ - Updated dashboard/export tests to cover linked assets, source drawer output,
52
+ AI Summary macros, and the redesigned dashboard shell.
53
+
54
+ ## 0.1.0 - 2026-05-31
55
+
56
+ Initial experimental alpha release.
57
+
58
+ - Typer CLI with `list`, `validate`, `render`, `dashboard`, `export`, and `doctor`.
59
+ - Project discovery for `.ggsql`, dashboard YAML, and dbt artifacts.
60
+ - dbt `ref()` and `source()` resolution from `target/manifest.json`.
61
+ - DuckDB SQL execution.
62
+ - Altair chart rendering to SVG and PNG.
63
+ - Static dashboard generation and exportable site folder.
64
+ - Optional `glyf.yml` project configuration.
65
+ - Example dbt projects and documentation.
66
+ - GitHub Release workflow for platform wheels and source distribution artifacts.