Paguro: data validation using Polars
Paguro is a Python library built on top Polars that provides efficient and rich tools for:
- Data validation and models
- Persistent custom information
- Customizable summary statistics
- And much more!
All with informative and beautiful terminal output!
Installation
pip install paguro
Quick Start
Data Validation
Expressive API
Paguro introduces a new expressive API for defining validation
Here is a simple example:
import paguro as pg
import polars as pl
valid_frame = pg.vframe(
pg.vcol("a", dtype=int, ge=1),
pg.vcol("b", b_contains=pl.all().str.contains("z")),
)
valid_frame.validate({"a": [0, 1, 2], "b": ["z", "y", "x"]})
══ ValidationError ═══════════════════════════════
━━━━━━━━━━━━━━━ valid_frame_list ━━━━━━━━━━━━━━━
╭─ > "" ─────────────────────────────────────╮
│ ----------------------------- validators - │
│ valid_column_list │
│ * 'a' │
│ constraints │
│ ‣ ge │
│ errors │
│ ┌─────┐ │
│ │ a │ │
│ │ --- │ │
│ │ i64 │ │
│ ╞═════╡ │
│ │ 0 │ │
│ └─────┘ │
│ shape: (1, 1) │
│ * 'b' │
│ constraints │
│ ‣ b_contains │
│ errors │
│ ┌─────┐ │
│ │ b │ │
│ │ --- │ │
│ │ str │ │
│ ╞═════╡ │
│ │ y │ │
│ │ x │ │
│ └─────┘ │
│ shape: (2, 1) │
│ │
╰────────────────────────────────────────────╯
══════════════════════════════════════════════════
Paguro contains many features, including a model-based API for validation and static typing of columns, please visit the Documentation and stay tuned for more examples!
Paguro is distributed under
the Apache License, Version 2.0.
© 2025 Bernardo Dionisi | SPDX-License-Identifier: Apache-2.0
Metadata
Release files for paguro 0.3.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 | |
|---|---|---|---|
| paguro-0.3.1.tar.gz | 1.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paguro-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.0 MB
Release files / paguro-0.3.1.tar.gz
| Download URL | paguro-0.3.1.tar.gz |
|---|---|
| Size | 1.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c0d6f00a1feb0f842a5b84f81d6a4061e7fcee0c769d9ee61e02f757c8e965be
|
|
BLAKE2b-256 checksum How to use checksums |
b138b83b7a2ecf087adef6d7753c0a951743dff2000515731362f203a898ed0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Nov 11, 2025.
Transparency logRelease files / paguro-0.3.1-py3-none-any.whl
| Download URL | paguro-0.3.1-py3-none-any.whl |
|---|---|
| Size | 297.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ee6485f4679b6db178ed5153efaf89dc31c2b2f71c98686129946db021ad46a8
|
|
BLAKE2b-256 checksum How to use checksums |
e6eef39e19e79f5a57775ab923275c89c7a7d014fec2e2237464c0fd9587482c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Nov 11, 2025.
Transparency log