gtviz
Publication-quality survey data visualization, refactored from the GivingPulse quarterly-report codebase into a clean, survey-agnostic library.
Charts: dot plots (single, grouped, trend), parallel bar panels, rolling trend lines, venn diagrams (2/3 set, filtered or from pre-aggregated counts), weighted heatmaps, funnels, donuts, diverging Likert bars. Tables: publication CSS/HTML tables with zebra striping, high/low cell shading, multi-index rollups; period-over-period comparison tables. Maps: county/FIPS choropleth color tables (for SVG map filling) + scale-bar legends. Export: PNG, SVG, PDF, standalone HTML reports (figures embedded as SVG), suitable for websites or print reports.
import gtviz
gtviz.theme.use("report")
fig, ax = gtviz.dot_plot([62, 48, 31], ["Gave money", "Volunteered", "Gave items"],
error=[3, 3, 2], title="Generosity in Q2")
gtviz.io.save(fig, "generosity_q2", formats=("png", "svg", "pdf"))
Install
pip install gtviz # core
pip install gtviz[waffle] # + waffle charts
Docs
Full documentation, gallery, and migration guide from the original gp_reports
repo: https://gtviz.readthedocs.io
Development
pip install -e .[dev,docs]
pytest # unit tests; writes chart images to tests/output/
python examples/generate_gallery.py # regenerate gallery images
CI runs lint + tests on every push and uploads rendered chart images as build
artifacts for human review; a headless job compares rendered images
against committed baselines in tests/baseline/. See .github/workflows/.
Metadata
Release files for gtviz 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gtviz-0.3.3.tar.gz | 71.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gtviz-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 121.2 kB
Release files / gtviz-0.3.3.tar.gz
| Download URL | gtviz-0.3.3.tar.gz |
|---|---|
| Size | 71.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
98769d0e9e2c6eb9589c7aef1040bb62e3287703245207342a7aa1ecdd7594ef
|
|
BLAKE2b-256 checksum How to use checksums |
71d76d449adc00a25ae51a455f0a3677102cd96d115d08835663dc3957f736dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.
Transparency logRelease files / gtviz-0.3.3-py3-none-any.whl
| Download URL | gtviz-0.3.3-py3-none-any.whl |
|---|---|
| Size | 49.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
968f6ce8aeae311ba60d456f683b48fdf95d4184c6c3dc014791b0c4e7e49bc3
|
|
BLAKE2b-256 checksum How to use checksums |
09011c04a93bb0819196e8f64cc49973930caa73f7b4446fffe5089bf6a583b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.
Transparency log