PyMetaGen
PyMetaGen is a powerful and fast data quality tool base on Polars designed for generating metadata and extracting useful information from various data file formats. It provides both a Python API and a command-line interface (CLI) to inspect, filter, and extract data from files such as CSV, JSON, Parquet, and Excel.
Key Features
- Metadata Generation: Automatically generates metadata for your datasets, including statistics such as min, max, standard deviation, and more.
- Data Extraction: Easily extract specific rows from your datasets using head, tail, or random sampling.
- Command Line Interface: Perform operations like metadata generation, data inspection, and filtering using an intuitive CLI.
- Multiple File Format Support: Import and export data in various formats, including CSV, Parquet, Excel, and JSON.
- SQL Query Support: Filter data using SQL queries directly on the command line.
Installation
To install the package, use the following command:
pip install pymetagen
Local Installation
To install the package locally, use the following command:
python -m pip install -U git+ssh://git@github.com/itsbigspark/dotdda.git@dev/main
Usage
Python API
You can use the Python API to load a data file and generate metadata:
from pymetagen import MetaGen
# Create an instance of the MetaGen class reading a data file
metagen = MetaGen.from_path("tests/data/testdata.csv", loading_mode="eager")
# Display the first few rows of the data
metagen.data.head()
# Generate metadata and reset the index
metadata = metagen.compute_metadata().reset_index()
# Save the metadata to a file
metagen.write_metadata("tests/data/testdata_metadata.csv")
Command Line Interface
- Metadata Generation Generate metadata for a tabular data file:
$ metagen metadata -i tests/data/testdata.csv -o tests/data/testdata_metadata.csv
>>> Generating metadata for tests/data/testdata.csv...
- Data Inspection Inspect a data file (e.g., a partitioned Parquet file):
metagen inspect -i tests/data/input_ab_partition.parquet
- Data Filtering Filter a data set using an SQL query:
metagen filter -i tests/data/testdata.csv -q "SELECT * FROM data WHERE imdb_score > 9"
- Data Extraction Extract a specific number of rows from a data set:
$ metagen extracts -i tests/data/testdata.csv -o tests.csv -n 3
>>> Writing extract in: tests-head.csv
>>> Writing extract in: tests-tail.csv
>>> Writing extract in: tests-sample.csv
Available Output Formats
- CSV
- Parquet
- JSON
- Excel
Metadata
Release files for pymetagen 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pymetagen-0.4.1.tar.gz | 23.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pymetagen-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.9 kB
Release files / pymetagen-0.4.1.tar.gz
| Download URL | pymetagen-0.4.1.tar.gz |
|---|---|
| Size | 23.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2792ead17ea7be58881e457a3b20db10c282fdb19b80fb9fb2d4090c1431c359
|
|
BLAKE2b-256 checksum How to use checksums |
a78d453880373684aa3064ac2739c5317277e7454c44e792610538a9b12d8a0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Jun 7, 2025.
Transparency logRelease files / pymetagen-0.4.1-py3-none-any.whl
| Download URL | pymetagen-0.4.1-py3-none-any.whl |
|---|---|
| Size | 19.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8916db6105e70674196ba9a254da2e47edfc8de6e70ea157d511332b1c9729fa
|
|
BLAKE2b-256 checksum How to use checksums |
96621c7cd36f38ecd6fc4ecf0118cd55966afbecfb6e94031bf3f92c12081b94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Jun 7, 2025.
Transparency log