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.1

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.1.tar.gz (74.3 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.1-py2.py3-none-any.whl (93.6 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for ghreport-2.1.tar.gz
Algorithm Hash digest
SHA256 2ec9468a44a70ff8822f10c1bead0079eb3828fee086e28db7ad268305ff8989
MD5 b1a14a98eb768864b5cf8d52b9a8b382
BLAKE2b-256 bdf0c02f7064aaf16b4b73e645d1d92202362235c4862d29a74d5e52307dba45

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ghreport-2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 556b41b998439be43d70887b309df0d567c3f04109f02efc2303f7c774ab737d
MD5 18f21a88406826adffc5d2d9c8f4838a
BLAKE2b-256 30a2dfd998bb7b60f167a38bd325c6d28032eda5b5932213639cf8472be701c1

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