Data management framework for Python that provides functionality to describe, extract, validate, and transform tabular data
Project Links
Meta
Author: Open Knowledge Foundation
Requires Python: >=3.8
Classifiers
Development Status
- 5 - Production/Stable
Environment
- Console
Intended Audience
- Developers
License
- OSI Approved :: MIT License
Operating System
- OS Independent
Programming Language
- Python :: 3
- Python :: 3.8
- Python :: 3.9
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
Topic
- Software Development :: Libraries :: Python Modules
frictionless-py
Migrating from an older version? Please read **[v5](blog/2022/08-22-frictionless-framework-v5.html)** announcement and migration guide.
Data management framework for Python that provides functionality to describe, extract, validate, and transform tabular data (DEVT Framework). It supports a great deal of data sources and formats, as well as provides popular platforms integrations. The framework is powered by the lightweight yet comprehensive Frictionless Standards.
Purpose
- Describe your data: You can infer, edit and save metadata of your data tables. It's a first step for ensuring data quality and usability. Frictionless metadata includes general information about your data like textual description, as well as, field types and other tabular data details.
- Extract your data: You can read your data using a unified tabular interface. Data quality and consistency are guaranteed by a schema. Frictionless supports various file schemes like HTTP, FTP, and S3 and data formats like CSV, XLS, JSON, SQL, and others.
- Validate your data: You can validate data tables, resources, and datasets. Frictionless generates a unified validation report, as well as supports a lot of options to customize the validation process.
- Transform your data: You can clean, reshape, and transfer your data tables and datasets. Frictionless provides a pipeline capability and a lower-level interface to work with the data.
Features
- Open Source (MIT)
- Powerful Python framework
- Convenient command-line interface
- Low memory consumption for data of any size
- Reasonable performance on big data
- Support for compressed files
- Custom checks and formats
- Fully pluggable architecture
- More than 1000+ tests
Installation
$ pip install frictionless
Example
$ frictionless validate data/invalid.csv
[invalid] data/invalid.csv
row field code message
----- ------- ---------------- --------------------------------------------
3 blank-header Header in field at position "3" is blank
4 duplicate-header Header "name" in field "4" is duplicated
2 3 missing-cell Row "2" has a missing cell in field "field3"
2 4 missing-cell Row "2" has a missing cell in field "name2"
3 3 missing-cell Row "3" has a missing cell in field "field3"
3 4 missing-cell Row "3" has a missing cell in field "name2"
4 blank-row Row "4" is completely blank
5 5 extra-cell Row "5" has an extra value in field "5"
Documentation
Please visit our documentation portal:
5.18.1
Mar 25, 2025
5.18.0
Sep 28, 2024
5.17.1
Aug 30, 2024
5.17.0
Apr 29, 2024
5.16.1
Jan 24, 2024
5.16.0
Oct 02, 2023
5.15.12
Oct 02, 2023
5.15.11
Oct 02, 2023
5.15.10
Jul 21, 2023
5.15.9
Jul 18, 2023
5.15.8
Jul 18, 2023
5.15.7
Jul 18, 2023
5.15.6
Jul 18, 2023
5.15.5
Jul 17, 2023
5.15.4
Jul 16, 2023
5.15.3
Jul 16, 2023
5.15.2
Jul 15, 2023
5.15.1
Jul 13, 2023
5.15.0
Jul 11, 2023
5.14.5
Jul 03, 2023
5.14.4
Jul 03, 2023
5.14.3
Jul 03, 2023
5.14.2
Jul 01, 2023
5.14.1
Jul 01, 2023
5.14.0
Jul 01, 2023
5.13.1
May 03, 2023
5.12.1
Apr 24, 2023
5.12.0
Apr 18, 2023
5.11.1
Apr 13, 2023
5.11.0
Apr 13, 2023
5.10.5
Apr 07, 2023
5.10.4
Apr 05, 2023
5.10.3
Mar 29, 2023
5.10.2
Mar 28, 2023
5.10.1
Mar 20, 2023
5.10.0
Mar 15, 2023
5.8.3
Mar 07, 2023
5.8.2
Mar 07, 2023
5.8.1
Mar 01, 2023
5.8.0
Mar 01, 2023
5.7.2
Feb 28, 2023
5.7.1
Feb 27, 2023
5.7.0
Feb 27, 2023
5.6.3
Feb 21, 2023
5.6.2
Feb 18, 2023
5.6.1
Feb 18, 2023
5.6.0
Feb 17, 2023
5.5.10
Feb 16, 2023
5.5.9
Feb 15, 2023
5.5.8
Feb 15, 2023
5.5.7
Feb 15, 2023
5.5.6
Feb 10, 2023
5.5.5
Feb 06, 2023
5.5.4
Feb 06, 2023
5.5.3
Feb 03, 2023
5.5.2
Feb 01, 2023
5.5.1
Jan 23, 2023
5.5.0
Jan 20, 2023
5.4.0
Jan 17, 2023
5.3.0
Jan 12, 2023
5.2.3
Jan 12, 2023
5.2.2
Jan 11, 2023
5.1.2
Jan 11, 2023
5.1.1
Jan 11, 2023
5.1.0
Jan 11, 2023
5.0.4
Jan 10, 2023
5.0.3
Jan 10, 2023
5.0.0b23
Jan 03, 2023
5.0.0b22
Dec 06, 2022
5.0.0b21
Dec 01, 2022
5.0.0b18
Nov 24, 2022
5.0.0b17
Nov 24, 2022
5.0.0b16
Nov 24, 2022
5.0.0b15
Nov 23, 2022
5.0.0b14
Nov 19, 2022
5.0.0b13
Nov 18, 2022
5.0.0b12
Nov 09, 2022
5.0.0b10
Oct 27, 2022
5.0.0b9
Sep 13, 2022
5.0.0b8
Sep 12, 2022
5.0.0b7
Aug 26, 2022
5.0.0b6
Aug 26, 2022
5.0.0b5
Aug 26, 2022
5.0.0b4
Aug 26, 2022
5.0.0b2
Aug 25, 2022
5.0.0b1
Aug 24, 2022
4.40.11
Feb 17, 2023
4.40.9
Jan 23, 2023
4.40.8
Aug 25, 2022
4.40.7
Aug 22, 2022
4.40.6
Aug 12, 2022
4.40.5
Jul 18, 2022
4.40.4
Jul 18, 2022
4.40.3
Jun 21, 2022
4.40.2
Jun 21, 2022
4.40.1
Jun 21, 2022
4.40.0
Jun 20, 2022
4.39.0
Jun 20, 2022
4.38.0
May 17, 2022
4.37.0
May 14, 2022
4.36.0
May 14, 2022
4.35.0
May 14, 2022
4.34.0
May 11, 2022
4.33.0
May 11, 2022
4.32.1
May 10, 2022
4.32.0
May 03, 2022
4.31.0
Apr 27, 2022
4.29.0
Apr 15, 2022
4.28.3
Apr 11, 2022
4.28.2
Apr 01, 2022
4.28.1
Mar 30, 2022
4.28.0
Mar 28, 2022
4.27.0
Mar 28, 2022
4.26.2
Mar 28, 2022
4.26.1
Mar 21, 2022
4.26.0
Feb 21, 2022
4.25.1
Feb 04, 2022
4.25.0
Feb 03, 2022
4.24.0
Jan 25, 2022
4.23.2
Jan 18, 2022
4.23.1
Jan 17, 2022
4.23.0
Dec 22, 2021
4.22.3
Dec 08, 2021
4.22.2
Dec 07, 2021
4.22.1
Nov 25, 2021
4.22.0
Nov 16, 2021
4.21.2
Nov 16, 2021
4.21.1
Nov 16, 2021
4.21.0
Nov 16, 2021
4.20.2
Nov 08, 2021
4.20.1
Nov 08, 2021
4.19.6
Nov 02, 2021
4.19.5
Oct 16, 2021
4.19.4
Oct 16, 2021
4.19.3
Oct 16, 2021
4.19.2
Oct 15, 2021
4.19.1
Oct 15, 2021
4.18.2
Oct 04, 2021
4.18.1
Sep 27, 2021
4.18.0
Sep 27, 2021
4.17.5
Sep 26, 2021
4.17.3
Sep 25, 2021
4.17.1
Sep 23, 2021
4.17.0
Sep 23, 2021
4.16.8
Sep 20, 2021
4.16.6
Aug 30, 2021
4.16.3
Aug 27, 2021
4.16.2
Aug 05, 2021
4.16.1
Aug 05, 2021
4.16.0
Aug 05, 2021
4.15.0
Aug 05, 2021
4.14.2
Jul 30, 2021
4.14.1
Jul 30, 2021
4.14.0
Jul 16, 2021
4.13.0
Jul 16, 2021
4.12.9
Jul 14, 2021
4.12.7
Jul 14, 2021
4.12.6
Jul 14, 2021
4.12.5
Jul 09, 2021
4.12.4
Jun 25, 2021
4.12.3
Jun 25, 2021
4.12.2
Jun 16, 2021
4.12.1
Jun 15, 2021
4.11.0
Jun 04, 2021
4.10.7
May 28, 2021
4.10.6
May 21, 2021
4.10.5
May 20, 2021
4.10.4
May 19, 2021
4.10.3
May 19, 2021
4.10.2
May 19, 2021
4.10.1
May 19, 2021
4.10.0
May 04, 2021
4.9.5
May 04, 2021
4.9.4
May 04, 2021
4.9.3
May 04, 2021
4.9.2
Apr 28, 2021
4.9.1
Apr 28, 2021
4.9.0
Apr 28, 2021
4.8.1
Apr 24, 2021
4.8.0
Apr 23, 2021
4.7.5
Apr 23, 2021
4.7.4
Apr 22, 2021
4.7.2
Apr 22, 2021
4.7.1
Apr 14, 2021
4.7.0
Apr 14, 2021
4.6.1
Apr 14, 2021
4.6.0
Apr 07, 2021
4.5.2
Apr 07, 2021
4.5.1
Apr 06, 2021
4.5.0
Apr 06, 2021
4.4.0
Apr 05, 2021
4.3.2
Apr 03, 2021
4.3.0
Mar 26, 2021
4.2.2
Mar 26, 2021
4.2.1
Mar 23, 2021
4.2.0
Mar 23, 2021
4.1.0
Mar 09, 2021
4.0.13
Mar 09, 2021
4.0.12
Mar 03, 2021
4.0.11
Mar 02, 2021
4.0.10
Mar 01, 2021
4.0.9
Mar 01, 2021
4.0.8
Mar 01, 2021
4.0.7
Mar 01, 2021
4.0.6
Mar 01, 2021
4.0.5
Feb 26, 2021
4.0.4
Feb 25, 2021
4.0.3
Feb 15, 2021
4.0.2
Feb 11, 2021
4.0.1
Feb 10, 2021
4.0.0
Feb 10, 2021
4.0.0a17
Feb 10, 2021
4.0.0a16
Feb 08, 2021
4.0.0a15
Feb 08, 2021
4.0.0a14
Feb 04, 2021
4.0.0a13
Feb 03, 2021
4.0.0a12
Feb 02, 2021
4.0.0a11
Feb 02, 2021
4.0.0a10
Jan 27, 2021
4.0.0a9
Jan 26, 2021
4.0.0a8
Jan 21, 2021
4.0.0a7
Jan 18, 2021
4.0.0a6
Jan 12, 2021
4.0.0a5
Jan 12, 2021
4.0.0a4
Jan 12, 2021
4.0.0a3
Jan 12, 2021
4.0.0a2
Jan 11, 2021
4.0.0a1
Jan 07, 2021
3.48.0
Dec 25, 2020
3.47.3
Dec 21, 2020
3.47.2
Dec 21, 2020
3.47.1
Dec 21, 2020
3.47.0
Dec 20, 2020
3.46.0
Dec 13, 2020
3.45.5
Dec 07, 2020
3.45.4
Dec 07, 2020
3.45.1
Dec 07, 2020
3.45.0
Dec 06, 2020
3.44.0
Dec 06, 2020
3.43.0
Dec 05, 2020
3.42.0
Dec 05, 2020
3.41.0
Dec 05, 2020
3.39.0
Dec 03, 2020
3.38.2
Dec 02, 2020
3.38.1
Dec 01, 2020
3.37.0
Nov 30, 2020
3.36.0
Nov 29, 2020
3.35.0
Nov 28, 2020
3.34.4
Nov 27, 2020
3.34.3
Nov 26, 2020
3.34.2
Nov 25, 2020
3.34.0
Nov 24, 2020
3.33.3
Nov 23, 2020
3.33.1
Nov 20, 2020
3.31.0
Nov 18, 2020
3.30.0
Nov 18, 2020
3.29.0
Nov 16, 2020
3.27.3
Nov 11, 2020
3.27.2
Nov 10, 2020
3.27.1
Nov 10, 2020
3.27.0
Nov 09, 2020
3.26.0
Nov 09, 2020
3.25.2
Nov 09, 2020
3.25.1
Nov 03, 2020
3.24.1
Nov 02, 2020
3.24.0
Nov 02, 2020
3.23.6
Nov 02, 2020
3.23.4
Oct 19, 2020
3.23.3
Oct 14, 2020
3.23.2
Oct 14, 2020
3.23.1
Oct 14, 2020
3.23.0
Oct 14, 2020
3.22.1
Oct 14, 2020
3.22.0
Oct 14, 2020
3.21.0
Oct 13, 2020
3.20.0
Oct 08, 2020
3.19.2
Oct 07, 2020
3.19.1
Oct 07, 2020
3.19.0
Oct 07, 2020
3.18.1
Oct 07, 2020
3.18.0
Oct 07, 2020
3.17.0
Oct 06, 2020
3.16.0
Oct 05, 2020
3.15.0
Oct 03, 2020
3.14.0
Oct 01, 2020
3.13.0
Sep 29, 2020
3.12.0
Sep 28, 2020
3.11.1
Sep 26, 2020
3.11.0
Sep 23, 2020
3.10.0
Sep 22, 2020
3.9.1
Sep 21, 2020
0.8.0
Sep 19, 2020
0.7.2
Sep 13, 2020
0.7.1
Sep 10, 2020
0.6.1
Aug 18, 2020
0.6.0
Aug 13, 2020
0.5.1
Aug 09, 2020
0.5.0
Aug 05, 2020
0.4.5
Aug 04, 2020
0.4.4
Jul 29, 2020
0.4.3
Jul 24, 2020
0.4.2
Jul 23, 2020
0.4.1
Jul 21, 2020
0.4.0
Jul 21, 2020
0.3.0
Jul 18, 2020
Wheel compatibility matrix
Files in release
Extras:
Dependencies:
attrs
(>=22.2.0)
chardet
(>=3.0)
humanize
(>=4.2)
isodate
(>=0.6)
jinja2
(>=3.0)
jsonschema
(>=4.20)
marko
(>=1.0)
petl
(>=1.6)
pydantic
(>=2.0)
python-dateutil
(>=2.8)
python-slugify
(>=1.2)
pyyaml
(>=5.3)
requests
(>=2.10)
rfc3986
(>=1.4)
simpleeval
(>=0.9.11)
tabulate
(>=0.8.10)
typer
(>=0.12)
typing-extensions
(>=4.3)
validators
(>=0.18)