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.13.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.13.0-py3-none-any.whl (106.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: difflicious-0.13.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.13.0.tar.gz
Algorithm Hash digest
SHA256 6e28e3dc5338a35855ce7588b5c6f8270350ec2060318fd53ab242c56232d9d9
MD5 c61316b27bb1a8898329b9c234d1516a
BLAKE2b-256 78ace2f50ae1678b798af02a07f2c35c5ff682eb0e93cfa29b0147d5e636c842

See more details on using hashes here.

Provenance

The following attestation bundles were made for difflicious-0.13.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.13.0-py3-none-any.whl.

File metadata

  • Download URL: difflicious-0.13.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.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c8962ae9a7712c44835c771dbc4fb7357d3cfd56c6c8bd9f1bfa3bb889d82db
MD5 a03a23e90867628bacb6e76ee827ca88
BLAKE2b-256 cc9fe58eff536ea79f4f063b9d0335fd872c8c3020268bb4914fce0a57ac3992

See more details on using hashes here.

Provenance

The following attestation bundles were made for difflicious-0.13.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