diffview


Namediffview JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2025-01-01 20:21:18
maintainerNone
docs_urlNone
authorvirgilsisoe
requires_python<3.11,>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # File Diff Viewer

A simple file diff viewer built with PySide2 to do one job: compare the contents of two text files side by side.

![image](/screenshot.png)

## What It Does

- Load two files and view them side by side with sync scrolling.
- Highlights differences to make changes easy to spot.

## Install

You can install it using `pip install diffview` (requires Python 3.10) or by copying `diffview/diffview.py` into your source code, which is compatible with Python versions 3.7 and above.

## How to Use

```python
import os
from diffview import DiffViewer

# Create the diff viewer widget
diff_viewer = DiffViewer()

# Load some files into the sidebar for the user to select
diff_viewer.load_files(os.listdir())

# Show the widget
diff_viewer.show()
```

Or you can load buffers directly

```python
diff_viewer.load_a_view(title='File A', content='abc')
diff_viewer.load_b_view(title='File B', content='abcd')
```

> **Note:** You can also load files through the UI with the built-in file selection buttons.

## Notes

- This works with text files only.
- The diffing logic is basic—line-level differences only. If you need something fancier, you should definitely look elsewhere.

## Roadmap

- [x] Multi view scroll
- [x] File selector with last folder selected memory
- [x] Persisten settings: font options, colors, recent files
- [x] Shortcuts: font size (wheelScroll + ctrl)
- [x] Line wrap option
- [x] Tests
- [ ] Line number?
- [ ] Auto-Reload files?
- [ ] Status for file changes?

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "diffview",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.11,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "virgilsisoe",
    "author_email": "28490646+sisoe24@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/07/b9/012c48f1f656d038895f12b2300bf13e7d92d27d5a044b5e269cf30534a2/diffview-0.1.0.tar.gz",
    "platform": null,
    "description": "# File Diff Viewer\n\nA simple file diff viewer built with PySide2 to do one job: compare the contents of two text files side by side.\n\n![image](/screenshot.png)\n\n## What It Does\n\n- Load two files and view them side by side with sync scrolling.\n- Highlights differences to make changes easy to spot.\n\n## Install\n\nYou can install it using `pip install diffview` (requires Python 3.10) or by copying `diffview/diffview.py` into your source code, which is compatible with Python versions 3.7 and above.\n\n## How to Use\n\n```python\nimport os\nfrom diffview import DiffViewer\n\n# Create the diff viewer widget\ndiff_viewer = DiffViewer()\n\n# Load some files into the sidebar for the user to select\ndiff_viewer.load_files(os.listdir())\n\n# Show the widget\ndiff_viewer.show()\n```\n\nOr you can load buffers directly\n\n```python\ndiff_viewer.load_a_view(title='File A', content='abc')\ndiff_viewer.load_b_view(title='File B', content='abcd')\n```\n\n> **Note:** You can also load files through the UI with the built-in file selection buttons.\n\n## Notes\n\n- This works with text files only.\n- The diffing logic is basic\u2014line-level differences only. If you need something fancier, you should definitely look elsewhere.\n\n## Roadmap\n\n- [x] Multi view scroll\n- [x] File selector with last folder selected memory\n- [x] Persisten settings: font options, colors, recent files\n- [x] Shortcuts: font size (wheelScroll + ctrl)\n- [x] Line wrap option\n- [x] Tests\n- [ ] Line number?\n- [ ] Auto-Reload files?\n- [ ] Status for file changes?\n",
    "bugtrack_url": null,
    "license": null,
    "summary": null,
    "version": "0.1.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0687a18af78b6f129f1e8b0ed7da259756c5625b5e1c4b0c5aea3b9bfec67de4",
                "md5": "3a9daa5b433a5fae11cb35bcb87ec5a0",
                "sha256": "fedfc3b822f8eb0515a550e86d76b702dd2ffa673ca8f4bde994c5059f86d16e"
            },
            "downloads": -1,
            "filename": "diffview-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3a9daa5b433a5fae11cb35bcb87ec5a0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.11,>=3.8",
            "size": 7413,
            "upload_time": "2025-01-01T20:21:16",
            "upload_time_iso_8601": "2025-01-01T20:21:16.495101Z",
            "url": "https://files.pythonhosted.org/packages/06/87/a18af78b6f129f1e8b0ed7da259756c5625b5e1c4b0c5aea3b9bfec67de4/diffview-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "07b9012c48f1f656d038895f12b2300bf13e7d92d27d5a044b5e269cf30534a2",
                "md5": "adca5ee8becfd2d4dc313eb28be078b4",
                "sha256": "28cf19a66a78fb563d5ade2f2b602186f40c802d1486bf99551c3719d32299ad"
            },
            "downloads": -1,
            "filename": "diffview-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "adca5ee8becfd2d4dc313eb28be078b4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.11,>=3.8",
            "size": 6063,
            "upload_time": "2025-01-01T20:21:18",
            "upload_time_iso_8601": "2025-01-01T20:21:18.787306Z",
            "url": "https://files.pythonhosted.org/packages/07/b9/012c48f1f656d038895f12b2300bf13e7d92d27d5a044b5e269cf30534a2/diffview-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-01 20:21:18",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "diffview"
}
        
Elapsed time: 1.40326s