-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
93 lines (79 loc) · 3.02 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
[project]
name = "localstack-sdk-python"
readme = "README.md"
description = "Python SDK for LocalStack"
authors = [
{ name = "LocalStack Team", email = "[email protected]"}
]
dynamic = ["version"]
dependencies = [
"localstack-sdk-generated"
]
[project.urls]
Homepage = "https://localstack.cloud"
Documentation = "https://docs.localstack.cloud"
Repository = "https://github.com/localstack/localstack-sdk-python.git"
Issues = "https://github.com/localstack/localstack-sdk-python/issues"
[build-system]
requires = ["setuptools>=64", "setuptools_scm>=8"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
version_file = "localstack-sdk-python/localstack/sdk/version.py"
local_scheme = "no-local-version"
[tool.setuptools.dynamic]
readme = { file = ["README.md"], content-type = "text/markdown"}
[tool.uv]
dev-dependencies=[
"pytest>=8.3.3",
"ruff>=0.6.9",
"boto3>=1.35.40",
]
cache-keys = [{ file = "pyproject.toml" }, { git = { commit = true , tags = true }}]
[tool.uv.sources]
localstack-sdk-generated = { workspace = true }
[tool.uv.workspace]
members = ["packages/*"]
[tool.setuptools]
include-package-data = false
package-dir = { "" = "localstack-sdk-python"}
[tool.setuptools.packages.find]
where = ["localstack-sdk-python/"]
include = ["localstack*"]
exclude = ["tests*"]
[project.entry-points.pytest11]
localstack = "localstack.sdk.testing.pytest.plugins"
[tool.ruff]
# Always generate Python 3.8-compatible code.
target-version = "py38"
line-length = 100
src = ["localstack-sdk-python", "tests"]
exclude = [
".venv*",
"venv*",
"dist",
"build",
"target",
"*.egg-info",
"localstack-sdk-python/*.egg-info",
".git",
]
[tool.ruff.lint]
ignore = [
"B007", # TODO Loop control variable x not used within loop body
"B017", # TODO `pytest.raises(Exception)` should be considered evil
"B019", # TODO Use of `functools.lru_cache` or `functools.cache` on methods can lead to memory leaks
"B022", # TODO No arguments passed to `contextlib.suppress`. No exceptions will be suppressed and therefore this context manager is redundant
"B023", # TODO Function definition does not bind loop variable `server`
"B024", # TODO x is an abstract base class, but it has no abstract methods
"B027", # TODO `Server.do_shutdown` is an empty method in an abstract base class, but has no abstract decorator
"B904", # TODO Within an `except` clause, raise exceptions with `raise ... from err` or `raise ... from None` to distinguish them from errors in exception handling
"C408", # TODO Unnecessary `list` call (rewrite as a literal)
"C416", # TODO Unnecessary `set` comprehension
"C901", # TODO function is too complex
"E402", # TODO Module level import not at top of file
"E501", # E501 Line too long - handled by black, see https://docs.astral.sh/ruff/faq/#is-ruff-compatible-with-black
"E721", # TODO Do not compare types, use `isinstance()`
"T201", # TODO `print` found
"T203", # TODO `pprint` found
]
select = ["B", "C", "E", "F", "I", "W", "T", "B9", "G"]