forked from napari/napari
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
233 lines (216 loc) · 5.34 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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
[metadata]
name = napari
url = https://napari.org
download_url = https://github.com/napari/napari
license = BSD 3-Clause
license_file = LICENSE
description = n-dimensional array viewer in Python
long_description = file: README.md
long_description_content_type = text/markdown
author = napari team
author_email = [email protected]
project_urls =
Bug Tracker = https://github.com/napari/napari/issues
Documentation = https://napari.org
Source Code = https://github.com/napari/napari
classifiers =
Development Status :: 3 - Alpha
Environment :: X11 Applications :: Qt
Intended Audience :: Education
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Programming Language :: C
Programming Language :: Python
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Topic :: Scientific/Engineering
Topic :: Scientific/Engineering :: Visualization
Topic :: Scientific/Engineering :: Information Analysis
Topic :: Scientific/Engineering :: Bio-Informatics
Topic :: Utilities
Operating System :: Microsoft :: Windows
Operating System :: POSIX
Operating System :: Unix
Operating System :: MacOS
[options]
zip_safe = False
packages = find:
python_requires = >=3.8
include_package_data = True
install_requires =
appdirs>=1.4.4
cachey>=0.2.1
certifi>=2018.1.18
dask[array]>=2.15.0,!=2.28.0 # https://github.com/napari/napari/issues/1656
imageio>=2.5.0,!=2.11.0
jsonschema>=3.2.0
magicgui>=0.3.6
napari-console>=0.0.4
napari-plugin-engine>=0.1.9
napari-svg>=0.1.6
npe2>=0.5.1
numpy>=1.18.5
numpydoc>=0.9.2
pandas>=1.1.0 ; python_version < '3.9'
pandas>=1.3.0 ; python_version >= '3.9'
Pillow!=7.1.0,!=7.1.1 # not a direct dependency, but 7.1.0 and 7.1.1 broke imageio
pint>=0.17
psutil>=5.0
psygnal>=0.3.4
pydantic>=1.9.0
pygments>=2.4.0
PyOpenGL>=3.1.0
PyYAML>=5.1
qtpy>=1.7.0
scikit-image>=0.19.1
scipy>=1.4.1 ; python_version < '3.9'
scipy>=1.5.4 ; python_version >= '3.9'
superqt>=0.2.5
tifffile>=2020.2.16
toolz>=0.10.0
tqdm>=4.56.0
typing_extensions
vispy>=0.10.0,<0.11
wrapt>=1.11.1
[options.package_data]
* = *.pyi
napari =
builtins.yaml
# for explanation of %(extra)s syntax see:
# https://github.com/pypa/setuptools/issues/1260#issuecomment-438187625
# this syntax may change in the future
[options.extras_require]
pyside2 =
PySide2>=5.13.2,!=5.15.0 ; python_version != '3.8'
PySide2>=5.14.2,!=5.15.0 ; python_version == '3.8'
pyside = # alias for pyside2
%(pyside2)s
pyqt5 =
PyQt5>=5.12.3,!=5.15.0
pyqt = # alias for pyqt5
%(pyqt5)s
qt = # alias for pyqt5
%(pyqt5)s
# all is the full "batteries included" extra.
all =
scikit-image[data]
%(pyqt5)s
# optional (i.e. opt-in) packages, see https://github.com/napari/napari/pull/3867#discussion_r864354854
optional =
triangle
testing =
babel>=2.9.0
fsspec
hypothesis>=6.8.0
lxml
matplotlib
pooch>=1.3.0
pytest-cov
pytest-qt
pytest>=7.0.0
tensorstore>=0.1.13
torch>=1.7
xarray
zarr
release =
PyGithub>=1.44.1
twine>=3.1.1
dev =
black
check-manifest>=0.42
flake8
isort
pre-commit>=2.9.0
pydantic[dotenv]
rich
%(all)s
%(testing)s
docs =
%(all)s
sphinx_autodoc_typehints==1.12.0
Jinja2
jupytext
sphinx-tabs
sphinx-panels
myst-nb
napari-sphinx-theme
sphinx-external-toc
sphinx-gallery
matplotlib
qtgallery
lxml
build =
black
isort
pyqt5
bundle_build =
briefcase==0.3.1
dmgbuild>=1.4.2
markupsafe<2.1
PySide2==5.15.2
ruamel.yaml
tomlkit
wheel
bundle_run =
imagecodecs
pip
PySide2==5.15.2
scikit-image[data]
zarr
wheel
pims
numpy==1.19.3
[options.entry_points]
console_scripts =
napari = napari.__main__:main
pytest11 =
napari = napari.utils._testsupport
napari.manifest =
napari = napari:builtins.yaml
[flake8]
# Ignores - https://lintlyci.github.io/Flake8Rules
# E203 Whitespace before ':' (sometimes conflicts with black)
# E501 line too long (84 > 79 characters) (sometimes too annoying)
# W503 Line break occurred before a binary operator
# C901 McCabe complexity test. Would be nice to re-enable, but takes work
ignore = E203,W503,E501,C901,D401
max-line-length = 79
max-complexity = 18
exclude = _vendor,vendored,__init__.py,examples,benchmarks,napari/resources/_qt_resources*.py
[coverage:report]
exclude_lines =
pragma: no cover
if TYPE_CHECKING:
raise NotImplementedError()
[coverage:run]
omit =
*/_vendor/*
[importlinter]
root_package = napari
include_external_packages=True
[importlinter:contract:1]
name = "Forbid import PyQt and PySide"
type = forbidden
source_modules =
napari
forbidden_modules =
PyQt5
PySide2
ignore_imports =
napari._qt.qt_resources._icons -> PyQt5
napari._qt.qt_resources._icons -> PySide2
napari._qt -> PySide2
[importlinter:contract:2]
name = "Block import from qt module in abstract ones"
type = layers
layers=
napari.qt
napari.layers
[importlinter:contract:3]
name = "Block import from qt module in abstract ones"
type = layers
layers=
napari.qt
napari.components