Python Diff

Open-source Python projects categorized as Diff

Top 16 Python Diff Projects

  • diff-match-patch

    Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.

  • Project mention: Ideas for approaching pattern matching/distance problem | /r/learnprogramming | 2023-06-29

    I also came across this diff match algorithms: https://github.com/google/diff-match-patch

  • TextDistance

    📐 Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • graphtage

    A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.

  • Project mention: Pijul: Version-Control Post-Git • Goto 2023 | news.ycombinator.com | 2023-08-11

    I'm not familiar with Pijul, and haven't finished watching this presentation, but IME the problems with modern version control tools is that they still rely on comparing lines of plain text, something we've been doing for decades. Merge conflicts are an issue because our tools are agnostic about the actual content they're tracking.

    Instead, the tools should be smarter and work on the level of functions, classes, packages, sentences, paragraphs, or whatever primitive makes sense for the project and file that is being changed. In the case of code bases, they need to be aware of the language and the AST of the program. For binary files, they need to be aware of the file format and its binary structure. This would allow them to show actually meaningful diffs, and minimize the chances of conflicts, and of producing a corrupt file after an automatic merge.

    There has been some research in this area, and there are a few semantic diffing tools[1,2,3], but I'm not aware of this being widely used in any VCS.

    Nowadays, with all the machine learning advances, the ideal VCS should also use ML to understand the change at a deeper level, and maybe even suggest improvements. If AI can write code for me, it could surely understand what I'm trying to do, and help me so that version control is entirely hands-free, instead of having to fight with it, and be constantly aware of it, as I have to do now.

    I just finished watching the presentation, and Pijul seems like an iterative improvement over Git. Nothing jumped out at me like a killer feature that would make me want to give it a try. It might be because the author focuses too much on technical details, instead of taking a step back and rethinking what a modern VCS tool should look like today.

    [1]: https://semanticdiff.com/

    [2]: https://github.com/trailofbits/graphtage

    [3]: https://github.com/GumTreeDiff/gumtree

  • git-cola

    git-cola: The highly caffeinated Git GUI

  • Project mention: Ask HN: Can we do better than Git for version control? | news.ycombinator.com | 2023-12-10

    > Visual Studio does a decent job of abstracting the GIT nuances, but I personally use GIT Extensions, which looks and feels much better on Windows than the other cross platform UIs.

    IDEs and text editors sometimes have nice Git integrations in the UI, but I wanted standalone software that I can use for anything from various programming projects, to something like gamedev projects (with Git LFS) or arbitrary documents.

    In the end, I just forked over some money for GitKraken, it's pretty good, especially with multiple accounts on the same platforms, when you want to switch between them easily: https://www.gitkraken.com/

    There's also Sourcetree which I used before then, kind of sluggish but feature complete: https://www.sourcetreeapp.com/

    For something more lightweight, I also enjoyed Git Cola on various OSes: https://git-cola.github.io/ Even Git documentation has a page on the software out there, a good deal of which is free and has good platform support: https://git-scm.com/downloads/guis

    Quite frankly, I spend like 90% of the time using a GUI interface nowadays, when I want to easily merge things, or include very specific code blocks across multiple files in a commit, or handle most of the other common operations. Of course, sometimes there's a need to drop down to the CLI, but you're right that some GUI software feels like it actually improves the usability here.

  • deepdiff

    DeepDiff: Deep Difference and search of any Python object/data. DeepHash: Hash of any object based on its contents. Delta: Use deltas to reconstruct objects by adding deltas together. (by seperman)

  • dunk

    Prettier git diffs in the terminal 🎨

  • Project mention: Wilfred/difftastic: a structural diff that understands syntax | news.ycombinator.com | 2023-06-23

    Here’s another one. Output is a little more colorful and resembles GitHub.

    https://github.com/darrenburns/dunk

  • jsondiff

    Diff JSON and JSON-like structures in Python (by xlwings)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • pytest-clarity

    A plugin to improve the output of pytest with colourful unified diffs

  • csv-diff

    Python CLI tool and library for diffing CSV and JSON files

  • webdiff

    Two-column web-based git difftool

  • geodiff

    Library for handling diffs for geospatial data

  • mdiff

    Package for finding difference between two input sequences with ability to detect sequence elements displacements.

  • DMFO

    Diff and Merge for Office

  • pandas_diff

    Python utility to extract differences between two pandas dataframes.

  • diff-logs

    Command-line utility for diff'ing all kinds of logs.

  • Project mention: Toolong: Terminal application to view, tail, merge, and search log files | news.ycombinator.com | 2024-02-09
  • vimtabdiff

    Show diff of files from two directories in vim tabs

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Python Diff related posts

Index

What are some of the best open-source Diff projects in Python? This list will help you:

Project Stars
1 diff-match-patch 7,102
2 TextDistance 3,300
3 graphtage 2,317
4 git-cola 2,185
5 deepdiff 1,896
6 dunk 682
7 jsondiff 648
8 pytest-clarity 404
9 csv-diff 273
10 webdiff 257
11 geodiff 142
12 mdiff 31
13 DMFO 15
14 pandas_diff 11
15 diff-logs 8
16 vimtabdiff 4

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com