Skip to main content

A Python package for interacting with the GitHub API, offering a simple interface to access repositories, users, organizations, issues, and more for automation and data management.

Project description

ghnova

Python CI pre-commit.ci status Documentation Status codecov PyPI Version Python Versions License: MIT Security: bandit DOI

Note: This project is still in progress. The promised features are not fully ready yet, and APIs are subject to change.

A Python package for interacting with the GitHub API. This package provides a simple and intuitive interface to access GitHub repositories, users, organizations, issues, and more, enabling seamless integration with GitHub instances for automation, data retrieval, and management tasks.

Features

Full API Coverage: Access to repositories, users, organizations, issues, pull requests, and more.

  • Easy Authentication: Support for token-based authentication.
  • Asynchronous Support: Built with async/await for non-blocking operations.
  • Type Hints: Full type annotations for better IDE support and code reliability.
  • Comprehensive Documentation: Detailed guides and API reference.
  • Command-Line Interface: Interact with the GitHub API directly from the terminal for quick, scriptable operations without writing code.

Installation

We recommend using uv to manage virtual environments for installing ghnova.

If you don't have uv installed, you can install it with pip. See the project pages for more details:

  • Install via pip: pip install --upgrade pip && pip install uv
  • Project pages: uv on PyPI | uv on GitHub
  • Full documentation and usage guide: uv docs

Requirements

  • Python 3.10 or higher
  • Operating System: Linux, macOS, or Windows

Install from PyPI

The recommended way to install ghnova is from PyPI:

# Create a virtual environment (recommended with uv)
uv venv --python 3.10
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install ghnova

Optional Dependencies

For development or specific features:

# Development dependencies (testing, linting, etc.)
uv pip install ghnova[dev]

# Documentation dependencies
uv pip install ghnova[docs]

# All dependencies
uv pip install ghnova[dev,docs]

Install from Source

For the latest development version:

git clone git@github.com:isaac-cf-wong/ghnova.git
cd ghnova
# Create a virtual environment (recommended with uv)
uv venv --python 3.10
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install .

Development Installation

To set up for development:

git clone git@github.com:isaac-cf-wong/ghnova.git
cd ghnova

# Create a virtual environment (recommended with uv)
uv venv --python 3.10
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install ".[dev]"

# Install the commitlint dependencies
npm install

# Install pre-commit hooks
pre-commit install
pre-commit install --hook-type commit-msg

Verify Installation

Check that ghnova is installed correctly:

ghnova-cli --help
python -c "import ghnova; print(ghnova.__version__)"

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For questions, issues, or contributions, please:

Changelog

See Release Notes for version history.

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

ghnova-0.0.1.tar.gz (36.2 kB view details)

Uploaded Source

Built Distribution

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

ghnova-0.0.1-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file ghnova-0.0.1.tar.gz.

File metadata

  • Download URL: ghnova-0.0.1.tar.gz
  • Upload date:
  • Size: 36.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghnova-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1092e2f8be20a007c25aae39d5acb002884bafbf1d2fe1c2b61bef6712327b60
MD5 e6e10a89516144d9e85fbf66dd22d933
BLAKE2b-256 f25c882b4d4f8ff9eae53e0036d1df7003106f6103bd2d00820b2f96858dfe0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghnova-0.0.1.tar.gz:

Publisher: create_tag.yml on isaac-cf-wong/ghnova

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ghnova-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: ghnova-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ghnova-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 491bac1d3e8c8496c0a70464b2a51658e2d9c0d7b30054e3637174658354728f
MD5 ba364de5464fc8ac757c6b2b20a090f9
BLAKE2b-256 9e67fe78a328a6ec5ffb6d0cd1596017ae5c7e7ee0ee366b0cb3c6aab6a832a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ghnova-0.0.1-py3-none-any.whl:

Publisher: create_tag.yml on isaac-cf-wong/ghnova

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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