A read-only Textual TUI for exploring git commit history.
Project description
gitscope
gitscope is a read-only terminal UI for exploring git commit history: log rows, branch topology, refs, and selected-commit diffs in one local view. It exists as a focused personal/portfolio project for making history easier to scan without adding git workflow actions.
Features
- Scrollable commit log for the current branch/HEAD or all branches, including SHA, author, date, and subject.
- ASCII/Unicode branch graph gutter aligned with the log, including branch lanes and merge topology.
- Scrollable line-level diff pane that updates when the selected commit changes.
- Branch/ref sidebar for local branches, tags, and HEAD.
- Status bar showing the repository path, current HEAD, and key hints.
- Incremental history loading so startup is bounded by the first page of commits.
- Read-only by design: no staging, committing, rebasing, checkout, push, pull, or fetch operations.
Installation
Prerequisites:
- Python 3.12+
- A local
gitbinary available onPATH - A git repository already present on disk
Install from PyPI:
python -m pip install devaansh-gitscope
The installed command is still gitscope.
Install from source:
git clone <repo-url>
cd gitscope
python -m pip install .
For local development:
python -m pip install -e .
python -m pytest
Usage
Run gitscope from inside a git repository:
cd path/to/repo
gitscope
Current bindings:
q: quitr: refreshm: load more commitsa: show all local branchesh: show HEADUp/Downorj/k: move the selected commitPgUp/PgDn: scroll the focused paneTab: switch focus?: show help text
Status
gitscope is early and actively developed. The v1 path is focused on a local, read-only commit history viewer with source installation, bounded history loading, refs, graph, diff, and status panes working together.
Known v1 limitations:
- Line-level diffs only; no word-level intraline highlighting.
- No config files, custom themes, or plugin system.
- No remote/network features and no mutating git operations.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devaansh_gitscope-1.0.0.tar.gz.
File metadata
- Download URL: devaansh_gitscope-1.0.0.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5671832593a751eeecafc23d64784b90105b79b417e39c978bae3d78ec5b695b
|
|
| MD5 |
63e8d01d12973c72090b79048ac9940d
|
|
| BLAKE2b-256 |
2748838d4b014f6e60c4efe6b7fcb33c2f04de631dc42be779edd6c69b4173df
|
File details
Details for the file devaansh_gitscope-1.0.0-py3-none-any.whl.
File metadata
- Download URL: devaansh_gitscope-1.0.0-py3-none-any.whl
- Upload date:
- Size: 23.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41ca445e3c25c779e90ebe3a6b6f61f8645643406bdccf4c7eb27f0a467754ef
|
|
| MD5 |
3a5d5bf1761bf15af9317f64334ff4e3
|
|
| BLAKE2b-256 |
f2abdc4a85aea69fd78999a0880dac3813d4ebe1f15f80776cac35df2ad51cf9
|