Registry / testing / prospector

prospector

JSON →
library1.18.0pypypi✓ verified 87d ago

Prospector is a comprehensive Python code analysis tool that aggregates results from various static analysis tools like Pylint, Mypy, and Flake8. It offers a unified interface for code quality checks, supporting configurable profiles and output formats. Currently at version 1.18.0, Prospector maintains an active development pace with frequent releases addressing dependency updates, bug fixes, and minor feature enhancements.

pip install prospector
INSTALL
IMPORT
SIG · PROSPECTOR
P
prospector
testingpythonv1.18.0
Install
4.9s avg
Import
1972ms
Disk
36MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.18.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.940 runs
installs and imports cleanly · install 0.0s · import 2.035s · 36.6MB
glibc
py 3.103.940 runs
installs and imports cleanly · install 4.9s · import 1.909s · 38MB
36MB installed
● package 36MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

run
from prospector import run
Prospector is primarily a command-line tool. Programmatic use often involves `subprocess` or `prospector.run` for direct execution within Python.

Run Prospector from the command line on a specified file or directory. For more control, use a configuration file like `.prospector.yml`.

# Run Prospector on a Python file or directory # This will use default profiles and output to console. prospector my_module.py # Run with strict checks and a zero exit code on success prospector --strict --zero-exit my_package/
prospector --version
Debug
Known issues
breakingThe `pylint-flask` tool was removed due to being unmaintained and incompatible with newer `setuptools` versions. Projects relying on `pylint-flask` through Prospector will no longer have those checks.
fix
Migrate any `pylint-flask` specific checks to alternative tools or manual review. Consider if `flake8-flask` or similar dedicated linters for Flask are needed and integrate them separately.
affects: >=1.16.0
gotchaPerformance can be an issue on large codebases due to the aggregation of multiple analysis tools. This can lead to long CI/CD pipeline runtimes.
fix
Optimize configuration by disabling unnecessary tools or checks for specific parts of the codebase. Utilize caching mechanisms if available (e.g., in CI). Run Prospector incrementally on changed files where possible.
affects: All
gotchaConfiguration can be complex. Managing profiles, tool-specific settings, and exclusions across `.prospector.yml`, `pyproject.toml`, or command-line arguments requires careful attention.
fix
Start with a minimal `.prospector.yml` and gradually add complexity. Leverage Prospector's built-in profiles (`strict`, `moderate`, `web`). Use `prospector --dump-config` to understand the active configuration.
affects: All
gotchaProspector bundles specific versions of its underlying analysis tools. Upgrading Prospector can implicitly upgrade these tools, potentially introducing new errors or warnings that were not present in previous versions.
fix
Always test new Prospector versions in a staging environment before deploying to production. Review release notes for underlying tool version bumps. Pin Prospector to a specific version in `requirements.txt` or `pyproject.toml` to maintain stability.
affects: All
Errors
Common errors & fixes
FatalProspectorException: Tool pylint failed to run.
This error often occurs when Pylint, one of the integrated tools in Prospector, encounters an unhandled exception or an incompatibility issue, such as a specific Pylint version conflicting with the analyzed code or its dependencies.
fix
Check for known incompatibilities between your Pylint version and Prospector; downgrading Pylint might resolve the issue if it's a known bug. Alternatively, the root cause could be an underlying syntax or runtime error in your Python code that Pylint cannot properly process.
Django is not available on the PYTHONPATH
Prospector's auto-detection mechanism (or explicitly included `pylint-django`) attempts to load Django-specific analysis, but Django is either not installed or the project being analyzed is not a Django project.
fix
If your project is not a Django project, disable Prospector's auto-detection by adding `autodetect: false` to your `.prospector.yaml` configuration file, or explicitly specify the frameworks in use via the `uses` option.
prospector command not found
This indicates that the `prospector` executable is not in your system's PATH, typically because the installation was not completed successfully or the Python environment where Prospector was installed is not active.
fix
Ensure Prospector is installed in your active Python environment using `pip install prospector`. If using a virtual environment, activate it before running `prospector`. Verify the installation by checking Python's script directory or reinstalling.
Upgrade
Version history
1.18.0latest on PyPI · released Feb 3, 2026
Audit
Dependencies
pythonrequiredRequired runtime environment.
pylintoptionalCommonly used underlying linter, included with 'with_tools' extra.
mypyoptionalCommonly used type checker, included with 'with_tools' extra.
flake8optionalCommonly used style guide enforcement, included with 'with_tools' extra.
Agent activity
11 hits · last 30 days
node
8
Resources
prospector — pip install prospector · libregistry