-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpyproject.toml
147 lines (132 loc) · 4.18 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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
[project]
name = "sl-cartography"
version = "0.12"
requires-python = ">=3.11"
description = "Libraries and tools for performing Second Life Cartography"
keywords = ["sl", "secondlife", "second life", "cartography"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved",
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
"Natural Language :: English",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Games/Entertainment",
"Topic :: Games/Entertainment :: Multi-User Dungeons (MUD)",
"Topic :: Games/Entertainment :: Simulation",
"Topic :: Multimedia :: Graphics :: Capture",
"Topic :: Utilities",
]
readme = "README.md"
license = { file = "LICENSE" }
authors = [
{name = "Claire Morgenthau", email = "[email protected]"}
]
dependencies = [
'uvloop; platform_system == "Linux" and platform_python_implementation == "CPython"',
"pillow",
"httpx",
"httpx[http2]",
"ruamel.yaml",
"packaging",
"tzdata",
"msgpack",
"numpy",
"scikit-image",
# "appdirs",
# "beautifulsoup4",
# "pytz",
]
[build-system]
build-backend = "setuptools.build_meta"
requires = [
"pytest",
#
"setuptools>=40.8.0",
"wheel",
]
[project.optional-dependencies]
# Dev dependencies.
dev = ["ruff"]
[tool.pytest.ini_options]
addopts = [
"--import-mode=importlib",
]
[tool.isort]
profile = "black"
py_version = 310
[tool.black]
line-length = 120
target-version = ['py311']
[tool.ruff]
indent-width = 4
line-length = 120
src = ["src"]
[tool.ruff.lint]
select = [
'A', 'ANN', 'ARG', 'ASYNC', 'B', 'C4', 'COM', 'CPY', 'D', 'DTZ', 'E', 'F', 'FA', 'FIX', 'FLY', 'FURB', 'G',
'I', 'ICN', 'INP', 'LOG', 'PERF', 'PGH', 'PIE', 'PL', 'PT', 'PTH', 'RET', 'RSE', 'RUF', 'S', 'SIM', 'SLOT',
'TCH', 'TRY', 'UP', 'W', 'YTT'
]
ignore = [
"ANN101", # No need to annotate 'self'
"ANN102", # No need to annotate 'cls' (in @classmethod)
"ANN204", # No need to annotate return values of magic methods
"COM812", # Missing comma detector is a bit too aggressive
"D105", # Do not enforce docstring for magic method; they are mostly self-describing
"D200", # Do not force 1-line docstring
"D204", # Do not force blank line after class docstring
"D205", # Do not demand "1 blank line after docstring summary"
"D212", # Do not force docstring summary at first line, so we don't have the ugly indented summary
"D400", # Do not enforce period at end of 1st line of docstring ...
"D415", # ... or any closing mark for that matter
"D401", # I have no idea what "imperative mood" is; so subjective
"PIE790", # 'pass' keyword even in docstring-ed empty function is still acceptable
"PLR0912", # "Too many branches (18 > 12)" we shall silent this for now...
"PLR0913", # "Too many arguments to function call (12 > 5)" we also shall silent this for now...
"PLR0915", # "Too many statements (58 > 50)" ignore as well...
"S101", # Don't warn use of 'assert', because we sometimes need to force type detection
"TRY003", # Don't complain on long exception message
]
[tool.ruff.lint.flake8-annotations]
allow-star-arg-any = true
mypy-init-return = true
[tool.ruff.lint.flake8-copyright]
author = "Claire Morgenthau"
[tool.ruff.lint.flake8-import-conventions.aliases]
multiprocessing = "MP"
"multiprocessing.managers" = "MPMgr"
[tool.ruff.lint.flake8-unused-arguments]
ignore-variadic-names = true
[tool.ruff.lint.isort]
combine-as-imports = true
known-first-party = ["src"]
required-imports = ["from __future__ import annotations"]
[tool.pylint.main]
source-roots = [
"src",
"tests",
]
ignore-paths = [
".*coba.*",
".*gridsurvey.*",
]
disable = [
"missing-class-docstring",
"missing-function-docstring",
"line-too-long",
"too-few-public-methods",
"too-many-locals",
"too-many-branches",
"too-many-instance-attributes",
"unnecessary-ellipsis",
"superfluous-parens",
"global-statement",
"missing-module-docstring",
]
[tool.pylint.format]
max-line-length = 120
[tool.pylint.design]
max-args = 12