Stylish TUI to browse GitHub repositories, issues, and pull requests.
Project description
GHpeek - the easy Github repository viewer
GHpeek is a stylish python TUI to get an overview of your github repositories, pull requests, issues and more. You simply add the reposity to the list and GHpeek will then show you a clear and easy to read list of issues and pull requests. Unread items are highlighted so you can easily see what needs your attention. The TUI will also show you a summary of the repository metrices like stars, forks, open issues and pull requests.
Dependencies
- textual
- PyGithub
- rich
- markdown
- python-dotenv
Installation
GHpeek can be installed via pip. Simply run the following command:
pip install ghpeek
or even btter with pipx:
pipx install ghpeek
Usage
To start GHpeek, simply run the following command:
ghpeek
The TUI lets you add repositories by pressing a. If a GitHub token is configured, you can pick from your repositories, filter forks, personal, and private/public repos, or enter a repository name in the format owner/repo. Without a token, you can still enter repositories manually.
The repo will get added to the list on the left. You can navigate through the list using the arrow keys and a quick view of the details like number of issues and pull requests, stars, forks, etc. is shown. Selecting a repository will show you the issues and pull requests in the main view. You can navigate through the issues and pull requests using the arrow keys. Pressing Enter opens a preview modal for the selected issue or pull request, and pressing Enter again opens it in your default web browser.
You can jump between issues and pull requests using the i and p keys or by pressing tag to go to next view area. Pressing r will refresh the data for the selected repository.
Press c to toggle showing closed issues and pull requests.
The UI is providing clear visual feedback when loading data or when an error occurs.
GitHub token
To enable repository picking and increase API rate limits, set a personal access token in the GITHUB_TOKEN environment variable (recommended via a .env file in the project root). The token should include at least the repo scope if you want to access private repositories; public repositories work with no scopes or public_repo.
License
The project is licensed under the MIT License. See the LICENSE file for details.
Contributing
I would love to see contributions to GHpeek! If you have any ideas for new features or improvements, please feel free to open an issue or submit a pull request.
Acknowledgements
This project uses the following open source libraries:
GHpeek was inspired by other terminal-based tools and was originally written by Kim Schulz.
Roadmap
- Add support for logging in with a Github token for private repositories
- Add support for filtering issues and pull requests
- Add reply to issues and pull requests directly from the TUI
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 ghpeek-0.1.0.tar.gz.
File metadata
- Download URL: ghpeek-0.1.0.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4785f3fb4004fa80d9de0ac1006f296b31e4882e9a5d9486590cae0cebb2bf01
|
|
| MD5 |
347819396be342aee3863a364af55fe1
|
|
| BLAKE2b-256 |
ae8593751d2306ebda526d92e6ad56f1e5fff3bde6b74bf314f735e1dbc3bcf4
|
File details
Details for the file ghpeek-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ghpeek-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cf03a908c8794c6bb8755de9c1282f2015f283f2a329ed0eea8f1a1db66b984
|
|
| MD5 |
72bf91efbf2a2ee957cc58f498618449
|
|
| BLAKE2b-256 |
0bf792b6b1187eb641441a859a189f2043b449b3c7c08c6dade96729a9cfbe1f
|