PyDoctor CLI (Command Line Interface)
PyDoctor is a standalone, developer-friendly diagnostic assistant for Python environments. It acts like a personal physician for your code — scanning your project and environment to prescribe fixes for misconfigurations, dependencies, and security vulnerabilities.
🧭 Navigation
Project Description
PyDoctor isn't just a scanner; it's a complete remediation tool that performs static analysis on your project files and cross-references your environment against live security databases.
Key Features
- Environment Analysis: Detects missing virtualenvs, outdated pip, or deprecated Python versions.
- Dependency Fix: Automatically resolves conflicts and installs missing packages.
- Security: Integrates with OSV.dev API to check against known CVEs/GHSAs.
- Unused Detection: Identifies declared packages that are never imported.
- Multi-Manager: Intelligent support for pip, Poetry, uv, and pdm.
- Rich UI: Beautiful progress spinners, icons, and color-coded severities.
📦 Installation
PyDoctor requires Python 3.10+. For the best experience, we recommend using pipx.
# Recommended: Install globally in an isolated environment
pipx install pydoctor-cli
# Standard pip installation
pip install pydoctor-cli
⚡ Usage
Full Diagnosis
Run a comprehensive check-up on your project.
pydoctor diagnose
Automated Fixes
Let PyDoctor perform the heavy lifting. It will offer to install missing packages, upgrade outdated ones, and clean up your environment.
pydoctor fix
Release History
v2.0.0
- 🚀 Major UI/UX Revamp: Introduced a premium "kernel/hacker" aesthetic with boxed reports, dynamic progress animations, and improved readability.
- 🛡️ CI/CD Guard Mode: New
pydoctor check --cicommand to detect exposed secrets (AWS, GitHub, PyPI tokens) and insecure workflow patterns in GitHub Actions/GitLab CI. - 🐳 Docker Support: New
pydoctor dockercommand to diagnose Python issues inside containers and audit Dockerfiles. - 🐙 GitHub Integration: New
pydoctor githubcommand for repository-wide health scans and local git configuration audits. - 📈 Advanced Health Scoring: Refined the 0-100 scoring algorithm with granular penalties for security vulnerabilities and CI/CD risks.
- ⚡ Performance Boost: Parallel execution engine for scanning large codebases faster.
- 🔍 Smart Environment Detection: Now automatically prompts users when no venv is found, preventing accidental system-wide changes.
- 🎯 Context-Aware Reporting: Targeted commands (like
pydoctor scan-unusedorpydoctor github) now intelligently suppress unrelated scanner noise. - 🧠 OSV Deep-Fetching: Overcame upstream OSV API batch limits by implementing dynamic real-time fetching and caching of full vulnerability advisories natively.
- 🔗 Transitive Dependency Tracking: PyDoctor now uniquely segregates mathematical/transitive dependencies from pure unused bloat, effectively preventing
pydoctor fixfrom uninstalling required sub-packages. - 🛠️ Refined Git Discovery: Utilizes native git heuristics (
--is-inside-work-tree&--show-toplevel) to flawlessly map out project roots and repository states, even when scanning from deeply nested sub-directories. - 🔮 Dynamic Fix Suggestions: The
🚀 Next Stepsterminal guide now dynamically rules out the currently running command and gracefully self-hides when a project achieves a perfect 100/100 health rating.
v0.1.3
- Enhanced Package Detection: Pydoctor now intelligently detects and uses your project's specific virtual environment (Poetry, UV, PDM, or standard venv) to run all scans and diagnoses.
- Improved Architecture: Refactored core modules to reduce complexity and improve maintainability (resolved C901 linting errors).
- Fix Rendering Errors: Resolved issues with undefined verbose detail renderers in the CLI.
v0.1.2
- Maintenance: Minor internal fixes and linting improvements for CI/CD stability.
- Professional Meta: Revamped
pyproject.tomlwith complete author metadata and SEO keywords.
v0.1.1
- Bug Fixes: Minor improvements to dependency scanning reliability.
- Metadata Update: Initial professional README branding.
v0.1.0
- Initial Release: Core diagnostic engine with support for Environment, Dependencies, Outdated Packages, Security, and Unused Package scans.
- Remediation: Initial support for auto-fixing issues via
pydoctor fix.
Verified Details
- Homepage: GitHub Repository
- Issue Tracker: GitHub Issues
- Repository: iamAgbaCoder/pydoctor-cli
👥 Maintainers
- Favour Bamgboye (@iamAgbaCoder)
📄 Meta
- License: Apache License 2.0
- Author: Favour Bamgboye
- Requires: Python >=3.10
- Classifiers:
- Development Status :: 4 - Beta
- Intended Audience :: Developers
- License :: OSI Approved :: Apache Software License
- Operating System :: OS Independent
- Programming Language :: Python :: 3
- Programming Language :: Python :: 3.10
- Programming Language :: Python :: 3.11
- Programming Language :: Python :: 3.12
- Topic :: Software Development :: Quality Assurance
Developed with ❤️ by Favour Bamgboye
Release files for pydoctor-cli 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pydoctor_cli-2.0.0.tar.gz | 59.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydoctor_cli-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 129.7 kB
Release files / pydoctor_cli-2.0.0.tar.gz
| Download URL | pydoctor_cli-2.0.0.tar.gz |
|---|---|
| Size | 59.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f58bab41bddddd49a28383f073b75cd17884a593a194609dd8a0b72dee03b5e
|
|
BLAKE2b-256 checksum How to use checksums |
845787edc1b8cb947f269bb82d79b9ecb35fde6dd2c450c8282d81c9b4d53700
|
| 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 Mar 15, 2026.
Transparency logRelease files / pydoctor_cli-2.0.0-py3-none-any.whl
| Download URL | pydoctor_cli-2.0.0-py3-none-any.whl |
|---|---|
| Size | 69.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb991a2a86a0ac72b171c3c6a950eac2290f8eb2fa5f2542bd43e2b9be048241
|
|
BLAKE2b-256 checksum How to use checksums |
e346ad3e69aad557b1f662b7db1d4e7daaa69692e5e5657fba544cb40c855cd9
|
| 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 Mar 15, 2026.
Transparency log