skillfed

daff

Diff and patch tables

daff Permissive license MIT Active 921 v1.4.2 released

Install

daff on PyPI

pip

pip install daff

uv

uv add daff

poetry

poetry add daff

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 466 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: daff-1.4.2-py3-none-any.whl

Keywords: data, diff, patch

Development Status :: 3 - AlphaLicense :: OSI Approved :: MIT LicenseTopic :: Utilities

About daff

from the package's own PyPI description — quoted content, verbatim

NPM version (image) PyPI version (image) PHP version (image) Gem Version (image)

daff: data diff

This is a library for comparing tables, producing a summary of their differences, and using such a summary as a patch file. It is optimized for comparing tables that share a common origin, in other words multiple versions of the "same" table.

For a live demo, see: > https://paulfitz.github.io/daff/

Install the library for your favorite language:

npm install daff -g  # node/javascript
pip install daff     # python
gem install daff     # ruby
composer require paulfitz/daff-php  # php
install.packages('daff') # R wrapper by Edwin de Jonge

Use on the web from a CDN:

<script src="https://cdn.jsdelivr.net/npm/daff@latest/lib/daff.min.js"></script>

Other translations are available here: > https://github.com/paulfitz/daff/releases/tag/v1.3.16

Or use the library to view csv...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

daff compares two tables (CSV, JSON, SQLite, etc.), produces a structured diff showing row and column changes, and can apply those diffs as patches to transform one table into another.

Installation is straightforward with no runtime dependencies. The package is actively maintained with a recent release (2025-05-04) and 921 GitHub stars, indicating stable, community-backed development.

MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for both open-source and commercial projects.

Usage

pip install daff

from daff import TableView, compareTables, CompareFlags, TableDiff

data1 = [['Country', 'Capital'], ['Ireland', 'Dublin']]
data2 = [['Country', 'Capital'], ['Ireland', 'Dublin']]

table1 = TableView(data1)
table2 = TableView(data2)
alignment = compareTables(table1, table2).align()
flags = CompareFlags()
highlighter = TableDiff(alignment, flags)
data_diff = []
table_diff = TableView(data_diff)
highlighter.hilite(table_diff)

Verdict: daff is a mature, actively maintained library for intelligent table diffing and patching across multiple formats. Zero security vulnerabilities, permissive MIT license, and no dependencies make it a low-friction choice for projects needing structured data comparison—though the Alpha classifier suggests API stability may still evolve.

Needs verification

  • Whether Python version support is truly unspecified or if there are undocumented minimum/maximum Python version constraints
  • Performance characteristics and scalability limits for large tables or complex diffs
table diff and patchcsv comparison tooldata diff libraryrow and column changestabular data mergestructured table patchingmulti-format table diffing

Similar packages