Skip to main content

billbird-client

Python client, CLI, and MCP server for Billbird's REST API.

Standalone. No Gitsweeper, no opinion about analytics — just a focused tool for reading time-tracking data out of one Billbird instance over its bearer-token API.

Install

uv add billbird-client     # in a uv-managed project
# or
pip install billbird-client

Configure

export BILLBIRD_API_URL=https://billbird.example.com
export BILLBIRD_API_TOKEN=bb_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Generate the token in Billbird's admin panel under API tokens. See Billbird's docs for the lifecycle.

CLI

billbird-cli hours --period last-7d --group-by user
billbird-cli hours --period 2026-05 --group-by client
billbird-cli pva --status over                       # plan-vs-actual outliers
billbird-cli recent --since 2026-05-20T00:00:00Z

Every command takes --json for machine-readable output. See docs/cli.md for the full reference.

MCP server

For AI clients (Claude Desktop and similar):

billbird-mcp

The server speaks JSON-RPC over stdio. Tools exposed:

  • billbird_hours_summary(period, group_by, repo?, client?, user?)
  • billbird_plan_vs_actual(period?, status?, repo?, client?)
  • billbird_recent_activity(since, limit?)
  • billbird_cycle_time(period?, repo?) — stub until Billbird exposes the endpoint

See docs/mcp.md for Claude Desktop configuration and the read-only contract.

Library

For programmatic use:

from billbird_client import BillbirdClient

with BillbirdClient.from_env() as client:
    entries = client.time_entries(repository="org/repo")
    plans = client.plans(status="active")
    pva = client.plan_vs_actual("org", "repo", 42)

Scope

This package is read-only. Writes happen in GitHub via slash commands (/log, /plan, etc.) and land in Billbird through its webhook. There is no billbird-cli log 2h — that would be a separate command path with separate security implications, and slash commands already work everywhere gh works.

This package has no dependency on Gitsweeper. Gitsweeper may consume this package for cross-source analytics (e.g. reconciling commit Time: footers against /log entries), but Billbird and billbird-client work fine without it.

License

MIT.

Metadata

Release files for billbird-client 0.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 billbird-client 0.1.0
File Size Uploaded
billbird_client-0.1.0.tar.gz 67.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for billbird-client 0.1.0
File Interpreter ABI Platform
billbird_client-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 85.3 kB

Release files / billbird_client-0.1.0.tar.gz

Download URL billbird_client-0.1.0.tar.gz
Size 67.7 kB
Tags Source
SHA-256 checksum
How to use checksums
134f52437541f39ae528f668260e085e9bef93efc1354635f77eb205e1a538b2
BLAKE2b-256 checksum
How to use checksums
d16d9ba65d9e4d33b7ea10f5e757ce8799ab994d88fede1b80b13ebe9ac591df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 22, 2026.

Transparency log

Release files / billbird_client-0.1.0-py3-none-any.whl

Download URL billbird_client-0.1.0-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a01cc2e4458a76c5c38f6f04f7fa3726f5a8f4d5c86f74c0d5a5351c4d8234b3
BLAKE2b-256 checksum
How to use checksums
605701512a607366c4d96175bac11a3359cc4cd2f6d8d612509b9ba397cc9512
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release 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