Skip to content

Announcing Data Package v2 Support in Frictionless R and Python Libraries

Publicado em: Announcing Data Package v2 Support in Frictionless R and Python Libraries

We are excited to share a major milestone in the evolution of the Frictionless Data ecosystem: the Data Package v2 specification is now available across both the R (frictionless) and Python (frictionless-py) libraries!

This work was made possible through generous funding from the NLnet Foundation via the Frictionless libraries project to fund and support the work of the Open Knowledge Foundation (OKFN).

A collaborative step forward for Open Data Standards

The Data Package standard provides a lightweight, human- and machine-readable specification for describing tabular datasets and metadata. As Data Package v2 evolved, the maintainers of the R and Python libraries partnered to align their technical approaches, ensuring cross-language harmonisation, robust version detection, and clear backwards-compatibility strategies for existing v1 users.

What is new in Frictionless for R (frictionless v2.0.1)

Maintained by Peter Desmet, Sanne Govaert, Pieter Huybrechts, and Damiano Oldoni at the Research Institute for Nature and Forest (INBO), the R implementation has undergone a comprehensive upgrade:

  • Full read, edit, and write Support: Read and write Data Packages matching the v2 specification directly via read_package(), read_resource(), and write_package().
  • Explicit upgrade path: A new upgrade_package() function allows developers to explicitly upgrade Data Packages, resources, and schemas from v1 to v2.
  • v2 by default for new artifacts: Functions like create_package(), create_schema(), and add_resource() now default to v2 JSON Schema profile definitions.
  • Comprehensive Quality Assurance: Verified by 661 unit tests achieving 100% code coverage across macOS, Windows, and Ubuntu operating systems and 6 active/supported R versions.
  • Release Timeline: Version 2.0.1 was officially released on October 29, 2026.

You can find the documentation and release notes on GitHub.

What is new in Frictionless for Python (frictionless-py v5.21.0)

Led by Pierre Camilleri and Quentin Bonnemaison at multi.coop, the reference Python implementation has been significantly refactored to deliver seamless Data Package v2 processing:

  • v2 reading, writing, and validation: frictionless-py now reads, writes and validates Data Package v2 descriptors. The version is inferred from the descriptor. When the version cannot be precisely inferred (when using custom profiles), a lenient behaviour makes it possible to accept both v1 and v2 syntaxes and features.
  • Improve codebase foundations: documentation, tests and implementation of key architectural elements: shared context between parent/child classes at validation time, idempotence of reading and writing Metadata with the introduction of a canonical descriptor form.
  • Security & stability hardening: In addition to legacy refactoring, the update resolves two key security vulnerabilities (CVE-2026-93349 and GHSA-cp44-qg66-m7g6) and expands test coverage to 2,334 unit tests with full support for Python 3.14.
  • Python 3.14 support: All delivered functionality is tested across all supported Python versions (added support for Python 3.14) and operating systems, with a very comprehensive test suite of 2334 unit tests. The refactorings fixed numerous pre-existing bugs.

You can find all the documentation and release notes on GitHub.

Looking ahead

Both packages maintain strong support for existing v1 workflows while unlocking the enhanced capabilities, clean profile schemas, and modernised semantics of Data Package v2. You can explore the updated codebase and install pre-release or current versions directly from GitHub and package registries.

We once again thank all the maintainers, the broader Frictionless Data community and NLnet for their support of this work!

Funding

This project was funded through NGI0 Entrust, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet program. Learn more at the NLnet project page.

Fonte: Announcing Data Package v2 Support in Frictionless R and Python Libraries
Feed: Open Knowledge Blog
Url: blog.okfn.org
Back To Top