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.
Release files for devaansh-gitscope 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| devaansh_gitscope-1.0.0.tar.gz | 24.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| devaansh_gitscope-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 48.1 kB
Release files / devaansh_gitscope-1.0.0.tar.gz
| Download URL | devaansh_gitscope-1.0.0.tar.gz |
|---|---|
| Size | 24.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5671832593a751eeecafc23d64784b90105b79b417e39c978bae3d78ec5b695b
|
|
BLAKE2b-256 checksum How to use checksums |
2748838d4b014f6e60c4efe6b7fcb33c2f04de631dc42be779edd6c69b4173df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / devaansh_gitscope-1.0.0-py3-none-any.whl
| Download URL | devaansh_gitscope-1.0.0-py3-none-any.whl |
|---|---|
| Size | 23.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
41ca445e3c25c779e90ebe3a6b6f61f8645643406bdccf4c7eb27f0a467754ef
|
|
BLAKE2b-256 checksum How to use checksums |
f2abdc4a85aea69fd78999a0880dac3813d4ebe1f15f80776cac35df2ad51cf9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|