Install & Compatibility
Where this runs
tested against v5.28.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
py 3.10
✕ build_error
2/4 runs
py 3.11
✕ build_error
✕ timeout
py 3.12
✕ build_error
✕ timeout
py 3.9
✕ build_error
✕ timeout
357MB installed
● package 357MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
prowler
✓ import prowler
✗ from prowler import prowler
dashboard
✓ from prowler import dashboard
✗ from prowler import prowler
This quickstart demonstrates how to run a basic Prowler AWS scan using Python's `subprocess` module. Prowler automatically uses configured cloud credentials (e.g., from AWS CLI, environment variables, or IAM roles). The example runs a specific check for brevity, but you can configure full scans or compliance frameworks using various CLI flags. Output is captured for programmatic access.
import subprocess
import os
# Ensure AWS credentials are configured (e.g., via AWS CLI or environment variables)
# Example: export AWS_ACCESS_KEY_ID='AKIA...'
# export AWS_SECRET_ACCESS_KEY='...'
# export AWS_SESSION_TOKEN='...'
print("Running a basic Prowler scan for AWS. This may take a while...")
try:
# Run a basic AWS scan and output to the terminal
# For a full scan, remove --checks CHECK_AWS_EC2_01. For specific frameworks, use --compliance.
result = subprocess.run(
["prowler", "aws", "--checks", "CHECK_AWS_EC2_01", "--output-modes", "json", "text"],
capture_output=True, text=True, check=True
)
print("Scan completed successfully.")
print("--- Standard Output ---")
print(result.stdout)
if result.stderr:
print("--- Standard Error ---")
print(result.stderr)
except subprocess.CalledProcessError as e:
print(f"An error occurred during the Prowler scan: {e}")
print(f"Command: {e.cmd}")
print(f"Return Code: {e.returncode}")
print(f"Output: {e.stdout}")
print(f"Error Output: {e.stderr}")
except FileNotFoundError:
print("Error: 'prowler' command not found. Please ensure Prowler is installed and in your PATH.")
prowler --version
Debug
Known issues
gotchaDistinction between Prowler CLI (Open Source) and Prowler Cloud/App. Many new features and multi-account management capabilities highlighted in recent releases (e.g., AWS Organizations improvements, Google Workspace integration) are exclusive to the commercial Prowler Cloud/App offering, which provides a web UI and additional features. The CLI remains a powerful open-source tool, but it's important to understand this distinction when reviewing release notes.fixRefer to the official documentation (docs.prowler.com) and GitHub README (github.com/prowler-cloud/prowler) to understand which features apply to the open-source CLI versus Prowler Cloud.
affects: All versions (since Prowler Cloud/App inception)
breakingProwler v3 deprecated the direct HTML output page. Users accustomed to a quick HTML overview from older versions will find this functionality removed, requiring different methods (e.g., the local dashboard or parsing JSON/CSV outputs) to visualize results.fixAfter running a scan, use `prowler dashboard` to launch a local web UI for visualizing findings. Alternatively, process JSON or CSV output files programmatically or with other tools.
affects: >=3.0.0
gotchaLimited disk space in AWS CloudShell (1GB) can hinder Prowler operations. Running extensive scans or generating large output files in CloudShell may lead to disk space exhaustion, preventing Prowler from completing or saving results.fixFor large environments, consider running Prowler from an EC2 instance, a Docker container with more allocated storage, or a local machine. If using CloudShell, narrow the scan scope (e.g., specific checks or services) and regularly clear old output files. Zip outputs for easier download.
affects: All versions when run in AWS CloudShell
deprecatedPoetry's `poetry shell` command is deprecated in versions 2.0.0 and above. Users activating Prowler within a Poetry environment should use the updated command.fixReplace `poetry shell` with `poetry env activate` to activate the Poetry virtual environment for Prowler.
affects: Poetry >=2.0.0
Upgrade
Version history
5.30.1latest on PyPI · released Jun 12, 2026
Audit
Dependencies
No dependency data recorded yet.