Skip to main content

Stylish TUI to browse GitHub repositories, issues, and pull requests.

Project description

GHpeek - the easy Github repository viewer

GHpeek screenshot

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ghpeek-0.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ghpeek-0.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

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

Hashes for ghpeek-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4785f3fb4004fa80d9de0ac1006f296b31e4882e9a5d9486590cae0cebb2bf01
MD5 347819396be342aee3863a364af55fe1
BLAKE2b-256 ae8593751d2306ebda526d92e6ad56f1e5fff3bde6b74bf314f735e1dbc3bcf4

See more details on using hashes here.

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

Hashes for ghpeek-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6cf03a908c8794c6bb8755de9c1282f2015f283f2a329ed0eea8f1a1db66b984
MD5 72bf91efbf2a2ee957cc58f498618449
BLAKE2b-256 0bf792b6b1187eb641441a859a189f2043b449b3c7c08c6dade96729a9cfbe1f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page