skillfed

grizz

A light library to preprocess data with polars

grizz v0.1.1 92.2K downloads/30d#13,471 on PyPI0
Permissive license BSD-3-Clause Active released

What it is and what it does

grizz is a lightweight library for ingesting and transforming data within polars DataFrames. It uses an object-oriented design where ingestors load data and transformers reshape it, and these building blocks can be combined into pipelines. The library wraps common operations like column casting, filtering, and type conversion into reusable transformer objects that can be chained together.

The package depends on polars for DataFrame operations, plus coola, iden, and objectory for internal utilities. It supports Python 3.9 through 3.13 and is currently in beta—the documentation explicitly warns that the API is not stable and may change significantly before a 1.0 release. Optional dependencies like clickhouse-connect, pyarrow, and tqdm extend functionality for specific use cases.

Use it for:

  • Cast multiple DataFrame columns to a target type in a single composable step
  • Build reusable data preprocessing pipelines by combining ingestors and transformers
  • Extend the library with custom ingestors to load data from domain-specific sources
  • Preprocess tabular data for machine learning workflows using polars as the backend

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

grizz provides composable ingestors and transformers to load and reshape data in polars DataFrames using an object-oriented building-block approach.

Yes, if you are already using polars and want a lightweight, composable approach to data transformation. The low install friction, active maintenance, and permissive license make it low-risk. However, be aware that the API is unstable in beta—pin your version and review release notes before upgrading, as breaking changes are expected.

Install

grizz on PyPI

pip

pip install grizz

uv

uv add grizz

poetry

poetry add grizz

Installing grizz

Before you install

Low install friction with a pure-Python wheel. Actively maintained with recent commits; however, the package is in beta stage and the fact sheet notes that API stability is not guaranteed between releases, so breaking changes are possible.

License in practice

BSD-3-Clause is permissive and allows commercial use, modification, and distribution with minimal restrictions—suitable for most projects.

Quickstart

pip install grizz

import polars as pl
from grizz.transformer import Cast

transformer = Cast(columns=["col1", "col3"], dtype=pl.Int32)
frame = pl.DataFrame({"col1": [1, 2, 3], "col3": ["1", "2", "3"]})
out = transformer.transform(frame)

Verify before relying

  • Whether custom ingestors and transformers can be easily extended beyond the built-in set
  • Performance characteristics when handling large DataFrames or complex transformation chains
  • Availability and completeness of documentation for all transformer and ingestor types

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (<3.14,>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 4 — coola, iden, objectory, polars
Maintenance actively maintained — 644 days since the last release
Last repo commit
First released
Downloads 92,162/month — #13,471 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: grizz-0.1.1-py3-none-any.whl

Keywords: polars, DataFrame, ingestor, transformer

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software Development :: Libraries

Tags

polars dataframe transformationdata ingestion pipelinedataframe preprocessingpolars data castingcomposable data transformersdataframe column operationspolars etl library
polars-ecosystemdata-pipelineetl

More Libraries packages