Skip to main content

ghreport - Github report generator.

Project description

ghreport - Generate useful reports from GitHub repository issues

This utility generates reports that can be useful to identify issues in your repository that may be stale, or that may need a response.

It can also generate a chart of open bug counts over time.

See CONTRIBUTING.md for build instructions, or install from PyPI with:

python -m pip install ghreport

Use ghreport -h for help.

For an example report, see https://github.com/gramster/ghreport/blob/main/example.md or you can see these in an automated form for my teams at https://github.com/gramster/python-reports

Interactive Dashboard

ghreport includes an interactive web dashboard with multi-repo support, caching, and charts.

Setup

Install the dashboard dependencies:

pip install ghreport[dashboard]

Running

export GH_TOKEN=your_github_token
ghreport dashboard

On first run, a config.toml file is created automatically. Repos can be added from the web UI, or you can edit the config file directly:

[[repos]]
owner = "microsoft"
name = "debugpy"
bug_label = "bug"

The database is also seeded with default common team members (dependabot, app/copilot-swe-agent) which can be managed from the Team page.

The dashboard is available at http://localhost:8000. API docs are at http://localhost:8000/docs.

Options:

  • -p, --port — Port (default: 8000)
  • -H, --host — Host (default: 0.0.0.0)
  • -c, --config — Path to TOML config file (created if missing)

Features

  • Multi-repo support — Track multiple repositories, add/remove from the UI
  • SQLite caching — Reduces GitHub API calls with incremental sync
  • Background sync — Periodic refresh via APScheduler
  • Reports — Issue revisits, PR activity, closed issues (same as CLI)
  • Charts — Open issue counts, time to merge/close/respond, label frequency, files/lines changed, top terms
  • Aggregate views — Cross-repo summary and charts

Frontend Development

The frontend is a Vue 3 + Vite SPA in ghreport/dashboard/frontend/:

cd ghreport/dashboard/frontend
npm install
npm run dev    # Dev server with API proxy to localhost:8000
npm run build  # Production build to dist/

Development

This project uses flit. First install flit:

python -m pip install flit

Then to build:

flit build

To install locally:

flit install

To publish to PyPI:

flit publish

Version History

0.1 Initial release

0.2 More control flags

0.3 Add -o option

0.4 Apply strftime to output file name

0.5 Added markdown support

0.6 Remove hardcoded owner from query

0.8 Better team option

0.9 Add proper markdown line rule

0.11 Fix 3rd party report; exclude issues created by team from other reports

0.12 Fix typo

0.14 Only fetch open issues

0.15 Fix non-async sleep.

0.16 Added ability to get LLM training data.

0.90 Swallow exception from matplotlib

0.91 More robust in the face of matplotlib plot failures

1.5 Current CLI version

2.0 Interactive web dashboard (FastAPI + Vue 3), core module extraction, multi-repo support, SQLite caching

Project details


Release history Release notifications | RSS feed

This version

2.3

Download files

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

Source Distribution

ghreport-2.3.tar.gz (85.2 kB view details)

Uploaded Source

Built Distribution

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

ghreport-2.3-py2.py3-none-any.whl (107.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ghreport-2.3.tar.gz.

File metadata

  • Download URL: ghreport-2.3.tar.gz
  • Upload date:
  • Size: 85.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for ghreport-2.3.tar.gz
Algorithm Hash digest
SHA256 84bf6e52e5273c4e39ce06175db32abd7577d6f3757e6810f88d72c7bacb311f
MD5 35297311876b5b6cf5729fee5f826102
BLAKE2b-256 248bf7dc1afa5d27686aa7d8b5150fc180b07539d23ba93c3303458361e00ab9

See more details on using hashes here.

File details

Details for the file ghreport-2.3-py2.py3-none-any.whl.

File metadata

  • Download URL: ghreport-2.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 107.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for ghreport-2.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dd1cb55cd90b89bbcb1480351ce4229070e1ac284186508aed96a3a6f1c3294b
MD5 a5f8343c318e86bf951ccd0793d6498b
BLAKE2b-256 fb09039d65b393ef7355fd91ab2b5cb3d6f3f8b30aaeaf44077f54a5de8d9577

See more details on using hashes here.

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