reportpy
Get a plain-language overview of a pandas DataFrame in one line.
Inspired by R's report package. It reads your data and tells you, in plain
sentences, what is in each column, what looks wrong, and what to clean first.
Install
pip install reportpy
Use
import pandas as pd
import reportpy
df = pd.read_csv("flights.csv")
df.diagnose()
You can also import the function directly:
from reportpy import diagnose
diagnose(df, date_cols=["Date"], dayfirst=True)
diagnose(df, brief=True)
text = diagnose(df, return_text=True)
What you get
- A quick summary at the top: rows, columns, and what needs attention
- For each column: type, missing values, spread, and a plain-language reading
- Date coverage: range, gaps, busiest and quietest periods
- Data-quality checks: placeholder codes like 9999, numbers stored as text, messy labels, duplicates, impossible date orders
- How columns relate to each other
- A short cleaning checklist
Example output
At a glance:
- 8,000 rows and 10 columns (2 numeric, 6 categorical, 2 date).
- Needs attention: 1 column carries no information; 1 column has extreme values or heavy skew.
- ticket_price [numeric]: 8,000 valid values, 0.00% missing
In plain terms: A typical value is about 17,286. Half of the rows fall between 10,578 and
22,446; the full range runs from 7,482 to 55,986.
Takeaway: right-skewed with a long tail of large values; lean on median and percentiles,
and consider a log transform.
License
MIT
Metadata
Release files for reportpy 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| reportpy-0.1.0.tar.gz | 19.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reportpy-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.2 kB
Release files / reportpy-0.1.0.tar.gz
| Download URL | reportpy-0.1.0.tar.gz |
|---|---|
| Size | 19.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
088a83ff9dd06496ca7df386c1c204b290c871674d35d33f26068228ac7d2ab0
|
|
BLAKE2b-256 checksum How to use checksums |
cccdbe4741c50116bba6589a1677ee2d31e40eba4f93804e4c7815a98097fc4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / reportpy-0.1.0-py3-none-any.whl
| Download URL | reportpy-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b4d8e0e547f5d635c927b7d0a1374e074e478b5e4e36fbccbf26e65205b2115
|
|
BLAKE2b-256 checksum How to use checksums |
e28bc0855765f72572033ec8d12de616fbcd08a087038a67d200492109e7616e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for reportpy 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.