-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
122 lines (109 loc) · 2.83 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
[build-system]
requires = ['setuptools>=64', 'setuptools-scm>=8']
build-backend = 'setuptools.build_meta'
[project]
name = 'cycl'
version='0.2.3'
requires-python = '>=3.9'
description = 'CLI and Python SDK to help identify cross-stack import/export circular dependencies, for a given AWS account and region.'
readme = 'README.md'
keywords = ['aws', 'cdk', 'cycle', 'circular', 'dependency', 'infrastructure', 'boto3', 'cloud']
classifiers = [
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3',
'Programming Language :: Python',
'Topic :: Software Development',
]
dependencies = [
'boto3~=1.0',
'networkx~=3.0',
]
[project.optional-dependencies]
dev = [
'boto3-stubs[essential]==1.36.21',
'mypy==1.15.0',
'pytest-cov==6.0.0',
'pytest-subtests==0.14.1',
'pytest-sugar==1.0.0',
'pytest==8.3.4',
'ruff==0.9.4',
'types-networkx==3.4.2.20241227',
]
doc = [
'myst-parser==4.0.1',
'sphinx_rtd_theme==3.0.2',
'sphinx-argparse==0.5.2',
'sphinx-autobuild==2024.10.3',
'sphinx==8.1.3',
]
[project.urls]
Repository = 'http://github.com/tcm5343/cycl'
Documentation = 'https://tcm5343.github.io/cycl/index.html'
[project.scripts]
cycl = 'cycl.cli:app'
[tool.ruff]
line-length = 125
[tool.ruff.lint]
select = ['ALL']
ignore = [
'COM', # flake8-commas
'D', # pydocstyle
'ERA001', # commented-out-code
'FIX002', # line-contains-todo
'Q000', # bad-quotes-inline-string
'Q003', # avoidable-escaped-quote
'T201', # print
'TD', # flake8-todos
]
[tool.ruff.lint.per-file-ignores]
'tests/**' = [
'ANN', # flake8-annotations
'PLR2004', # magic-value-comparison
'S101', # assert
]
'docs/**' = [
'INP001', # implicit-namespace-package
'A001', # builtin-variable-shadowing
]
'__init__.py' = [
'F401', # unused-import
]
[tool.ruff.format]
quote-style = 'single'
indent-style = 'space'
docstring-code-format = true
[tool.coverage.run]
branch = true
source = ['./src']
[tool.coverage.report]
fail_under = 90
show_missing = true
skip_covered = true
skip_empty = true
exclude_lines = [
"if TYPE_CHECKING:",
]
omit = [
'__*__.py',
]
[tool.pytest.ini_options]
log_cli_level = 'INFO'
addopts = ['--import-mode=importlib']
[tool.tox]
env_list = ["py39", "py310", "py311", "py312", "py313"]
skip_missing_interpreters = false
[tool.tox.env_run_base]
allowlist_externals = ['make']
package = "editable"
deps = [".[dev]"]
commands = [
["make", "validate"],
["make", "test", "ARGS={posargs}"]
]