Files
prowler/pyproject.toml
2025-12-18 18:38:31 +01:00

152 lines
4.6 KiB
TOML

[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core>=2.0"]
# https://peps.python.org/pep-0621/
[project]
authors = [{name = "Toni de la Fuente", email = "toni@blyx.com"}]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"License :: OSI Approved :: Apache Software License"
]
dependencies = [
"awsipranges==0.3.3",
"alive-progress==3.3.0",
"azure-identity==1.21.0",
"azure-keyvault-keys==4.10.0",
"azure-mgmt-applicationinsights==4.1.0",
"azure-mgmt-authorization==4.0.0",
"azure-mgmt-compute==34.0.0",
"azure-mgmt-containerregistry==12.0.0",
"azure-mgmt-containerservice==34.1.0",
"azure-mgmt-cosmosdb==9.7.0",
"azure-mgmt-databricks==2.0.0",
"azure-mgmt-keyvault==10.3.1",
"azure-mgmt-monitor==6.0.2",
"azure-mgmt-network==28.1.0",
"azure-mgmt-rdbms==10.1.0",
"azure-mgmt-postgresqlflexibleservers==1.1.0",
"azure-mgmt-recoveryservices==3.1.0",
"azure-mgmt-recoveryservicesbackup==9.2.0",
"azure-mgmt-resource==23.3.0",
"azure-mgmt-search==9.1.0",
"azure-mgmt-security==7.0.0",
"azure-mgmt-sql==3.0.1",
"azure-mgmt-storage==22.1.1",
"azure-mgmt-subscription==3.1.1",
"azure-mgmt-web==8.0.0",
"azure-mgmt-apimanagement==5.0.0",
"azure-mgmt-loganalytics==12.0.0",
"azure-monitor-query==2.0.0",
"azure-storage-blob==12.24.1",
"boto3==1.39.15",
"botocore==1.39.15",
"colorama==0.4.6",
"cryptography==44.0.1",
"dash==3.1.1",
"dash-bootstrap-components==2.0.3",
"detect-secrets==1.5.0",
"dulwich==0.23.0",
"google-api-python-client==2.163.0",
"google-auth-httplib2>=0.1,<0.3",
"jsonschema==4.23.0",
"kubernetes==32.0.1",
"markdown==3.9.0",
"microsoft-kiota-abstractions==1.9.2",
"msgraph-sdk==1.23.0",
"numpy==2.0.2",
"pandas==2.2.3",
"py-ocsf-models==0.5.0",
"pydantic (>=2.0,<3.0)",
"pygithub==2.5.0",
"python-dateutil (>=2.9.0.post0,<3.0.0)",
"pytz==2025.1",
"schema==0.7.5",
"shodan==1.31.0",
"slack-sdk==3.34.0",
"tabulate==0.9.0",
"tzlocal==5.3.1",
"py-iam-expand==0.1.0",
"h2==4.3.0",
"oci==2.160.3",
"alibabacloud_credentials==1.0.3",
"alibabacloud_ram20150501==1.2.0",
"alibabacloud_tea_openapi==0.4.1",
"alibabacloud_sts20150401==1.1.6",
"alibabacloud_vpc20160428==6.13.0",
"alibabacloud_ecs20140526==7.2.5",
"alibabacloud_sas20181203==6.1.0",
"alibabacloud_oss20190517==1.0.6",
"alibabacloud-gateway-oss-util==0.0.3",
"alibabacloud_actiontrail20200706==2.4.1",
"alibabacloud_cs20151215==6.1.0",
"alibabacloud-rds20140815==12.0.0",
"alibabacloud-sls20201230==5.9.0"
]
description = "Prowler is an Open Source security tool to perform AWS, GCP and Azure security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness. It contains hundreds of controls covering CIS, NIST 800, NIST CSF, CISA, RBI, FedRAMP, PCI-DSS, GDPR, HIPAA, FFIEC, SOC2, GXP, AWS Well-Architected Framework Security Pillar, AWS Foundational Technical Review (FTR), ENS (Spanish National Security Scheme) and your custom security frameworks."
license = "Apache-2.0"
maintainers = [{name = "Prowler Engineering", email = "engineering@prowler.com"}]
name = "prowler"
readme = "README.md"
requires-python = ">3.9.1,<3.13"
version = "5.17.0"
[project.scripts]
prowler = "prowler.__main__:prowler"
[project.urls]
"Changelog" = "https://github.com/prowler-cloud/prowler/releases"
"Documentation" = "https://docs.prowler.com"
"Homepage" = "https://github.com/prowler-cloud/prowler"
"Issue tracker" = "https://github.com/prowler-cloud/prowler/issues"
[tool.poetry]
packages = [
{include = "prowler"},
{include = "dashboard"}
]
requires-poetry = ">=2.0"
[tool.poetry.group.dev.dependencies]
bandit = "1.8.3"
black = "25.1.0"
coverage = "7.6.12"
docker = "7.1.0"
flake8 = "7.1.2"
freezegun = "1.5.1"
marshmallow = ">=3.15.0,<4.0.0"
mock = "5.2.0"
moto = {extras = ["all"], version = "5.1.11"}
openapi-schema-validator = "0.6.3"
openapi-spec-validator = "0.7.1"
pre-commit = "4.2.0"
pylint = "3.3.4"
pytest = "8.3.5"
pytest-cov = "6.0.0"
pytest-env = "1.1.5"
pytest-randomly = "3.16.0"
pytest-xdist = "3.6.1"
safety = "3.2.9"
vulture = "2.14"
[tool.poetry-version-plugin]
source = "init"
[tool.poetry_bumpversion.file."prowler/config/config.py"]
replace = 'prowler_version = "{new_version}"'
search = 'prowler_version = "{current_version}"'
[tool.pytest.ini_options]
pythonpath = [
"."
]
[tool.pytest_env]
# For Moto and Boto3 while testing AWS
AWS_ACCESS_KEY_ID = 'testing'
AWS_DEFAULT_REGION = 'us-east-1'
AWS_SECRET_ACCESS_KEY = 'testing'
AWS_SECURITY_TOKEN = 'testing'
AWS_SESSION_TOKEN = 'testing'