Metadata-Version: 2.4
Name: octosuite
Version: 4.0.0b1
Summary: TUI-based toolkit for GitHub data analysis.
Author-email: Ritchie Mwewa <hi@rly0nheart.com>
License-Expression: MIT
Project-URL: homepage, https://bellingcat.com
Project-URL: issues, https://github.com/bellingcat/octosuite/issues
Project-URL: repository, https://github.com/bellingcat/octosuite
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: English
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=14.2.0
Requires-Dist: questionary>=2.1.1
Requires-Dist: pyfiglet>=1.0.4
Requires-Dist: update-checker>=0.18.0
Provides-Extra: dev
Requires-Dist: black>=25.12.0; extra == "dev"
Dynamic: license-file

![octosuite](https://raw.githubusercontent.com/bellingcat/octosuite/refs/heads/master/img/octosuite.png)

TUI-based toolkit for GitHub data analysis.

![PyPI - Version](https://img.shields.io/pypi/v/octosuite)
![PyPI - Downloads](https://img.shields.io/pepy/dt/octosuite)
![Code Size](https://img.shields.io/github/languages/code-size/bellingcat/octosuite)
![Release Date](https://img.shields.io/github/release-date/bellingcat/octosuite)
![Build Status](https://img.shields.io/github/actions/workflow/status/bellingcat/octosuite/python-publish.yml)
[![CodeQL Advanced](https://github.com/bellingcat/octosuite/actions/workflows/codeql.yml/badge.svg)](https://github.com/bellingcat/octosuite/actions/workflows/codeql.yml)
![License](https://img.shields.io/github/license/bellingcat/octosuite)

## Overview

OctoSuite provides a terminal interface for exploring and exporting GitHub data. Access information about users,
repositories, organizations, and search across GitHub's platform.

## Features

<details>
<summary><strong>See details</strong></summary>

- **User** - Get user data
    - Profile
    - Repositories
    - Subscriptions
    - Starred
    - Followers
    - Following
    - Organizations
    - Gists
    - Events
    - Received Events
- **Repository** - Get repository data
    - Profile
    - Forks
    - Issues
    - Issue Events
    - Events
    - Assignees
    - Branches
    - Tags
    - Languages
    - Stargazers
    - Subscribers
    - Commits
    - Comments
    - Releases
    - Deployments
    - Labels
- **Organisation** - Get organisation data
    - Profile
    - Repositories
    - Events
    - Hooks
    - Issues
    - Members
- **Search** - Search GitHub
    - Repositories
    - Users
    - Commits
    - Issues
    - Topics
- **Export** - Export data
    - JSON
    - CSV
    - HTML

</details>

## Installation

### PyPI

```bash
pip install octosuite
```

### Build from source

```bash
# Clone repository
git clone https://github.com/bellingcat/octosuite.git

# Move to octosuite directory
cd octosuite

# Build and install (uses uv)
make install

# If you dont have uv installed, you can install directly with pip:
pip install .

# Run
octosuite
```

> [!Note]
> You can then run octosuite with command `octosuite`

## Usage

Navigate using <kbd>UP</kbd><kbd>DOWN</kbd> and <kbd>ENTER</kbd> to select options. In the export menu, you should
use <kbd>SPACE</kbd> to check the format you want.

The interface guides you through
selecting a
data source
and
choosing what information to retrieve. Preview the results and optionally export them in your preferred format.

![home](https://raw.githubusercontent.com/bellingcat/octosuite/refs/heads/master/img/menu.png)

## License

### MIT License

See the LICENSE file for details. License information is also available through the application's main menu.

## Contributing

Contributions are welcome. Please submit pull requests or open issues for bugs and feature requests. Good luck!
