| Name | difflicious JSON |
| Version |
0.9.2
JSON |
| download |
| home_page | None |
| Summary | A sleek web-based git diff visualization tool for developers |
| upload_time | 2025-11-03 19:11:01 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.9 |
| license | MIT |
| keywords |
development
diff
git
visualization
web
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# Difflicious
A sleek web-based git diff visualization tool used when working locally on branches. Difflicious provides a lightweight local web application that transforms git diffs into an intuitive, interactive experience.
## What is Difflicious?
Difflicious is a developer-focused tool that runs locally and provides a beautiful interface for viewing git changes. Instead of squinting at terminal output, you get a clean, searchable, and toggleable view of your work-in-progress changes.
Perfect for:
- Reviewing changes before committing
- Understanding complex diffs across multiple files
- Quickly navigating through modifications in your current branch
- Getting a bird's-eye view of your development progress
## Features
- **Side-by-Side Diff Visualization**: Professional-grade side-by-side view with accurate line numbering
- **Syntax Highlighting**: Beautiful code highlighting for 30+ programming languages using Highlight.js
- **Intelligent Diff Parsing**: Advanced git diff parser with proper alignment of additions and deletions
- **Smart UI Controls**: Expand/collapse all buttons with intelligent disabled states
- **Interactive Interface**: Toggle visibility, search through changes, and filter content
- **Clean File Paths**: Automatic removal of git diff artifacts (a/, b/ prefixes)
- **Secure Git Integration**: Safe git command execution with subprocess sanitization
- **Real-time Status**: Live git repository status and branch information
- **Modern UI**: Clean Tailwind CSS design with responsive layout
- **Lightweight**: Minimal infrastructure using Flask backend and Alpine.js frontend
- **Developer-Friendly**: Designed by developers, for developers
## Installation & Quick Start
### Option 1: Install from PyPI (Recommended)
```bash
# Install via pip
pip install difflicious
# Run the application
difflicious
# Open your browser to localhost:5000
```
### Option 2: Docker (Containerized)
```bash
# Pull and run the Docker image
docker run -p 5000:5000 -v $(pwd):/workspace difflicious/difflicious
# Open your browser to localhost:5000
```
### Option 3: From Source (Development)
```bash
# Clone the repository
git clone https://github.com/insipid/difflicious.git
cd difflicious
# Install uv if not already installed
xoxo
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment and install dependencies
uv sync
# Run the application
uv run difflicious
```
## Font Customization
Difflicious supports beautiful programming fonts via Google Fonts CDN integration. You can customize the font used for code and diff content.
### Available Fonts
- **JetBrains Mono** (default) - Designed specifically for developers
- **Fira Code** - Popular programming font with ligatures
- **Source Code Pro** - Adobe's professional programming font
- **IBM Plex Mono** - Modern, clean monospace design
- **Roboto Mono** - Google's versatile monospace font
- **Inconsolata** - Humanist monospace font
### Font Configuration
Set the `DIFFLICIOUS_FONT` environment variable to choose your preferred font:
```bash
# Use Fira Code
export DIFFLICIOUS_FONT=fira-code
difflicious
# Use Source Code Pro
export DIFFLICIOUS_FONT=source-code-pro
difflicious
# List all available fonts
difflicious --list-fonts
```
### Available Font Keys
- `jetbrains-mono` - JetBrains Mono (default)
- `fira-code` - Fira Code
- `source-code-pro` - Source Code Pro
- `ibm-plex-mono` - IBM Plex Mono
- `roboto-mono` - Roboto Mono
- `inconsolata` - Inconsolata
### Disable Google Fonts
If you prefer to use system fonts only (no external CDN requests):
```bash
export DIFFLICIOUS_DISABLE_GOOGLE_FONTS=true
difflicious
```
This will fall back to system monospace fonts like SF Mono, Cascadia Code, Monaco, and Consolas.
## Technology Stack
- **Backend**: Python Flask for minimal setup and excellent git integration
- **Frontend**: Alpine.js + vanilla CSS for lightweight, declarative UI
- **Real-time**: Server-Sent Events for live git status updates
- **Security**: Proper subprocess sanitization for safe git command execution
- **Distribution**: Modern Python packaging (PyPI) and Docker containers
- **Development**: uv for fast Python package management and virtual environments
## Development Status
✅ **Production-ready diff visualization** - Advanced side-by-side interface implemented!
### Completed ✅
- Modern Python project structure with pyproject.toml and uv
- Flask backend with comprehensive API endpoints
- Advanced git diff parser with side-by-side structure
- Professional side-by-side diff visualization interface
- Secure git command execution wrapper with subprocess sanitization
- Interactive Alpine.js frontend with Tailwind CSS styling
- Comprehensive test suite (28 tests, 73% coverage)
- Real git integration (status, diff, branch detection, parsing)
### Coming Soon 🚧
- Docker containerization with uv
- PyPI package publishing
- Enhanced syntax highlighting for code content
- Advanced search and filtering capabilities
- Keyboard shortcuts and accessibility features
- Server-Sent Events for real-time updates
## Contributing
This project is in early development. More contribution guidelines will be available as the core functionality is completed.
## License
MIT License - see LICENSE file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "difflicious",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "development, diff, git, visualization, web",
"author": null,
"author_email": "Drew <noreply@example.com>",
"download_url": "https://files.pythonhosted.org/packages/82/cf/04c126a7273ee1cbadcbcf9b5b54c5544ce16eed0c252d5a6f9aec1339df/difflicious-0.9.2.tar.gz",
"platform": null,
"description": "# Difflicious\n\nA sleek web-based git diff visualization tool used when working locally on branches. Difflicious provides a lightweight local web application that transforms git diffs into an intuitive, interactive experience.\n\n## What is Difflicious?\n\nDifflicious is a developer-focused tool that runs locally and provides a beautiful interface for viewing git changes. Instead of squinting at terminal output, you get a clean, searchable, and toggleable view of your work-in-progress changes.\n\nPerfect for:\n- Reviewing changes before committing\n- Understanding complex diffs across multiple files\n- Quickly navigating through modifications in your current branch\n- Getting a bird's-eye view of your development progress\n\n## Features\n\n- **Side-by-Side Diff Visualization**: Professional-grade side-by-side view with accurate line numbering\n- **Syntax Highlighting**: Beautiful code highlighting for 30+ programming languages using Highlight.js\n- **Intelligent Diff Parsing**: Advanced git diff parser with proper alignment of additions and deletions\n- **Smart UI Controls**: Expand/collapse all buttons with intelligent disabled states\n- **Interactive Interface**: Toggle visibility, search through changes, and filter content\n- **Clean File Paths**: Automatic removal of git diff artifacts (a/, b/ prefixes)\n- **Secure Git Integration**: Safe git command execution with subprocess sanitization\n- **Real-time Status**: Live git repository status and branch information\n- **Modern UI**: Clean Tailwind CSS design with responsive layout\n- **Lightweight**: Minimal infrastructure using Flask backend and Alpine.js frontend\n- **Developer-Friendly**: Designed by developers, for developers\n\n## Installation & Quick Start\n\n### Option 1: Install from PyPI (Recommended)\n```bash\n# Install via pip\npip install difflicious\n\n# Run the application\ndifflicious\n\n# Open your browser to localhost:5000\n```\n\n### Option 2: Docker (Containerized)\n```bash\n# Pull and run the Docker image\ndocker run -p 5000:5000 -v $(pwd):/workspace difflicious/difflicious\n\n# Open your browser to localhost:5000\n```\n\n### Option 3: From Source (Development)\n```bash\n# Clone the repository\ngit clone https://github.com/insipid/difflicious.git\ncd difflicious\n\n# Install uv if not already installed\nxoxo\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Create virtual environment and install dependencies\nuv sync\n\n# Run the application\nuv run difflicious\n```\n\n## Font Customization\n\nDifflicious supports beautiful programming fonts via Google Fonts CDN integration. You can customize the font used for code and diff content.\n\n### Available Fonts\n\n- **JetBrains Mono** (default) - Designed specifically for developers\n- **Fira Code** - Popular programming font with ligatures\n- **Source Code Pro** - Adobe's professional programming font\n- **IBM Plex Mono** - Modern, clean monospace design\n- **Roboto Mono** - Google's versatile monospace font\n- **Inconsolata** - Humanist monospace font\n\n### Font Configuration\n\nSet the `DIFFLICIOUS_FONT` environment variable to choose your preferred font:\n\n```bash\n# Use Fira Code\nexport DIFFLICIOUS_FONT=fira-code\ndifflicious\n\n# Use Source Code Pro\nexport DIFFLICIOUS_FONT=source-code-pro\ndifflicious\n\n# List all available fonts\ndifflicious --list-fonts\n```\n\n### Available Font Keys\n\n- `jetbrains-mono` - JetBrains Mono (default)\n- `fira-code` - Fira Code\n- `source-code-pro` - Source Code Pro \n- `ibm-plex-mono` - IBM Plex Mono\n- `roboto-mono` - Roboto Mono\n- `inconsolata` - Inconsolata\n\n### Disable Google Fonts\n\nIf you prefer to use system fonts only (no external CDN requests):\n\n```bash\nexport DIFFLICIOUS_DISABLE_GOOGLE_FONTS=true\ndifflicious\n```\n\nThis will fall back to system monospace fonts like SF Mono, Cascadia Code, Monaco, and Consolas.\n\n## Technology Stack\n\n- **Backend**: Python Flask for minimal setup and excellent git integration\n- **Frontend**: Alpine.js + vanilla CSS for lightweight, declarative UI\n- **Real-time**: Server-Sent Events for live git status updates\n- **Security**: Proper subprocess sanitization for safe git command execution\n- **Distribution**: Modern Python packaging (PyPI) and Docker containers\n- **Development**: uv for fast Python package management and virtual environments\n\n## Development Status\n\n\u2705 **Production-ready diff visualization** - Advanced side-by-side interface implemented!\n\n### Completed \u2705\n- Modern Python project structure with pyproject.toml and uv\n- Flask backend with comprehensive API endpoints\n- Advanced git diff parser with side-by-side structure\n- Professional side-by-side diff visualization interface\n- Secure git command execution wrapper with subprocess sanitization\n- Interactive Alpine.js frontend with Tailwind CSS styling\n- Comprehensive test suite (28 tests, 73% coverage)\n- Real git integration (status, diff, branch detection, parsing)\n\n### Coming Soon \ud83d\udea7\n- Docker containerization with uv\n- PyPI package publishing\n- Enhanced syntax highlighting for code content\n- Advanced search and filtering capabilities\n- Keyboard shortcuts and accessibility features\n- Server-Sent Events for real-time updates\n\n## Contributing\n\nThis project is in early development. More contribution guidelines will be available as the core functionality is completed.\n\n## License\n\nMIT License - see LICENSE file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A sleek web-based git diff visualization tool for developers",
"version": "0.9.2",
"project_urls": {
"Homepage": "https://github.com/insipid/difflicious",
"Issues": "https://github.com/insipid/difflicious/issues",
"Repository": "https://github.com/insipid/difflicious"
},
"split_keywords": [
"development",
" diff",
" git",
" visualization",
" web"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ad158c9df6023dfd548af2d82a767e68724f94aeda8744fa1317e457117ff982",
"md5": "22eebaafdc1ff044723ba6480b95512c",
"sha256": "dcc64357b14e2ba3204ca9781abfe0e05c1cb48d0a77ca43b3d26397747c5366"
},
"downloads": -1,
"filename": "difflicious-0.9.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "22eebaafdc1ff044723ba6480b95512c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 77412,
"upload_time": "2025-11-03T19:10:59",
"upload_time_iso_8601": "2025-11-03T19:10:59.951313Z",
"url": "https://files.pythonhosted.org/packages/ad/15/8c9df6023dfd548af2d82a767e68724f94aeda8744fa1317e457117ff982/difflicious-0.9.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "82cf04c126a7273ee1cbadcbcf9b5b54c5544ce16eed0c252d5a6f9aec1339df",
"md5": "ac49d437c662ee9bc440b8f17f0a73dd",
"sha256": "32843929803427f22f237645d371fe470ee69fb55cb1e0b0c5f0c265f3b96cee"
},
"downloads": -1,
"filename": "difflicious-0.9.2.tar.gz",
"has_sig": false,
"md5_digest": "ac49d437c662ee9bc440b8f17f0a73dd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 368187,
"upload_time": "2025-11-03T19:11:01",
"upload_time_iso_8601": "2025-11-03T19:11:01.335989Z",
"url": "https://files.pythonhosted.org/packages/82/cf/04c126a7273ee1cbadcbcf9b5b54c5544ce16eed0c252d5a6f9aec1339df/difflicious-0.9.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-03 19:11:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "insipid",
"github_project": "difflicious",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "difflicious"
}