All templates

Automated PyPI Project Metadata Checks

Every Monday, WebRun opens PyPI, reads the public project page for each package you publish, checks the description, project links, license field and classifiers, posts the fix list to Microsoft Teams, and sends the headline count to Telegram.

Runs on WebRun · Strict Lockdown policy
Every Monday at 9:00 AM WebRunorchestrates each step
1 PyPI read every project page
2 Microsoft Teams post the fix list
3 Telegram send the headline count
In short

How do I check that my PyPI package pages are complete?

Every Monday, WebRun signs into PyPI and reads the public page of every package you publish, checking the description, project links, license field and classifiers. It opens each link to catch dead ones, posts a ranked fix list to Microsoft Teams, and sends the headline count to Telegram.

  • No published package looks abandoned to a first-time visitor
  • Dead homepage and repository links are caught within a week
  • Maintainers get the exact field to fix, not a vague warning

Built for Python maintainers · open source teams · platform engineers · developer relations

Step by step

What does WebRun do on every run?

The exact actions WebRun takes, in order - in plain language, so you can adjust anything.

  1. WebRun signs in and gets to work

    Opens pypi.org/account/login in a real browser with your saved login - no setup, no API keys.

  2. 1
    PyPI - read every project page
    pypi.org
    WebRun in PyPI: read every project page
    WebRun opens PyPI to read every project page.
    • Open PyPI and list the projects published under your account
    • For each project, read the public page: description, project links, license field and classifiers
    • Open each project link and note any that return an error or redirect somewhere unrelated
    • Compare the latest release date and version against what the classifiers claim

    Done when Every project has been checked and its gaps recorded.

  3. 2
    Microsoft Teams - post the fix list
    microsoft.com
    WebRun in Microsoft Teams: post the fix list
    WebRun opens Microsoft Teams to post the fix list.
    • Post one message listing each project with a gap and the exact field to fix
    • Put projects with no description or a dead homepage link at the top
    • Name the missing license and stale classifiers underneath, so the fix takes one commit
    • Leave the message for a maintainer to action. WebRun never edits a project page itself

    Done when The team has this week's ranked fix list in Teams.

  4. 3
    Telegram - send the headline count
    telegram.org
    WebRun in Telegram: send the headline count
    WebRun opens Telegram to send the headline count.
    • Send a one-line summary: how many projects were checked and how many have gaps
    • Name the worst offender so it is visible without opening Teams

    Done when The headline count is in Telegram.

Run settings

How is each run configured?

Starting pageWhere Chrome opens at the start of each run
pypi.org/account/login
ScheduleRuns automatically on this cadence
Every Monday at 9:00 AM
DeliveryHow each run's result reaches you
Fix list · Microsoft Teams
OutputWhat each run produces - A weekly list of published packages with an incomplete page, naming the exact field to fix on each.
Text
Setup & safety

Secure by default

Connect once, stays signed in

WebRun signs in once and keeps each session in a persistent environment, so every run picks up right where it left off.

Your credentials stay in your own private environment - WebRun never stores your passwords.
Strict Lockdown

Every action is checked against this policy before it runs.

Domains ALLOWLIST
Typed input ALLOW
Shell command BLOCK
File uploads BLOCK
Runs in a contained environment More on policies
Good to know

Questions, answered

Will it change my project pages?

No. WebRun only reads your PyPI project pages and reports the gaps. It never edits metadata, uploads a release, or deletes anything. Every fix is made by a maintainer in your own repo.

What counts as a gap?

A missing or empty description, a project link that errors or redirects elsewhere, an unset license field, and classifiers that no longer match the versions you actually support.

Does it work for packages I only co-maintain?

Yes. It checks every project listed under your PyPI account, including ones you share, because the public page looks the same to a visitor either way.

Put this on autopilot.

Turn it on in minutes - or have our team set it up for you.