Skip to main content

A sleek web-based git diff visualization tool for developers

Project description

Difflicious

PyPI version Python versions License: MIT

A local web application for reviewing git diffs. Run it in your working directory and view your changes in a browser with side-by-side visualization, syntax highlighting, and context expansion.

Screenshots

Light mode Dark mode
Light mode Dark mode

To regenerate: uv run python scripts/screenshot.py Prerequisites: uv add --dev playwright && uv run playwright install chromium

Installation

pip install difflicious
difflicious

Open http://localhost:5000 in your browser.

See INSTALLATION.md for Docker, source installation, and full configuration options.

Features

  • Side-by-side diff view with line numbering
  • Syntax highlighting for 100+ languages (via Pygments)
  • Context expansion to see more surrounding code
  • Search and filter across files
  • Light and dark themes
  • Live auto-reload on file changes (SSE)
  • Font customization via DIFFLICIOUS_FONT environment variable

Configuration

Set environment variables to configure behavior:

Variable Default Description
DIFFLICIOUS_PORT 5000 Port to listen on
DIFFLICIOUS_HOST 127.0.0.1 Host to bind to
DIFFLICIOUS_FONT jetbrains-mono Code font (see --list-fonts)
DIFFLICIOUS_DISABLE_GOOGLE_FONTS false Use system fonts only
DIFFLICIOUS_AUTO_RELOAD true Auto-reload on file changes
DIFFLICIOUS_DEBUG false Verbose debug logging

See INSTALLATION.md for full configuration details.

Technology

  • Backend: Flask, GitPython, Pygments, unidiff
  • Frontend: Alpine.js, Tailwind CSS
  • Real-time: Server-Sent Events

Documentation

Contributing

See CONTRIBUTING.md.

License

MIT License — see LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

difflicious-0.12.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

difflicious-0.12.0-py3-none-any.whl (106.6 kB view details)

Uploaded Python 3

File details

Details for the file difflicious-0.12.0.tar.gz.

File metadata

  • Download URL: difflicious-0.12.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for difflicious-0.12.0.tar.gz
Algorithm Hash digest
SHA256 0db670aaaa2380d3debd64c8de4dd8077035a2ea6494693b629f9751dcfa506a
MD5 82f2fe08bbc719d3e3c62a1a28b1c4d6
BLAKE2b-256 88152ec32f138053fa0c90620e7d62b060127563659c60a385bd8be29c27457c

See more details on using hashes here.

Provenance

The following attestation bundles were made for difflicious-0.12.0.tar.gz:

Publisher: pypi-publish.yml on insipid/difflicious

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file difflicious-0.12.0-py3-none-any.whl.

File metadata

  • Download URL: difflicious-0.12.0-py3-none-any.whl
  • Upload date:
  • Size: 106.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for difflicious-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 17eddbc45e604afa11eda4f120a5452bfb22debe775341c984835e0bae0820d2
MD5 f7b12bf5e7b5023659f997f13f4beb56
BLAKE2b-256 97777e4af36931608b67edb0f45e4fde6d04df095110a988389855ef1da600f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for difflicious-0.12.0-py3-none-any.whl:

Publisher: pypi-publish.yml on insipid/difflicious

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page