-
Notifications
You must be signed in to change notification settings - Fork 7
/
setup.cfg
137 lines (124 loc) · 2.55 KB
/
setup.cfg
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
[metadata]
name = metricq
version = file: .version
author = TU Dresden
description = A highly-scalable, distributed metric data processing framework based on RabbitMQ
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/metricq/metricq-python
license = BSD 3-clause "New" or "Revised License"
license_file = LICENSE
classifiers =
License :: OSI Approved :: BSD License
Programming Language :: Python :: 3
[options]
python_requires = >=3.10
[options.package_data]
metricq = py.typed
# For runtime dependencies (install_requires), see setup.py.
# We need to dynamically determine a protobuf version, so we
# cannot put these dependencies here.
[options.extras_require]
examples =
aiomonitor-ng
click
click-log
lint =
black[jupyter] ~= 23.1.0
flake8
isort ~= 5.0
check-manifest
pre-commit
test =
%(cli)s
pytest
pytest-asyncio
pytest-mock
typing =
mypy>=1.2.0
mypy-protobuf
types-Deprecated
types-setuptools
types-protobuf
types-python-dateutil
pandas-stubs ~= 2.0.1
uvloop
# To properly typecheck the full source including optionals, we must depend on them here
%(pandas)s
%(examples)s
%(test)s
docs =
%(pandas)s
sphinx ~= 6.1.3
sphinx_rtd_theme ~= 1.2.0
sphinx_autodoc_typehints ~= 1.22.0
sphinxcontrib-trio ~= 1.1.2
scanpydoc ~= 0.7.8
dev =
%(test)s
%(lint)s
%(examples)s
%(typing)s
%(docs)s
%(cli)s
tox
pandas =
pandas ~= 2.2.0
cli =
click
click-log
python-dotenv~=1.0.0
[flake8]
application-import-names =
metricq,
tests,
examples
extend-exclude =
*_pb2.py,
*_pb2.pyi,
build,
.venv,
venv
show-source = True
statistics = True
select =
# Regular flake8 rules
C, E, F, W
# pep8-naming rules
N
ignore =
# E203: whitespace before ':' (not PEP8 compliant)
E203
# E501: line too long (black does that)
E501
# W503: line break before binary operator (not PEP8 compliant)
W503
[tox:tox]
envlist =
pytest
black
isort
check-manifest
flake8
mypy
[testenv:pytest]
deps = .[test]
commands =
pytest \
--basetemp={envtmpdir} \
{posargs}
[testenv:black]
deps = .[lint]
commands = black --check .
[testenv:isort]
deps = .[lint]
commands = isort --diff --check .
[testenv:check-manifest]
deps = .[lint]
commands = check-manifest
[testenv:flake8]
deps = .[lint]
commands = flake8 .
[testenv:mypy]
deps = .[typing, cli]
commands = mypy --strict metricq examples tests setup.py