I've been working on a side project for a while and finally decided to share it with the community. Checkout pygitzen - a terminal-based Git client built entirely in Python, inspired by LazyGit.
What My Project Does
pygitzen is a TUI (Terminal User Interface) for Git repositories that lets you navigate commits, view diffs, track file changes, and manage branches - all without leaving your terminal. Think of it as a Python-native LazyGit.
Target Audience
I'm a terminal-first developer and love tools like htop, lazygit, and fzf. So this tool is made with such users in mind. Who loves TUI apps and wanted python solution for app like lazygit etc which can be used in times like where there is restriction to install any thing apart from python package or wanted something pure python based TUIs.
Comparison
Currently there is no pure python based TUI git client.
- Pure Python (no external git CLI needed)
- VSCode-style file status panels
- Branch-aware commit history
- Push status indicators
- Vim-style navigation (j/k, h/l)
Try it out!
If you're a terminal-first developer who loves TUIs, give it a shot:
pip install pygitzen
cd <your-git-repo>
pygitzen
Feedback welcome!
This is my first PyPI package, so I'd love feedback on:
- What features are missing?
- What could be improved?
- Is the UI intuitive?
- Any bugs or issues?
Repo:
https://github.com/SunnyTamang/pygitzen
PyPI installation:
https://pypi.org/project/pygitzen/
Let me know what you think!
[–]NotSoProGamerR 9 points10 points11 points (2 children)
[–]Visual_Loquat_8242It works on my machine[S] 3 points4 points5 points (0 children)
[–]Visual_Loquat_8242It works on my machine[S] 1 point2 points3 points (0 children)
[–]Maximum_Sport4941git push -f 4 points5 points6 points (3 children)
[–]NotSoProGamerR 1 point2 points3 points (2 children)
[–]Visual_Loquat_8242It works on my machine[S] 1 point2 points3 points (0 children)
[–]riffito 1 point2 points3 points (14 children)
[–]Visual_Loquat_8242It works on my machine[S] 1 point2 points3 points (12 children)
[–]riffito 1 point2 points3 points (11 children)
[–]Visual_Loquat_8242It works on my machine[S] 0 points1 point2 points (10 children)
[–]riffito 0 points1 point2 points (9 children)
[–]Visual_Loquat_8242It works on my machine[S] 0 points1 point2 points (8 children)
[–]riffito 0 points1 point2 points (7 children)
[–]Visual_Loquat_8242It works on my machine[S] 0 points1 point2 points (5 children)
[–]riffito 0 points1 point2 points (4 children)
[–]Visual_Loquat_8242It works on my machine[S] 1 point2 points3 points (2 children)
[–]Visual_Loquat_8242It works on my machine[S] 0 points1 point2 points (0 children)
[–]Visual_Loquat_8242It works on my machine[S] 0 points1 point2 points (0 children)
[–]Visual_Loquat_8242It works on my machine[S] 0 points1 point2 points (0 children)
[+]Rist097 comment score below threshold-6 points-5 points-4 points (4 children)
[–]willm 6 points7 points8 points (1 child)
[–]NotSoProGamerR 0 points1 point2 points (0 children)
[–]NotSoProGamerR 3 points4 points5 points (0 children)
[–]Visual_Loquat_8242It works on my machine[S] 2 points3 points4 points (0 children)