Skip to main content

GITUX

PyPI version Python versions License: MIT

A beautiful, minimalist TUI for Git.

GITUX is a terminal user interface for Git that prioritizes design and user experience. It wraps Git commands in a clean, visually appealing interface — so you can work with Git without leaving the terminal, and enjoy doing it.

Why GITUX?

Most Git TUIs are functional but not beautiful. GITUX is built with the belief that developer tools should be both powerful and pleasant to look at.

  • Minimalist — No clutter, no overwhelming menus. Just what you need.
  • Beautiful — Clean colors, thoughtful spacing, modern aesthetics.
  • Fast — Direct subprocess calls to Git, no heavy abstractions.

Features

  • View repository status with color-coded file states
  • Browse commit history with details
  • Stage and commit files with messages
  • View diffs between files
  • Manage branches (create, switch, delete)
  • Merge branches
  • Push to remote
  • Performance metrics (startup time, memory usage)

Installation

Recommended — with pipx or uv (isolated install):

# With pipx
pipx install gitux

# Or with uv
uv tool install gitux

Or with pip:

pip install gitux

Requirements: Python 3.12+ and git installed on your system.

Install from source (for development)
git clone https://github.com/Hector-2710/gitux.git
cd gitux
uv sync --all-extras
uv run gitux

Usage

Inside any Git repository, just run:

gitux

# Show version
gitux --version

Keybindings

Key Action
Tab Next section (Files / Commits / Diff)
/ or j / k Scroll active section
s / Enter Stage / unstage file
a / A Stage all / unstage all files
c Focus commit message
Ctrl+Enter Create commit
Ctrl+p Push to remote
r Refresh status
b Branches panel
? Show help
q Quit GITUX

Stack

Component Technology Purpose
Language Python 3.12+ Core runtime
TUI Textual Terminal interface with CSS styling
CLI Typer Command-line entry point
Git subprocess + git CLI Git operations
Metrics psutil Performance measurement

Development

# Install dev dependencies
uv sync --all-extras

# Run tests
uv run pytest

# Run linter
uv run ruff check .

# Format code
uv run ruff format .

Project Structure

gitux/
├── src/
│   └── gitux/
│       ├── __init__.py
│       ├── __main__.py
│       ├── cli.py              # Typer entry point
│       ├── domain/             # Data models
│       ├── git/                # Git infrastructure
│       ├── presenter/          # Business logic
│       ├── ui/                 # Textual TUI
│       ├── metrics/            # Performance metrics
│       └── utils/              # Config, exceptions
├── tests/
│   ├── unit/
│   ├── integration/
│   └── e2e/
├── docs/
│   ├── context.md
│   ├── container.md
│   └── diagrams/
├── pyproject.toml
└── README.md

License

MIT

Download files

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

Source Distribution

gitux-0.1.0.tar.gz (54.1 kB view details)

Uploaded Source

Built Distribution

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

gitux-0.1.0-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file gitux-0.1.0.tar.gz.

File metadata

  • Download URL: gitux-0.1.0.tar.gz
  • Upload date:
  • Size: 54.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for gitux-0.1.0.tar.gz
Algorithm Hash digest
SHA256 10a2de27b659e039653bcf08348f4421e6d82b0debd554698439e35618ecf388
MD5 c3d64b8c82a1fa470e94fb954b542abd
BLAKE2b-256 8712837619b1987910e738653dbb363c1ba1d8f2900892577d0119f99138ba44

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitux-0.1.0.tar.gz:

Publisher: publish.yml on Hector-2710/gitux

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

File details

Details for the file gitux-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gitux-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for gitux-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea111d5ff1966f327f0b69cf36d417329fef35e0d658a16c59d467f5edbbefde
MD5 e05623115e4137d3043276c57498b5b4
BLAKE2b-256 81811e7312e3502d41c94ef1a7636c8fd6fcfe11594df1fdee7306642cd5db59

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitux-0.1.0-py3-none-any.whl:

Publisher: publish.yml on Hector-2710/gitux

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

Release history Release notifications | RSS feed

0.2.0

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page