Skip to main content

octosuite

Terminal-based toolkit for GitHub data analysis.

PyPI - Version PyPI - Downloads Code Size Release Date Build Status License

$ octosuite user torvalds
from pprint import pprint
import octosuite

user = octosuite.User(name="torvalds")
exists, profile = user.exists()

if exists:
    pprint(profile)

Installation

pip install octosuite

Usage

TUI (Interactive)

Launch the interactive terminal interface:

octosuite -t/--tui

Navigate using arrow keys and Enter to select options.

CLI

Query GitHub data directly from the command line:

# User data
octosuite user torvalds
octosuite user torvalds --repos --page 1 --per-page 50
octosuite user torvalds --followers --json

# Repository data
octosuite repo torvalds/linux
octosuite repo torvalds/linux --commits
octosuite repo torvalds/linux --stargazers --export ./data

# Organisation data
octosuite org github
octosuite org github --members --json

# Search
octosuite search "machine learning" --repos
octosuite search "python cli" --users --json

Common options:

  • --page - Page number (default: 1)
  • --per-page - Results per page, max 100 (default: 100)
  • --json - Output as JSON
  • --export DIR - Export to directory

Run octosuite <command> --help for available data type flags.

Library

Use octosuite in your Python projects:

from octosuite import User, Repo, Org, Search

# Get user data
user = User("torvalds")
exists, profile = user.exists()
if exists:
    repos = user.repos(page=1, per_page=100)
    followers = user.followers(page=1, per_page=50)

# Get repository data
repo = Repo(name="linux", owner="torvalds")
exists, profile = repo.exists()
if exists:
    commits = repo.commits(page=1, per_page=100)
    languages = repo.languages()

# Get organisation data
org = Org("github")
exists, profile = org.exists()
if exists:
    members = org.members(page=1, per_page=100)

# Search GitHub
search = Search(query="machine learning", page=1, per_page=50)
results = search.repos()

Features

Data Types

User: profile, repos, subscriptions, starred, followers, following, orgs, gists, events, received_events

Repository: profile, forks, issue_events, events, assignees, branches, tags, languages, stargazers, subscribers, commits, comments, issues, releases, deployments, labels

Organisation: profile, repos, events, hooks, issues, members

Search: repos, users, commits, issues, topics

Export Formats
  • JSON
  • CSV
  • HTML

Licence

MIT Licence. See the LICENCE file for details.

Metadata

Release files for octosuite 5.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for octosuite 5.1.0
File Size Uploaded
octosuite-5.1.0.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for octosuite 5.1.0
File Interpreter ABI Platform
octosuite-5.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 44.8 kB

Release files / octosuite-5.1.0.tar.gz

Download URL octosuite-5.1.0.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
15cc4a8b3263e8dceadd023eb787e442d771742eb1d37248793646150323581c
BLAKE2b-256 checksum
How to use checksums
d691f9cac6ebf8de5f85b5e67a8914fdd879195c9759d6909b488a1724f0d690
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 28, 2026.

Transparency log

Release files / octosuite-5.1.0-py3-none-any.whl

Download URL octosuite-5.1.0-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23860e74161ad0ecb715ecc146745d9778cdd1d44aee8c1e8d2fa7188c03dc72
BLAKE2b-256 checksum
How to use checksums
13345976bb4222af7048be9d81687539126a2a3c99b4b8c47288500be56a03a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 28, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page