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 / 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
l Commit log (overlay)
? 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.2.0.tar.gz (57.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.2.0-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitux-0.2.0.tar.gz
  • Upload date:
  • Size: 57.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.2.0.tar.gz
Algorithm Hash digest
SHA256 a7ed9596e4408663346c430b176e8e2ef1f5343ea7db9a63182302e963365764
MD5 d4ede5c8dd3c6b5fb72ea8ef19f6bb7d
BLAKE2b-256 bfc9f98038d526b19aae655b568bbfd6b1fa63ed051baf960263606194e767dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitux-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: gitux-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.6 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 102a3b5a9cbd18cbcf8ba0c7148276299c88a907d38e31c67896d0de7dd83777
MD5 b483fb4984d6141a7660f4d2a6aac97a
BLAKE2b-256 d5ce9bb2ca3b10a27dfd481b384eb27743394e12105d46a62ba095acee333da6

See more details on using hashes here.

Provenance

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

This release

0.2.0 This release

2 files

0.1.0

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