skillfed

frictionless

Data management framework for Python that provides functionality to describe, extract, validate, and transform tabular data

frictionless v5.19.0 1.1M downloads/30d#4,324 on PyPI836
Permissive license MIT Active released

What it is and what it does

Frictionless is a data management framework that treats tabular data validation and transformation as a first-class concern. It lets you infer or define schemas for your data, read from diverse sources (CSV, XLS, JSON, SQL, HTTP, FTP, S3), validate against those schemas with detailed error reporting, and apply transformations via a pipeline interface. The framework is built on the Frictionless Standards and emphasizes low memory consumption even for large datasets.

You typically use it when you need to ensure data quality before processing—describing metadata, catching structural problems (missing cells, duplicate headers, blank rows), and extracting clean data into a unified tabular format. It provides both a Python API and a command-line interface, making it suitable for scripted data pipelines, ETL workflows, and data quality checks in larger systems.

Use it for:

  • Validate CSV or tabular files for structural errors and schema compliance before loading into a database
  • Infer and document metadata schemas for datasets to establish data quality baselines
  • Extract and normalize data from mixed sources (CSV, JSON, SQL, cloud storage) into a consistent format
  • Build automated data quality checks into ETL pipelines with detailed validation reports
  • Transform and clean tabular datasets using the pipeline interface before downstream processing

Worth the install?

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

Frictionless provides a unified Python framework to describe, extract, validate, and transform tabular data across multiple file formats and sources, with built-in schema support and comprehensive validation reporting.

Yes. Frictionless is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and solves a real problem—validating and transforming tabular data at scale. Its low install friction and broad format support make it a practical choice for data pipelines. Install it if you work with CSV, JSON, SQL, or other tabular data and need reliable validation and extraction.

Install

frictionless on PyPI

pip

pip install frictionless

uv

uv add frictionless

poetry

poetry add frictionless

Installing frictionless

Before you install

Low friction installation with a pure-Python wheel distribution. The package maintains active development (last commit 2026-07-28) and is classified as Production/Stable. Its 19 runtime dependencies are all widely-used, established libraries.

License in practice

MIT license (permissive) means you can use this in commercial and proprietary projects with minimal restrictions, provided you include the license notice.

Quickstart

pip install frictionless

from frictionless import validate

report = validate('data.csv')
print(report)

Verify before relying

  • Whether the framework's performance on 'big data' meets your specific throughput or latency requirements
  • Which SQL databases and cloud storage services are supported beyond the mentioned HTTP, FTP, and S3
  • Whether custom checks and formats require significant boilerplate or are straightforward to implement

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 19 — attrs, chardet, humanize, isodate, jinja2, jsonschema, marko, petl, pydantic, python-dateutil, python-slugify, pyyaml, requests, rfc3986, simpleeval, tabulate, typer, typing-extensions, validators
Maintenance actively maintained — 123 days since the last release
Last repo commit
First released
Downloads 1,127,128/month — #4,324 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: frictionless-5.19.0-py3-none-any.whl

Keywords: data package, data validation, frictionless data, json schema, json table schema, open data, tabular data package

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

Tags

tabular data validationdata quality frameworkcsv validation and transformationdata schema managementextract validate transform datafrictionless data standardsdata metadata and extraction
data-validationetl-pipelinetabular-data

More Python Modules packages