chore(poetry): make python-poetry as packaging and dependency manager (#1935)

Co-authored-by: Pepe Fagoaga <pepe@verica.io>
This commit is contained in:
Sergio Garcia
2023-02-23 11:50:29 +01:00
committed by GitHub
parent 7a08140a2d
commit 9590e7d7e0
14 changed files with 2689 additions and 1830 deletions

View File

@@ -1,66 +1,86 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core"]
[project]
name = "prowler-cloud"
# https://peps.python.org/pep-0440/
version = "3.2.1"
authors = [{ name = "Toni de la Fuente", email = "toni@blyx.com" }]
maintainers = [
{ name = "Sergio Garcia", email = "sergio@verica.io" },
{ name = "Nacho Rivera", email = "nacho@verica.io" },
{ name = "Pepe Fagoaga", email = "pepe@verica.io" },
]
description = "Prowler is an Open Source security tool to perform Cloud Security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness. It contains more than 240 controls covering CIS, PCI-DSS, ISO27001, GDPR, HIPAA, FFIEC, SOC2, AWS FTR, ENS and custom security frameworks."
readme = "README.md"
requires-python = ">=3.9"
license = { text = "Apache-2.0" }
# 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",
"License :: OSI Approved :: Apache Software License"
]
# https://peps.python.org/pep-0631/
dependencies = [
"colorama ~=0.4.4",
"boto3 ~=1.26.17",
"arnparse ~=0.0.2",
"botocore ~=1.29.18",
"pydantic ~=1.9.1",
"schema ~=0.7.5",
"shodan ~=1.28.0",
"detect-secrets ~=1.4.0",
"alive-progress ~=2.4.1",
"tabulate ~=0.9.0",
"azure-identity ~=1.12.0",
"azure-storage-blob ~=12.14.1",
"msgraph-core ~=0.2.2",
"azure-mgmt-subscription ~=3.1.1",
"azure-mgmt-authorization ~=3.0.0",
"azure-mgmt-security ~=3.0.0",
"azure-mgmt-storage ~=21.0.0",
description = "Prowler is an Open Source security tool to perform Cloud Security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness. It contains more than 240 controls covering CIS, PCI-DSS, ISO27001, GDPR, HIPAA, FFIEC, SOC2, AWS FTR, ENS and custom security frameworks."
license = "Apache-2.0"
maintainers = [
"Sergio Garcia <sergio@verica.io>",
"Nacho Rivera <nacho@verica.io>",
"Pepe Fagoaga <pepe@verica.io>"
]
name = "prowler"
packages = [
{include = "prowler"}
]
readme = "README.md"
version = "3.2.0"
[project.urls]
"Homepage" = "https://github.com/prowler-cloud/prowler"
"Documentation" = "https://docs.prowler.cloud"
"Issue tracker" = "https://github.com/prowler-cloud/prowler/issues"
"Changelog" = "https://github.com/prowler-cloud/prowler/releases"
[tool.poetry.dependencies]
alive-progress = "2.4.1"
arnparse = "0.0.2"
azure-identity = "1.12.0"
azure-mgmt-authorization = "3.0.0"
azure-mgmt-security = "3.0.0"
azure-mgmt-storage = "21.0.0"
azure-mgmt-subscription = "3.1.1"
azure-storage-blob = "12.14.1"
boto3 = "1.26.74"
botocore = "1.29.74"
colorama = "0.4.5"
detect-secrets = "1.4.0"
mkdocs = {version = "1.4.2", optional = true}
mkdocs-material = {version = "8.2.1", optional = true}
msgraph-core = "0.2.2"
pydantic = "1.10.5"
python = "^3.9"
schema = "0.7.5"
shodan = "1.28.0"
tabulate = "0.9.0"
# https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
[tool.setuptools]
include-package-data = true
package-dir = { "prowler" = "prowler" }
[tool.poetry.extras]
docs = ["mkdocs", "mkdocs-material"]
[tool.setuptools.package-data]
# We need the above pattern to include our data files
"*" = ["*.yaml", "*.json"]
[tool.poetry.group.dev.dependencies]
bandit = "1.7.4"
black = "22.10.0"
coverage = "7.1.0"
docker = "6.0.0"
flake8 = "5.0.4"
freezegun = "1.2.1"
moto = "4.1.2"
openapi-spec-validator = "0.5.5"
pylint = "2.16.2"
pytest = "7.2.1"
pytest-xdist = "3.2.0"
safety = "2.3.5"
sure = "2.0.1"
vulture = "2.7"
[project.scripts]
[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 = [
"."