Skip to main content

A CLI and Python library for GitHub reconnaissance, search, and analysis

Project description

Gitraze

A fast, hacker-style CLI for slicing through GitHub data like a blade.

Gitraze is a powerful command-line tool designed to explore, analyze, and extract insights from GitHub using both REST and GraphQL APIs — all from your terminal.

⚠️ Status: Early development — expect bugs, missing features, and rapid changes. APIs and CLI may change without notice.

Built for developers who prefer terminals over tabs.


Why Gitraze?

Most GitHub tools are either slow, bloated, or UI-heavy.

Gitraze is different:

  • Fast, minimal, no nonsense
  • Built for developers who think in terminals
  • Deep GitHub data access (REST + GraphQL)
  • Modular and extensible architecture

Features

  • Modular system (easy to extend and hack on)
  • CLI-first workflow
  • GitHub API integration (REST + GraphQL)
  • Repository insights
  • User analysis
  • Filter PRs vs issues automatically
  • Human-readable timestamps
  • Cleaned descriptions (HTML stripped)
  • Analytics modules (in progress)
  • Search users, repos, issues, PRs, and topics

Installation

pip install gitraze

Usage

Run directly from your terminal:

Example:

gitraze --help
gitraze user octocat
gitraze repo torvalds/linux  
gitraze search repos "machine learning" -n 5 # Will show top 5 results, but it is optional flag
gitraze analyze github # Coming soon!

Example output:

$ gitraze user octocat

[+] Fetching user data...
[] Done

User: octocat
-------------
Name             : The Octocat
Login            : octocat
Id               : 583231
Node_id          : MDQ6VXNlcjU4MzIzMQ==
Type             : User
User_view_type   : public
Bio              : None
Followers        : 22312
Following        : 9
Public_repos     : 8
Public_gists     : 8
Location         : San Francisco
Profile_url      : https://github.com/octocat
Created_at       : 25 Jan 2011
Email            : None
Twitter_username : None

Commands prefixed with $ should be run in your terminal.

Gitraze can also be used as a lightweight Python SDK.

User:

import gitraze as gz

user = gz.user("octocat")

print(user["name"])
print(user["followers"])

Search:

results = gz.search(gz.REPOS, "machine learning", 3)

for repo in results:
    print(repo["full_name"])

Pretty-print results in terminal style:

from gitraze import *

display(user("octocat"))

Example output:

Name             : The Octocat
Login            : octocat
Id               : 583231
Node_id          : MDQ6VXNlcjU4MzIzMQ==
Type             : User
User_view_type   : public
Bio              : None
Followers        : 22578
Following        : 9
Public_repos     : 8
Public_gists     : 8
Location         : San Francisco
Profile_url      : https://github.com/octocat
Created_at       : 25 Jan 2011
Email            : None
Twitter_username : None

Note: import gitraze as gz is the recommended import.

Available exports:

Functions:

  • user()
  • repo()
  • search()
  • display()

Constants:

  • USERS
  • REPOS
  • PRS
  • ISSUES
  • TOPICS

⚠️ CLI commands are still evolving and may change.

Philosophy

Gitraze is built for speed, clarity, and control.

No GUI. No clutter. No distractions.
Just raw access to GitHub data — the way it should be.

If you live in the terminal, Gitraze lives with you.

Development Setup

Clone the repo and install locally:

git clone https://github.com/akpandey-dev/gitraze.git
cd gitraze
pip install -e .

Project Status

Gitraze is in active development:

  • Expect breaking changes
  • Some commands may not work
  • Features are being added rapidly
  • GraphQL feature is basically absent now, but is coming soon

If you're here early — you're basically a beta tester 😈

Contributing

PRs, ideas, bug reports, and feature suggestions are welcome. If you want to improve or modify Gitraze, go ahead.

git checkout -b feature/cool-thing

Just keep the code clean and the terminal fast.

License

MIT License — do whatever you want, just don’t blame me if you break stuff.

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

gitraze-0.2.5.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

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

gitraze-0.2.5-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file gitraze-0.2.5.tar.gz.

File metadata

  • Download URL: gitraze-0.2.5.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for gitraze-0.2.5.tar.gz
Algorithm Hash digest
SHA256 53d2ecb5e26a3b8a1d953444eca5790e8110c395d3b3771d80cad427e1934817
MD5 b06c83e8a53cf13622a00e7502eedf7b
BLAKE2b-256 6a204ac7cb910ec1a70061c19734e6dcf86db43de516441e4bc23cd37aceba5a

See more details on using hashes here.

File details

Details for the file gitraze-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: gitraze-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for gitraze-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e5666cb870e2b4e20c3f1bdc3bfe544636cfb845d9b20cf74e377f0e3694e619
MD5 8baaa7cb77f56550c00a63e85d4d6ec7
BLAKE2b-256 6375e649533dccc2f8f32f7195df385591c80282b2990331da341adf40137abd

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