Skip to main content

dagster-dataframely

PyPI CI

Dataframely validates Polars frames against a schema. Dagster has two built-in places to show a schema: the Columns tab and asset checks. dagster-dataframely attaches a Dataframely schema to a Dagster asset, so you declare a table once and Dagster shows it in both places.

import dataframely as dy
import polars as pl

import dagster_dataframely as dd


class CustomersSchema(dy.Schema):
    """A storefront customer account."""

    customer_id = dy.String(primary_key=True, description="Account identifier.")
    email = dy.String(nullable=False, description="Address for receipts.")
    lifetime_value = dy.Float64(nullable=False, min=0.0, description="Spend to date.")


@dd.asset(CustomersSchema)
def customers(raw_customers: pl.DataFrame) -> pl.DataFrame:
    """Validate the storefront's customer accounts."""
    return raw_customers

That is the whole integration. From one declaration you get the catalog's Columns tab, one asset check per rule, and a code version derived from the schema. A row that fails an "error" rule fails the run. With filter=True, the run writes that row to a separate table instead and writes the other rows to the asset's table. Get started covers each of those, with screenshots of the demo pipeline.

Installation

uv add dagster-dataframely

You need Python 3.12 or newer. The dependencies are dagster, dataframely and polars, plus universal-pathlib, which dagster already installs.

This package includes an IO manager only for its examples, dd.data.ParquetIOManager. In your own project, bind a library one. dagster-polars writes Polars frames to a filesystem or object store, and dagster-duckdb-polars writes them to a warehouse. Any IO manager that stores by asset key works.

Pre-1.0. A characterization test covers the public surface, so it never changes by accident. It can still change: a 0.x minor release can include breaking changes. Upgrading has the migration for each one.

Documentation

https://ozanozbeker.com/dagster-dataframely has the guide, the reference and the changelog. Contributor documentation stays in the repository: CONTEXT.md is the glossary, and docs/pre-1.0.md records the decisions and the measurements the package was built on.

Metadata

Release files for dagster-dataframely 0.12.0

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

Source distribution (sdist)

Source distribution for dagster-dataframely 0.12.0
File Size Uploaded Provenance
dagster_dataframely-0.12.0.tar.gz 47.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dagster-dataframely 0.12.0
File Interpreter ABI Platform
dagster_dataframely-0.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 107.0 kB

Release files / dagster_dataframely-0.12.0.tar.gz

Download URL dagster_dataframely-0.12.0.tar.gz
Size 47.9 kB
Tags Source
SHA-256 checksum
How to use checksums
308e042224321dd9b10632713664588fbbe058b70c72f5773d4aac85686b9d0b
BLAKE2b-256 checksum
How to use checksums
0ecb3227712cf4ed7da997ed2632f1afe5a4626d0dd04549f5c22b57502415ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 22, 2026.

Transparency log

Release files / dagster_dataframely-0.12.0-py3-none-any.whl

Download URL dagster_dataframely-0.12.0-py3-none-any.whl
Size 59.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7373771f88d8fdea69141a64f29e5f1755021b0f2bde88c9262158c6b6ae8e46
BLAKE2b-256 checksum
How to use checksums
444960db1a7687e211c13f81a1994fa2fea159c7c74625487e6807049795e31e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 22, 2026.

Transparency log

Security for dagster-dataframely 0.12.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.

Full provenance

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

Select from 2 files

Attestation for dagster_dataframely-0.12.0.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 Oct 22, 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