---
name: dagster-dataframely
description: >
  A Dataframely integration for Dagster. Use when writing Python code that uses the dagster_dataframely package.
license: Apache-2.0
compatibility: Requires Python >=3.12.
---

# dagster_dataframely

A Dataframely integration for Dagster.

## Installation

```bash
pip install dagster-dataframely
```

## API overview

### Core

`dd.asset` builds an asset from a schema, and `quarantine_spec` adds that asset's quarantine to the asset graph.

- `asset`: Turn the decorated function into an asset that validates the frame it returns against `schema`
- `quarantine_spec`: Return an asset spec that adds an asset's quarantine to the asset graph
- `Granularity`: Type alias
- `SchemaRules`: Type alias

### Hand-wiring

`dd.asset` assembles these parts. Use them to build a `@dg.asset` yourself, where `dd.asset` does not fit.

- `wiring.schema_metadata`
- `wiring.table_schema`
- `wiring.check_specs`
- `wiring.check_results`
- `wiring.check_name`
- `wiring.validation_results`
- `wiring.AssetYield`
- `wiring.QuarantineWriter`
- `wiring.delegating_writer`
- `wiring.file_writer`
- `wiring.quarantine_frame`
- `wiring.quarantine_path`
- `wiring.validate_quarantine_key`

### Errors

This package raises these errors. Each one subclasses `DagsterDataframelyError`.

- `errors.DagsterDataframelyError`
- `errors.CollectionNotSupportedError`
- `errors.ReservedColumnError`
- `errors.InvalidColumnNameError`
- `errors.CheckNameCollisionError`
- `errors.InvalidSettingError`
- `errors.MaterializeResultValueError`
- `errors.MaterializeResultFieldError`
- `errors.ColumnSchemaError`
- `errors.ValidationAbortError`
- `errors.NoValidRowsError`
- `errors.QuarantineKeyCollisionError`
- `errors.QuarantineDirError`

## Resources

- [Full documentation](https://ozanozbeker.com/dagster-dataframely/)
- [llms.txt](llms.txt) — Indexed API reference for LLMs
- [llms-full.txt](llms-full.txt) — Comprehensive documentation for LLMs
- [Source code](https://github.com/ozanozbeker/dagster-dataframely)
