--- id: dataframely version: "3.0.0" license: unclear license_treatment: unclear maintenance: active --- # dataframely — A declarative, polars-native data frame validation library License: unclear · Maintenance: active · Downloads: 297.4K/mo ## What it is and what it does Dataframely is a Python validation library designed specifically for Polars data frames. It lets you define schemas as Python classes with typed fields and optional constraints (nullable, min_length, etc.), then validate and cast data frames against those schemas in a single call. The library supports both field-level validation and cross-field rules written as Polars expressions, making it possible to enforce complex business logic (e.g., ratio constraints between columns) declaratively. The package depends on numpy, polars, and typing-extensions. It targets modern Python versions (3.10+) and ships as compiled wheels for multiple platforms (macOS, Linux, Windows). Validation is typically used in data pipelines to catch schema mismatches early and ensure data quality before downstream processing. Use it for: - Validate incoming CSV or database exports against an expected schema before processing in a data pipeline. - Enforce business rules (e.g., price > 0, bedroom-to-bathroom ratios) on data frame columns using declarative cross-field rules. - Add type hints to data frames in notebooks or scripts so that IDE and type checkers understand the structure of validated data. - Catch and report schema violations (missing columns, wrong types, null values) early in ETL workflows. - Define reusable schemas for repeated validation tasks across multiple data sources or team members. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Dataframely validates the schema and content of Polars data frames using declarative class-based schemas with field constraints and custom validation rules. Yes, with conditions. Dataframely is actively maintained, has no known vulnerabilities, and solves a real problem for Polars users who need declarative schema validation. However, verify the license before use in proprietary work, and be aware that the package is relatively new (first release March 2025)—test it in non-critical pipelines first if you require battle-tested stability. ## Install pip install dataframely uv add dataframely poetry add dataframely ## Installing dataframely Before you install: Medium install friction due to compiled wheels (cp310-abi3 binaries for multiple platforms). Active maintenance with a release 14 days ago and 610 repository stars suggest ongoing development and community use. License in practice: License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before adopting in proprietary or restricted environments. Quickstart: pip install dataframely import dataframely as dy import polars as pl class MySchema(dy.Schema): column_name = dy.String(nullable=False) df = pl.DataFrame({"column_name": ["value"]}) validated = MySchema.validate(df, cast=True) Requires Python 3.10 or later and Polars as a runtime dependency. Verify before relying: - Whether the package is suitable for production pipelines given its recent first release (2025-03-14). - Exact license terms and any restrictions on commercial use. - Performance characteristics when validating large data frames. ## Package facts - License: not declared (unclear) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 297.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags polars dataframe schema validation, data validation library python, declarative schema constraints, polars type checking, data pipeline validation, dataframe content validation, polars data quality checks, polars-native, schema-validation, data-quality [View on SkillFed](https://skillfed.io/packages/dataframely) · [View on PyPI](https://pypi.org/project/dataframely/)