forked from aws-samples/eks-cluster-upgrade
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
97 lines (81 loc) · 2.55 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
[tool.poetry]
name = "eksupgrade"
version = "0.9.0"
description = "The Amazon EKS cluster upgrade utility"
authors = ["EKS Upgrade Maintainers <[email protected]>"]
readme = "README.md"
packages = [{include = "eksupgrade"}]
license = "MIT-0"
keywords = ["amazon", "aws", "aws-samples", "eks", "kubernetes", "upgrade", "eksupgrade"]
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: MIT No Attribution License (MIT-0)",
]
include = [
"README.md",
"LICENSE",
]
[tool.poetry.scripts]
eksupgrade = "eksupgrade.cli:app"
[tool.bandit]
exclude_dirs = ["tests"]
# Styling and linting Configurations
[tool.isort]
profile = "black"
line_length = 120
[tool.black]
line-length = 120
target-version = ["py310"]
[tool.ruff]
line-length = 120
target-version = "py310"
[tool.poe.tasks]
isort = "isort --profile=black ."
black = "black ."
check-black = {cmd = "black . --check --diff", help = "Check code for black styling"}
check-isort = {cmd = "isort --check --profile=black .", help = "Check code for import styling"}
check-docstrings = "pydocstyle -e ."
check-ruff = "ruff check eksupgrade"
check = ["check-isort", "check-black"]
lint = ["check-docstrings", "check-ruff"]
fix = ["isort", "black"]
test = "pytest --cov=eksupgrade --cov-report=xml --cov-report=term"
ruff = "ruff check --fix eksupgrade"
safety = "safety check"
bandit = "bandit -r eksupgrade"
security = ["safety", "bandit"]
# requires poethepoet outside of poetry.
install = "poetry install"
build = "poetry build"
[tool.poetry.dependencies]
python = "^3.8"
boto3 = "^1.32"
kubernetes = ">=23.0.0 <29.0.0"
packaging = ">=21.0,<24.0"
typer = {extras = ["all"], version = "^0.9"}
[tool.poetry.group.test.dependencies]
pytest = "^7.4"
pytest-cov = "^4.1"
coverage = "^7.4"
moto = {extras = ["autoscaling", "ec2", "eks", "ssm", "sts"], version = "^4.2"}
[tool.poetry.group.dev.dependencies]
isort = {extras = ["toml"], version = "^5.13"}
black = "^23.12"
pydocstyle = "^6.3"
mypy = "^1.8"
debugpy = "^1.8"
ruff = "^0.1"
[tool.poetry.group.security.dependencies]
safety = "^3.0"
bandit = {extras = ["toml"], version = "^1.7"}
[tool.poetry.group.types.dependencies]
types-pyyaml = "^6.0"
boto3-stubs = {extras = ["autoscaling", "ec2", "eks", "ssm", "sts"], version = "^1.32"}
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"