[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core"]

# https://peps.python.org/pep-0621/
[tool.poetry]
authors = ["Toni de la Fuente <toni@blyx.com>"]
classifiers = [
  "Programming Language :: Python :: 3",
  "Programming Language :: Python :: 3.9",
  "License :: OSI Approved :: Apache Software License"
]
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 = [
  "Sergio Garcia <sergio@prowler.com>",
  "Nacho Rivera <nacho@prowler.com>",
  "Pepe Fagoaga <pepe@prowler.com>"
]
name = "prowler"
packages = [
  {include = "prowler"}
]
readme = "README.md"
version = "3.13.0"

[tool.poetry.dependencies]
alive-progress = "3.1.5"
awsipranges = "0.3.3"
azure-identity = "1.15.0"
azure-mgmt-applicationinsights = "4.0.0"
azure-mgmt-authorization = "4.0.0"
azure-mgmt-cosmosdb = "9.4.0"
azure-mgmt-security = "6.0.0"
azure-mgmt-sql = "3.0.1"
azure-mgmt-storage = "21.1.0"
azure-mgmt-subscription = "3.1.1"
azure-storage-blob = "12.19.0"
boto3 = "1.26.165"
botocore = "1.29.165"
colorama = "0.4.6"
detect-secrets = "1.4.0"
google-api-python-client = "2.117.0"
google-auth-httplib2 = ">=0.1,<0.3"
jsonschema = "4.21.1"
mkdocs = {version = "1.5.3", optional = true}
mkdocs-material = {version = "9.5.9", optional = true}
msgraph-sdk = "^1.0.0"
msrestazure = "^0.6.4"
pydantic = "1.10.14"
python = ">=3.9,<3.13"
schema = "0.7.5"
shodan = "1.31.0"
slack-sdk = "3.26.2"
tabulate = "0.9.0"

[tool.poetry.extras]
docs = ["mkdocs", "mkdocs-material"]

[tool.poetry.group.dev.dependencies]
bandit = "1.7.7"
black = "24.2.0"
coverage = "7.4.1"
docker = "7.0.0"
flake8 = "7.0.0"
freezegun = "1.4.0"
mock = "5.1.0"
moto = {extras = ["all"], version = "5.0.1"}
openapi-schema-validator = "0.6.2"
openapi-spec-validator = "0.7.1"
pylint = "3.0.3"
pytest = "8.0.0"
pytest-cov = "4.1.0"
pytest-randomly = "3.15.0"
pytest-xdist = "3.5.0"
safety = "3.0.1"
vulture = "2.11"

[tool.poetry.scripts]
prowler = "prowler.__main__:prowler"

[tool.poetry.urls]
"Changelog" = "https://github.com/prowler-cloud/prowler/releases"
"Documentation" = "https://docs.prowler.cloud"
"Homepage" = "https://github.com/prowler-cloud/prowler"
"Issue tracker" = "https://github.com/prowler-cloud/prowler/issues"

[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 = [
  "."
]
