Skip to main content

gh-weekly-updates

Automatically discover and summarise your weekly GitHub impact using AI.

gh-weekly-updates collects your GitHub activity — pull requests authored & reviewed, issues created & commented on, discussions — and generates a structured Markdown summary using GitHub Models.

Features

  • Auto-discover repos via the GitHub GraphQL Contributions API, or provide an explicit list
  • Collect detailed activity: PRs, reviews, issues, issue comments, discussions
  • AI-powered summarisation via GitHub Models (openai/gpt-4.1 by default)
  • Structured output: Wins / Strategic Influence / Challenges with inline links
  • Push to a repo: automatically commit summaries to a GitHub repo for sharing
  • Fully configurable: org, repos, model, prompt — via YAML config or CLI flags
  • Custom prompts: tailor the AI summary to your team's format

Installation

pip install gh-weekly-updates

Requirements

  • Python 3.11+
  • A GitHub personal access token (PAT) or the GitHub CLI (gh) authenticated
    • Required scopes: repo, read:org
    • The token also needs access to GitHub Models for AI summarisation

Quick start

# Authenticate with the GitHub CLI (easiest)
gh auth login

# Run with defaults — covers the past week
gh-weekly-updates

# Or specify a date range
gh-weekly-updates --since 2025-06-01 --until 2025-06-07

Configuration

Create a config.yaml (see config.example.yaml):

# GitHub org to scope repo discovery to
org: my-org

# Explicit repo list (skips auto-discovery)
repos:
  - my-org/api-service
  - my-org/web-app

# GitHub Model for summarisation
model: openai/gpt-4.1

# Push summary to a repo under weekly-updates/
push_repo: my-user/my-updates

# Custom system prompt (inline)
prompt: |
  You are an engineering manager writing a concise weekly summary...

# Or load prompt from a file
# prompt_file: my-prompt.txt

CLI reference

Usage: gh-weekly-updates [OPTIONS]

Options:
  --config PATH    Path to YAML config file. Default: ./config.yaml
  --since TEXT      Start date (ISO 8601). Default: previous Monday.
  --until TEXT      End date (ISO 8601). Default: now.
  --user TEXT       GitHub username. Default: authenticated user.
  --repos TEXT      Comma-separated list of repos (owner/name).
  --org TEXT        GitHub org to scope repo discovery to.
  --output PATH    Write summary to a file instead of stdout.
  --push TEXT       Push summary to a GitHub repo (owner/name).
  --model TEXT      GitHub Model to use. Default: openai/gpt-4.1.
  --verbose         Enable debug logging.
  --help            Show this message and exit.

Authentication

gh-weekly-updates resolves a GitHub token in this order:

  1. GITHUB_TOKEN environment variable
  2. gh auth token (GitHub CLI)

For GitHub Enterprise with SSO, ensure the token is authorised for your org.

Using with GitHub Actions

You can run gh-weekly-updates on a schedule in a GitHub Actions workflow:

name: Weekly Impact Summary

on:
  schedule:
    - cron: '0 9 * * 1'  # Every Monday at 9am UTC
  workflow_dispatch:

jobs:
  summarise:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install gh-weekly-updates
        run: pip install gh-weekly-updates

      - name: Generate summary
        env:
          GITHUB_TOKEN: ${{ secrets.GH_PAT }}
        run: |
          gh-weekly-updates \
            --config config.yaml \
            --push my-user/my-updates

Note: The default GITHUB_TOKEN provided by Actions has limited scope. Use a Personal Access Token stored as a repository secret with repo and read:org scopes, plus GitHub Models access.

Development

git clone https://github.com/sahansera/gh-weekly-updates.git
cd gh-weekly-updates
python -m venv .venv && source .venv/bin/activate
make dev   # install in editable mode with dev deps
make run   # run with defaults
make lint  # ruff check

See CONTRIBUTING.md for more details.

License

MIT

Release files for gh-weekly-updates 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gh-weekly-updates 0.1.3
File Size Uploaded
gh_weekly_updates-0.1.3.tar.gz 17.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gh-weekly-updates 0.1.3
File Interpreter ABI Platform
gh_weekly_updates-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 35.5 kB

Release files / gh_weekly_updates-0.1.3.tar.gz

Download URL gh_weekly_updates-0.1.3.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5918e381379dae8979bd53fddf22a907a60c5725abf89a17e71b7e7db08b6dfb
BLAKE2b-256 checksum
How to use checksums
cc2bb49b0605f1040b3a39dcfd4a9fe5bba47f0263f1da0a77b01046dae5370a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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

Transparency log

Release files / gh_weekly_updates-0.1.3-py3-none-any.whl

Download URL gh_weekly_updates-0.1.3-py3-none-any.whl
Size 18.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4de207fcb160064e1e0e7081d2a3684c0c71ab19ad99df5117bc3dcb7a310ec3
BLAKE2b-256 checksum
How to use checksums
ab5b01a6e9fec53aa1d20f4b9bcf101f03fc585ee643aedc6a5c7847272b3869
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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

Transparency log

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.1

2 release files

0.1.0

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