Org-wide community health files, shared release machinery, and the GitHub profile for PyDevices. This repository does not ship a product; it is what every other PyDevices repository points at for the parts they'd otherwise duplicate.
- Community health defaults —
CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md,SUPPORT.md,PULL_REQUEST_TEMPLATE.md, and.github/ISSUE_TEMPLATE/— GitHub's fallback for any repo in the org that doesn't define its own. profile/README.md— the org profile page shown on github.com/PyDevices.- The reusable publishing workflows and the tag contract —
.github/workflows/reusable-*.ymlimplement the whole release chain (prepare a release PR, tag on merge, build, publish to TestPyPI, attach assets, request MIP publication, optionally publish to PyPI, report health) shared by seven publishing repositories. Callers pin apublishing-vNtag, never a branch; those tags are immutable by policy and by an active GitHub tag ruleset on this repository that blocks moving or deleting one. See Release a package for the runbook and Workflows for the full workflow inventory. RELEASE_HEALTH.md— one row per published distribution (version, TestPyPI/assets/MIP/PyPI outcome, last-updated, linked to the run), regenerated by.github/workflows/release-health.ymlfromrelease-health/data.jsonevery time a publishing repository's release chain reports in. Don't hand-edit either file.- Sibling checkouts — the PyDevices repositories build against each
other checked out side by side on disk.
.cursor/environment.jsonlists the ones Cursor's cloud environment clones, kept by hand. - The repository database and site generator —
data/repos_db.jsonis the single source of truth for the repository map: tier, description, buttons, and where each repo's landing page is published.scripts/generate_sites.pyrenders it into the org portal, into per-repo.site/trees, intoprofile/README.md, and into pydevices/docs/how-it-works/ecosystem.md. Edit the database, not the generated markup — run the generator by hand from a full workspace checkout (python3 dotgithub/scripts/generate_sites.py) after editing it; it validates the database first and is idempotent. - Roadmap —
ROADMAP.md: what's planned for the shared automation. Every repository keeps its own. - Docs —
docs/covers setting up a checkout, releasing a package, rolling back and fixing a release, building the Read the Docs sites, the repository layout and docstring conventions, and where things live on GitHub.
Board / Detect inventory docs live in pydevices/docs (Pages).
Website: https://pydevices.github.io/
This repo is the org-level glue for community health files, shared release automation, issue templates, and shared docs. It does not publish a product Pages site of its own; the product repos publish their own Pages content (or a page generated into the portal), while this repo provides the shared org profile, publishing machinery, and documentation references.