Skip to main content

shirabe

shirabe-profiling

Polars data profiling that writes one HTML report, with quality alerts and a guide to fix each one.

License: Apache 2.0 Python 3.10+

Quickstart | Report tour | Use it in code | License

The overview of a report, with the facts of the dataset and the list of alerts

shirabe-profiling reads a Polars DataFrame and writes one HTML report that you open in a browser. The report shows the facts of each column, flags quality problems as alerts, and explains how to fix each alert.

  • Fast, the engine is Polars, and overview mode skips the slow parts for a quick first look.
  • A guide for every alert, the Guide tab covers all 10 alerts, with each limit, some possible fixes, and the sources.
  • Made for modeling, the target section shows how columns link to the target and warns about leakage, and skewed columns get log1p and Yeo-Johnson tabs.
  • Easy to use in code, read the numbers with .to_dict(), .to_json(), .stats, and .alerts, and the package is fully typed.
  • Easy on the eyes, the report follows the theme of your system, and you can switch between dark and light in the settings menu.
  • Open to many inputs, Polars frames, pandas frames, CSV paths, and Parquet paths all work.

Quickstart

Install the package from PyPI:

pip install shirabe-profiling

Then write a report:

import polars as pl
from shirabe_profiling import ProfileReport

df = pl.read_csv("data.csv")
report = ProfileReport(df)
report.to_html("report.html")

You can name the column that you want to predict to add a target section:

report = ProfileReport(df, target="churned")

The report loads ECharts and Tailwind CSS from a CDN, so it needs an internet connection to display correctly.

Report tour

Click any picture to open it full size.

Target
Target section with the link of each column to the target
Column details
Column details with alert tags and skew tabs
Correlations
Correlation heatmap with the strongest pairs
Guide
The Guide tab with the High Missing alert open

The report also has:

  • A correlation heatmap for each method (Phik, Pearson, Spearman, Cramér's V, and Kendall), with a list of the strongest pairs.
  • An Interactions section with scatter plots, box plots, and a column picker.
  • A Missing Patterns table and an Outliers table.
  • A Sample section with the first rows, the last rows, random rows, and the rows with the most gaps.

Use it in code

Read the results
report = ProfileReport(df, title="Customer Data Profile")

stats = report.to_dict()
alerts = report.alerts
column_stats = report.stats["age"]
correlations = report.correlations
Change the settings
from shirabe_profiling import ProfileReport, ProfileConfig

config = ProfileConfig(
    title="Customer Data Profile",
    mode="overview",
    missing_threshold=0.1,
    histogram_bins=30,
)
report = ProfileReport(df, config=config)
Pick a mode

Use "overview" when you want a fast first look, because it skips the slow parts of the report.

Feature "complete" "overview"
Basic stats ✓ ✓
Histograms and value counts ✓ ✓
Correlations ✓ ✗
Interactions ✓ ✗
Skew transform tabs ✓ ✗
Missing patterns and outliers tables ✓ ✗
Random and most missing samples ✓ ✗
Character analysis ✓ ✗
Duplicate rows table ✓ ✗
Choose an output format
Format Method Use
HTML report.to_html("report.html") The interactive report
JSON report.to_json("report.json") Other programs
Dict report.to_dict() Python code

License

This project is a derivative work based on dataxid-profiling by DataXID, originally licensed under the Apache License 2.0.

  • LICENSE, the Apache-2.0 grant for the whole repository
  • LICENSES/, the full text of each license that the files use
  • REUSE.toml, the license and the copyright holder of each file

Metadata

Release files for shirabe-profiling 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shirabe-profiling 0.1.0
File Size Uploaded Provenance Actions
shirabe_profiling-0.1.0.tar.gz 686.6 kB Without provenance Details for shirabe_profiling-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for shirabe-profiling 0.1.0
File Interpreter ABI Platform Actions
shirabe_profiling-0.1.0-py3-none-any.whl Python 3 none any Details for shirabe_profiling-0.1.0-py3-none-any.whl

Total release size: 859.8 kB

Release files / shirabe_profiling-0.1.0.tar.gz

Download URL shirabe_profiling-0.1.0.tar.gz
Size 686.6 kB
Tags Source
SHA-256 checksum
How to use checksums
22d7a2fcb609e2cf8f9fb5ac50319c3e57ecd6f0996b5f8029cf0f0e2aa866c2
BLAKE2b-256 checksum
How to use checksums
33a7a6f5fcbb6a1b2944bb559bd67b1ab92a774c2a585ef9a4daca5879fb7a52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / shirabe_profiling-0.1.0-py3-none-any.whl

Download URL shirabe_profiling-0.1.0-py3-none-any.whl
Size 173.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe89ba3ecfc0c00ba3ec6042266d779a7c548477461e1e201213bb6e3b786d31
BLAKE2b-256 checksum
How to use checksums
28144f5c0271c069b4c57943a1ce5aecc3efbe1718f84b9e22ee4ba110392305
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for shirabe-profiling 0.1.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page