Skip to main content

ezgb: easy git-bug for Python

A standalone Python library for working with git-bug repositories. It lets you list, create, query, and update bugs that are stored as native git objects -- no external database required.

Features

  • Fast reads -- bug data is read directly from git objects via pygit2 (libgit2 bindings). Listing uses the git-bug CLI cache when available (~100ms for hundreds of bugs).
  • Safe writes -- all mutations go through the git bug CLI, which keeps Lamport clocks and the operation DAG consistent.
  • Simple API -- one main class (GitBugRepo) with plain Python dataclasses for bugs, comments, and identities.

Quick example

from ezgb import GitBugRepo, Status

repo = GitBugRepo('/path/to/repo')

# List open bugs
for bug in repo.list_bugs(status=Status.OPEN):
    print(bug.title)

# Create a new bug
bug = repo.create_bug('Login page is broken', 'Steps to reproduce...')

# Add a comment
repo.add_comment(bug.id, 'I can reproduce this on Firefox 130.')

Requirements

  • Python 3.9 or later
  • pygit2 (libgit2 Python bindings)
  • git-bug v0.10+ on your $PATH (needed for write operations and fast cached listing)

Installation

git clone https://git.kernel.org/pub/scm/utils/ezgb/ezgb.git
cd ezgb
pip install -e .

Documentation

Full documentation is in the docs/ directory. Build it with:

pip install sphinx sphinx-rtd-theme
make -C docs html

Then open docs/_build/html/index.html in your browser.

Running tests

pip install -e '.[dev]'
python -m pytest

The test suite includes unit tests (using real git objects in temporary repos via pygit2) and integration tests that exercise the full stack including the git-bug binary.

Contributing

See CONTRIBUTING.md for details on submitting patches, coding style, and the Developer Certificate of Origin.

License

GPLv2 or later. See COPYING for the full text.

Download files

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

Source Distribution

ezgb-0.2.0.tar.gz (34.6 kB view details)

Uploaded Source

Built Distribution

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

ezgb-0.2.0-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file ezgb-0.2.0.tar.gz.

File metadata

  • Download URL: ezgb-0.2.0.tar.gz
  • Upload date:
  • Size: 34.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for ezgb-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f758d883ad63efead5afe5a1b311d6adc9ddc22eb67c901d474cced32d66e2f5
MD5 62cd8df22cdbe4c6d463affa7783fc9e
BLAKE2b-256 bd35b765be847cd02e6282d8374d7082f97eec8afa6ad40efdf8e22e27ff9004

See more details on using hashes here.

File details

Details for the file ezgb-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ezgb-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for ezgb-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45b9a54c1d76f2f4538374b5a071c8faaad179f7aee53f18bf588b740dccd4c4
MD5 5140385ef698611a3997dd2096487d4e
BLAKE2b-256 71d5f0e0abfb01b6936326bf01b30ffeac5a9fa11b1fb4e8b8191541adf1e9ec

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.1

2 files

0.1

2 files

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