Skip to main content

GoldenViz is a Python library that analyzes matplotlib and seaborn charts and checks whether they follow data visualization best practices (the Golden Rules of Data Visualization).

Project description

GoldenViz

GoldenViz is a lightweight Python library for checking Matplotlib charts against practical data visualization rules.

It is designed as a visual QA and teaching layer. GoldenViz does not create charts for you; it inspects charts you already made and returns structured feedback.

GoldenViz is inspired by the course and book: The 25 Golden Rules of Data Viz.

Installation

pip install GoldenViz

Then import the package with the same capitalization:

import GoldenViz as gv

Quickstart

import matplotlib.pyplot as plt
import GoldenViz as gv

fig, ax = plt.subplots()
ax.plot([2021, 2022, 2023], [10, 13, 16])
ax.set_title("Revenue trend by year")
ax.set_xlabel("Year")
ax.set_ylabel("Revenue (M EUR)")

gv.check(fig)

Running the code displays the Matplotlib chart first:

Matplotlib chart produced by the GoldenViz quickstart example

Then GoldenViz renders an HTML report below it:

GoldenViz report Automatic visual QA for the 25 Golden Rules.
PASS 25 WARNING 0 FAIL 0
View warnings and failures
Axis: Revenue trend by year
No warnings or failures for this axis.
Passing checks (25)
Rule Status Assessment
Clear title PASS Title detected: Revenue trend by year.
Axis labels PASS Both x-axis and y-axis labels are present.
Units and scale clarity PASS Numeric labels include detectable units or scale where applicable.
The full report contains all 25 passing checks.

The full report HTML fragment used in the documentation is available at docs/_static/goldenviz_installation_check_report.html.

To get a structured report instead of displaying it:

report = gv.analyze(fig)
print(report.summary_counts)

Notebook auto mode

import GoldenViz as gv

gv.auto()

When auto mode is enabled, GoldenViz tries to show a report after Matplotlib figures are rendered in notebook workflows.

Documentation

Full installation, usage, examples, API, citation, license, and trademark information are available in the documentation:

https://goldenviz.readthedocs.io

Project status

GoldenViz is currently an alpha package. The implementation is Matplotlib-first, with Seaborn charts supported when they produce standard Matplotlib axes.

GoldenViz uses heuristic checks. It can help detect common chart quality issues, but it does not replace human judgment and may produce false positives or false negatives.

See CHANGELOG.md for release notes.

Development

From a local checkout:

pip install -e .

For documentation work:

pip install -e ".[docs]"

For tests:

pip install -e ".[test]"
pytest

License

GoldenViz is free and open source software licensed under the GNU Affero General Public License version 3 or later (AGPL-3.0-or-later). See LICENSE.

Commercial licensing, enterprise use cases, hosted services, or integrations that require terms different from AGPLv3 may be available by separate written agreement.

GoldenViz and the GoldenViz logo are trademarks or claimed trademarks of Wajdi Ben Saad. Use of the code under AGPLv3 does not grant permission to use the GoldenViz name or logo to imply endorsement, official status, or partnership. See TRADEMARKS.md.

Contributing

Contributions are welcome. See CONTRIBUTING.md for the development workflow and contribution licensing terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goldenviz-0.1.0a2.tar.gz (38.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

goldenviz-0.1.0a2-py3-none-any.whl (47.5 kB view details)

Uploaded Python 3

File details

Details for the file goldenviz-0.1.0a2.tar.gz.

File metadata

  • Download URL: goldenviz-0.1.0a2.tar.gz
  • Upload date:
  • Size: 38.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for goldenviz-0.1.0a2.tar.gz
Algorithm Hash digest
SHA256 6ea1e3c8064b405c30c1c403247df4a8d8eb0adcf97d27bd91791d46ebb7e7c8
MD5 006e77f9bea1ef095d10027352057449
BLAKE2b-256 9eb3eb2daddc7f50b824678e92b06e0314ef127f3aece88dee1f096a6354b4a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for goldenviz-0.1.0a2.tar.gz:

Publisher: pypi-publish.yml on WajdiBenSaad/GoldenViz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file goldenviz-0.1.0a2-py3-none-any.whl.

File metadata

  • Download URL: goldenviz-0.1.0a2-py3-none-any.whl
  • Upload date:
  • Size: 47.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for goldenviz-0.1.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 1bef75a2f590d9bf9412a2892c0a3dcd12223f48d10a1460a81fac55a9526283
MD5 61e3a64526c311d88885e49b0ce1047a
BLAKE2b-256 9d3faa098b1a9ea7fc57d3c6f1ecc7a567a2dedb76494523f7f1f4a94c0c524a

See more details on using hashes here.

Provenance

The following attestation bundles were made for goldenviz-0.1.0a2-py3-none-any.whl:

Publisher: pypi-publish.yml on WajdiBenSaad/GoldenViz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page