Skip to main content

EDA VizKit

PyPI Docs Site Python uv CI Status License: MIT

CI Docs Links Dependabot

profile logo

Reusable visualizations for inspecting and exploring data.

EDA VizKit provides high-level Python functions for common exploratory data analysis visualizations. The package works with ordinary pandas DataFrames and returns Matplotlib Axes objects.

EDA VizKit does not clean data, classify variables, select relationships, make analytical decisions, or interpret results.

Design

  • Accept ordinary pandas DataFrames and explicit column names.
  • Provide reusable visualizations for common EDA tasks.
  • Return Matplotlib Axes objects.
  • Never call plt.show().
  • Keep analytical choices visible to the caller.
  • Avoid dependencies on analytical workflow frameworks.
  • Keep the implementation readable and replaceable.

Install

uv add eda-vizkit

Example

from eda_vizkit import show_numeric_distribution

ax = show_numeric_distribution(
    df,
    column="body_mass_g",
)

ax.set_title("Penguin Body Mass")

The caller controls display and composition. In a script, for example:

import matplotlib.pyplot as plt

from eda_vizkit import show_numeric_distribution

ax = show_numeric_distribution(
    df,
    column="body_mass_g",
)

plt.show()

Initial API

Distributions:

  • show_numeric_distribution()
  • show_categorical_distribution()

Relationships:

  • show_numeric_relationship()
  • show_numeric_by_category()

Data quality:

  • show_missing_values()

Output:

  • save_chart()

Public Contract

Every public visualization helper:

  • accepts already-available data,
  • keeps the analytical choice explicit,
  • returns a Matplotlib Axes object,
  • never calls plt.show().

This allows the visualization helpers to work in scripts, applications, notebooks, documentation, and other presentation environments.

Example: Numeric Distribution

from eda_vizkit import show_numeric_distribution

ax = show_numeric_distribution(
    df,
    column="flipper_length_mm",
)

Example: Categorical Distribution

from eda_vizkit import show_categorical_distribution

ax = show_categorical_distribution(
    df,
    column="species",
)

Example: Numeric Relationship

from eda_vizkit import show_numeric_relationship

ax = show_numeric_relationship(
    df,
    x="flipper_length_mm",
    y="body_mass_g",
)

Example: Numeric Variable by Category

from eda_vizkit import show_numeric_by_category

ax = show_numeric_by_category(
    df,
    numeric="body_mass_g",
    category="species",
)

Example: Missing Values

from eda_vizkit import show_missing_values

ax = show_missing_values(df)

Example: Save Chart

from eda_vizkit import save_chart, show_numeric_relationship

ax = show_numeric_relationship(
    df,
    x="flipper_length_mm",
    y="body_mass_g",
)

save_chart(
    ax,
    "docs/images/feature-target-scatter.png",
)

Example: Show Chart

import matplotlib.pyplot as plt

plt.show()

Developer Command Reference

Show command reference

In a machine terminal

Open a machine terminal where you want the project:

git clone https://github.com/analytics-toolworks/eda-vizkit

cd eda-vizkit
code .

In a VS Code terminal

uv self update
uv python pin 3.14
uv python install
uv lock --upgrade
uv sync

uv run pre-commit install
uv run pre-commit autoupdate

git add -A
uv run pre-commit run --all-files
# repeat if changes were made
uv run pre-commit run --all-files

# types, tests, docs
uv run ty check
uv run python -m pytest
uv run python -m zensical build

# save progress
git add -A
git commit -m "update"
git push -u origin main

Documentation

Annotations

.annotations/annotations.md

Citation

CITATION.cff

License

MIT

Download files

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

Source Distribution

eda_vizkit-0.1.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

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

eda_vizkit-0.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file eda_vizkit-0.1.0.tar.gz.

File metadata

  • Download URL: eda_vizkit-0.1.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for eda_vizkit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2f1995b6642acd8982f6fe493de0a5d34b5abf92ffcab5af0b48db0d839f60b3
MD5 c30a4469dd6d0d2232be7e0732229787
BLAKE2b-256 d34bb283c44040e8e3f56246c21f233fc59122d7a652d09398821b0b5568626f

See more details on using hashes here.

Provenance

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

Publisher: release-pypi.yml on analytics-toolworks/eda-vizkit

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

File details

Details for the file eda_vizkit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eda_vizkit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for eda_vizkit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d095644b70fc69e485661a749b809e716eceae99d744b175029e4c5e4512e3b
MD5 43391430a9a8c9afe95f09753aeb937c
BLAKE2b-256 21d742aa860dc93007f978909d1c08ca76fa99121148b166d4a36ac7b3c27ce0

See more details on using hashes here.

Provenance

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

Publisher: release-pypi.yml on analytics-toolworks/eda-vizkit

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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

0.0.1

2 files

Supported by

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