Repository navigation
What's Changed
2.3.0 makes pydoctor easy to adopt in an existing project and puts its findings where you review code.
Highlights
📌 Baselines. Accept today's issues and fail only on new ones.
pydoctor baseline # writes .pydoctor-baseline.json — commit it
pydoctor check # now fails only on new issuesMatching survives unrelated edits and package upgrades, scans tell you when a baselined issue is fixed, and a scan that didn't run (unreadable environment, unreachable vulnerability database) is never baselined.
🐙 GitHub Action. Findings appear as code-scanning alerts on pull requests:
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: { python-version: "3.12" }
- run: pip install -r requirements.txt
- uses: iamAgbaCoder/pydoctor-cli@v2pydoctor is installed in its own environment, so it doesn't touch or count as part of your project. Set ci-only: "true" to run only the secrets and workflow checks.
🧾 SARIF output. --sarif FILE on every scan command writes SARIF 2.1.0 for GitHub code scanning and other tools. Vulnerabilities carry their CVSS score as severity and point at the line that declares the package; secrets and workflow findings point at their file and line.
🪝 pre-commit hooks. Stop secrets before they're committed:
repos:
- repo: https://github.com/iamAgbaCoder/pydoctor-cli
rev: v2.3.0
hooks:
- id: pydoctor-ci📖 Docs links. Every issue links to the page that explains it (docs_url in JSON, and a Docs line in the terminal for errors).
Upgrade
pipx upgrade pydoctor-cli # or: pip install --upgrade pydoctor-cliNo breaking changes. Existing commands, flags and JSON fields work as before.
📚 Docs: https://pydoctor-docs.thally.app · Baselines guide: https://pydoctor-docs.thally.app/guides/baselines