{"id":23496,"library":"dagster-polars","title":"dagster-polars","description":"Dagster integration library for Polars, providing IO managers, types, and utilities to read/write Polars DataFrames from/to various file formats (Parquet, CSV, Delta Lake, etc.). Current version: 0.27.9. Active development, follows Dagster releases.","status":"active","version":"0.27.9","language":"python","source_language":"en","source_url":"https://github.com/dagster-io/community-integrations/tree/main/libraries/dagster-polars","tags":["dagster","polars","dataframe","io-manager","etl"],"install":[{"cmd":"pip install dagster-polars","lang":"bash","label":"pip install dagster-polars"}],"dependencies":[{"reason":"Core Dagster framework","package":"dagster","optional":false},{"reason":"Data manipulation library","package":"polars","optional":false},{"reason":"Parquet Arrow support","package":"pyarrow","optional":true}],"imports":[{"note":"Older submodule path removed in 0.19","wrong":"from dagster_polars.io_manager import PolarsIOManager","symbol":"PolarsIOManager","correct":"from dagster_polars import PolarsIOManager"},{"note":"","wrong":null,"symbol":"PolarsParquetIOManager","correct":"from dagster_polars import PolarsParquetIOManager"}],"quickstart":{"code":"from dagster import Definitions, asset\nfrom dagster_polars import PolarsIOManager\nimport polars as pl\n\n@asset\ndef my_asset() -> pl.DataFrame:\n    return pl.DataFrame({\"x\": [1, 2, 3]})\n\ndefs = Definitions(\n    assets=[my_asset],\n    resources={\"io_manager\": PolarsIOManager(base_dir=\"./data\")}\n)","lang":"python","description":"Define an asset that returns a Polars DataFrame and use PolarsIOManager to persist it."},"warnings":[{"fix":"Update imports to `from dagster_polars import PolarsIOManager`.","message":"Version 0.19.0 changed the import path for PolarsIOManager from `dagster_polars.io_manager` to `dagster_polars`. Old imports will break.","severity":"breaking","affected_versions":">=0.19.0"},{"fix":"Specify `extension` in the IO manager config or use `PolarsParquetIOManager` / `PolarsCSVIOManager` for explicit format.","message":"PolarsIOManager by default uses the file extension to determine format. If your asset output doesn't have an explicit extension, it may fail or save as Parquet unexpectedly.","severity":"gotcha","affected_versions":"all"},{"fix":"Ensure assets return a `pl.DataFrame` or use `PolarsBaseIOManager` if you need custom behavior.","message":"When using with Dagster's `@asset` decorator, the asset function must return a Polars DataFrame. Returning None or other types may cause errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use `from dagster_polars import PolarsIOManager`.","cause":"Import path changed in version 0.19.0.","error":"ModuleNotFoundError: No module named 'dagster_polars.io_manager'"},{"fix":"Ensure asset returns a Polars DataFrame, e.g., `return pl.DataFrame(...)`.","cause":"Asset function returned None instead of a Polars DataFrame.","error":"dagster._core.errors.DagsterTypeError: Type check failed for input 'my_asset' - expected type 'DataFrame', got '<class 'NoneType'>'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}