Welcome to pandera-catalog’s documentation!

Welcome to pandera-catalog’s documentation!#

pandera-catalog logo pandera-catalog

Run Tests PyPI Coverage Python Versions License Open Issues

Overview#

pandera-catalog is a Python package that provides a database-backed catalog for registering, looking up, and managing Pandera schemas. It is designed to grow into a SQLAlchemy-connected (SQLite initially) registry of schema entries, validation rules, and schema metadata — keeping schemas organized, discoverable, and version-aware.

Installation#

Install the base package:

pip install pandera-catalog

Or with uv:

uv add pandera-catalog

Install optional extras for schema validation helpers using Pydantic:

pip install "pandera-catalog[schema]"

Quick Usage#

import pandera.pandas as pa
from pandera_catalog import PanderaCatalog

# Create a catalog
catalog = PanderaCatalog()

# Define a schema
schema = pa.DataFrameSchema(
    columns={
        "id": pa.Column(int),
        "value": pa.Column(float, pa.Check.greater_than(0)),
    }
)

# Register the schema
catalog.register("my_schema", schema)

# Look up the schema
retrieved = catalog.get("my_schema")
print(retrieved)

# List all registered schemas
print(catalog.list())

Loading schemas from YAML#

from pathlib import Path
from pandera_catalog import PanderaCatalog
from pandera_catalog.schemas import load_schema_from_yaml

catalog = PanderaCatalog()
schema = load_schema_from_yaml(Path("schemas/my_schema.yaml"))
catalog.register("my_schema", schema)

See the documentation and examples for more detail.

Developer docs: