Skip to main content

meti_profil

A modern, Rust-powered data profiling library with Python bindings. It reads CSV, Parquet, and Excel files (or pandas / polars DataFrames) and generates a hybrid Markdown report that is readable by humans and structured for consumption by code agents.

Installation

pip install meti-profil

The import name is meti_profil (import meti_profil as mp). PyPI normalizes the distribution name, so pip install meti_profil also works.

Quick start

import meti_profil as mp

# From a file
report = mp.ProfileReport("data.csv", title="My dataset")

# Interactive HTML report (self-contained, works offline)
report.to_html("profile.html")

# Markdown report (great for diffs and code agents)
report.to_file("profile.md")

# From a pandas DataFrame
import pandas as pd
df = pd.read_csv("data.csv")
report = mp.ProfileReport(df)

# Programmatic access
print(report.get_summary())          # dataset-level metrics
print(report.get_column_info("age")) # per-column schema info
markdown = report.to_markdown()
html = report.to_html()              # returns the HTML as a string

In a notebook

In Jupyter / VSCode, just display the report — it renders inline as an interactive dashboard (sandboxed, no external resources):

report = mp.ProfileReport(df)
report  # interactive histograms, bar charts, correlation heatmap, ...

ProfileReport parameters

Parameter Type Default Description
source str, Path, pandas/polars DataFrame required Data source.
title str "Dataset Profile" Report title (written to the frontmatter).
minimal bool False Reserved: reduce heavy analyses.
explorative bool True Reserved: enable advanced analyses.

Report format

The Markdown report starts with a quoted YAML frontmatter block (rows, columns, missing cells, duplicates, version), then an ## Agent Summary JSON block for code agents, followed by normalized ## sections: Overview, Schema, Numeric Columns, Categorical Columns, Missing Values, Duplicate Rows, and Correlations when high-correlation pairs are present.

Because the agent summary is compact and stable JSON, coding agents can inspect key dataset diagnostics without reading the full report or parsing long Markdown tables. This can reduce context usage and make downstream automation more reliable, especially when reports are generated repeatedly in data workflows.

Features

  • Fast Rust engine backed by Apache Arrow.
  • Reads CSV, Parquet (snappy/zstd/lz4/brotli/gzip), and Excel files.
  • Accepts pandas and polars DataFrames.
  • Schema/type detection, descriptive numeric statistics across Arrow integer and float types, categorical frequencies, missing-value and duplicate-row analysis, and Pearson correlations. Null, NaN and infinite numeric values are treated as unavailable for numeric statistics/correlations.
  • Interactive HTML report: a single self-contained file (embedded CSS/JS, no CDN) with section navigation, responsive tables, histograms, categorical bar charts, a missing-value overview and a correlation heatmap with safe SVG tooltips.
  • Native notebook rendering in Jupyter / VSCode via _repr_html_.
  • Clean Markdown reports optimized for both humans and code agents, including escaped table cells and a stable JSON summary block.

Output formats

Method Output
to_html(path) Write a self-contained interactive HTML file.
to_html() Return the HTML document as a string.
to_file(path) Write the Markdown report.
to_markdown() Return the Markdown report as a string.
get_summary() Dataset-level metrics as a dict.
get_column_info(name) Per-column schema info as a dict.
display in a notebook Inline interactive dashboard (_repr_html_).

Development

Requires a Rust toolchain (1.78+) and Python 3.10+.

python3 -m venv .venv
source .venv/bin/activate
pip install maturin pytest pandas polars pyarrow

# Build the extension in-place
maturin develop

# Run the test suites
cargo test --workspace
pytest tests/python -v

License

MIT

Metadata

Release files for meti-profil 0.1.2

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

Source distribution (sdist)

Source distribution for meti-profil 0.1.2
File Size Uploaded Provenance
meti_profil-0.1.2.tar.gz 46.5 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for meti-profil 0.1.2
File
meti_profil-0.1.2-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
meti_profil-0.1.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
meti_profil-0.1.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
meti_profil-0.1.2-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
meti_profil-0.1.2-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 23.5 MB

Release files / meti_profil-0.1.2.tar.gz

Download URL meti_profil-0.1.2.tar.gz
Size 46.5 kB
Tags Source
SHA-256 checksum
How to use checksums
195fc9a59d14ebfe03c27d233539956faf0129b28fc264038584b6b1773f8ed0
BLAKE2b-256 checksum
How to use checksums
e72450450f20f674e1099fa9d297019097527ee639700e4671ff6dccac658cca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 5, 2026.

Transparency log

Release files / meti_profil-0.1.2-cp310-abi3-win_amd64.whl

Download URL meti_profil-0.1.2-cp310-abi3-win_amd64.whl
Size 4.3 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
3c1e173af2b91c2a09558f28e6ae8f563c41b62c00a78dbdbee786e259bab40a
BLAKE2b-256 checksum
How to use checksums
0254fc450268d0a7d492c9fc51e01f71774247cbdcd285c6bc77d6d701cdad4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 5, 2026.

Transparency log

Release files / meti_profil-0.1.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL meti_profil-0.1.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
76c9a9da3d2ffa890dd2c5bf20e9f80ff5724b2a64a9f524686f204d23a64adf
BLAKE2b-256 checksum
How to use checksums
c093884e359c869a29bb45eb0f1dc742d54432840e8d40a0edbaf285d8ae34f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 5, 2026.

Transparency log

Release files / meti_profil-0.1.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL meti_profil-0.1.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.0 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
d5636390fef45e4d04676f5cbd44f0e8927027e154c0713a831942c062c83b8c
BLAKE2b-256 checksum
How to use checksums
6b5767aa981a1a748b34406649286b29c155d7737fccba948b45de6b6d68cd78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 5, 2026.

Transparency log

Release files / meti_profil-0.1.2-cp310-abi3-macosx_11_0_arm64.whl

Download URL meti_profil-0.1.2-cp310-abi3-macosx_11_0_arm64.whl
Size 4.4 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cfe6001dace0c8ae19369350c7cf2bd3fc4bfbecf2cf2a269b5b36e2fe28cfa7
BLAKE2b-256 checksum
How to use checksums
00dd54f2aa3f23bbd5a891de919a8c1028e1474b33f96e4c53ff2b87f6af37e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 5, 2026.

Transparency log

Release files / meti_profil-0.1.2-cp310-abi3-macosx_10_12_x86_64.whl

Download URL meti_profil-0.1.2-cp310-abi3-macosx_10_12_x86_64.whl
Size 4.7 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e1c40acdf1ca7208474c822b9340ef0bfa53b594589edc1da5ee92c96f1914fb
BLAKE2b-256 checksum
How to use checksums
fbc2d52e4ac0268a952791b6832848ea7b763c49bc6aa9932723ed34a3fc3aaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 5, 2026.

Transparency log

Security for meti-profil 0.1.2

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.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for meti_profil-0.1.2.tar.gz

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 5, 2026.

Transparency log

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.

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