forked from bluesky/ophyd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
137 lines (123 loc) · 2.94 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 = ophyd
description = Bluesky hardware abstraction with an emphasis on EPICS
url = https://github.com/bluesky/ophyd
license = BSD
long_description = file: README.rst
long_description_content_type = text/x-rst
classifiers =
License :: OSI Approved :: BSD License
Development Status :: 5 - Production/Stable
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
[options]
python_requires = >=3.8
packages = find:
setup_requires =
setuptools_scm[toml]>=6.2
# Specify any package dependencies below.
install_requires =
networkx>=2.0
numpy
packaging
pint
[options.extras_require]
ca =
aioca>=1.6
pva =
p4p
# For development tests/docs
dev =
%(ca)s
%(pva)s
attrs>=19.3.0
black==22.3.0
bluesky>=1.11.0
caproto[standard] >=0.4.2rc1
pytest-codecov
databroker>=1.0.0b1
doctr
epics-pypdb
# Upper bound on flake8 while flake8-isort catches up
# https://github.com/gforcada/flake8-isort/issues/115
flake8<5.0.0
flake8-isort
h5py
inflection
ipython
ipywidgets
matplotlib
mypy
myst-parser
numpydoc
pre-commit
pydata-sphinx-theme
pyepics>=3.4.2
pytest
pytest-asyncio
pytest-cov
pytest-faulthandler
pytest-rerunfailures
pytest-timeout
pipdeptree
setuptools_scm[toml]>=6.2
sphinx-autobuild
sphinx-design
tox-direct
# Specify any package data to be included in the wheel below.
[options.package_data]
ophyd =
# Include our documentation helpers:
"*.rst"
[options.entry_points]
databroker.handlers =
NPY_SEQ = ophyd.sim:NumpySeqHandler
[mypy]
# Ignore missing stubs for modules we use
ignore_missing_imports = True
plugins = numpy.typing.mypy_plugin
[isort]
profile=black
[flake8]
max-line-length = 115
extend-ignore =
W504,
W503,
# See https://github.com/PyCQA/pycodestyle/issues/373
E203,
# support typing.overload decorator
F811,
# allow Annotated[typ, some_func("some string")]
F722,
exclude =
ui_*
.tox
.venv
docs/source,
ophyd/areadetector/docs.py
[coverage:run]
concurrency=
thread
multiprocessing
data_file = /tmp/ophyd.coverage
# Use tox to provide parallel linting and testing
# NOTE that we pre-install all tools in the dev dependencies (including tox).
# Hence the use of allowlist_externals instead of using the tox virtualenvs.
# This ensures a match between developer time tools in the IDE and tox tools.
# Setting TOX_DIRECT=1 in the environment will make this even faster
[tox:tox]
skipsdist = True
[testenv:pytest]
allowlist_externals = pytest
commands = pytest {posargs}
[testenv:mypy]
allowlist_externals = mypy
commands = mypy ophyd/v2 {posargs}
[testenv:pre-commit]
allowlist_externals = pre-commit
commands = pre-commit run --all-files {posargs}
[testenv:docs]
allowlist_externals =
sphinx-build
sphinx-autobuild
commands = sphinx-{posargs:build -EW --keep-going} -T docs build/html