forked from napari/napari
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
182 lines (163 loc) · 4.29 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
[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]
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.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
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.7
include_package_data = True
install_requires =
appdirs>=1.4.4
cachey>=0.2.1
dask[array]>=2.1.0,!=2.28.0 # https://github.com/napari/napari/issues/1656
imageio>=2.5.0
importlib-metadata>=1.5.0 ; python_version < '3.8'
jsonschema>=3.2.0
magicgui>=0.2.6
napari-console>=0.0.3
napari-plugin-engine>=0.1.9
napari-svg>=0.1.4
numpy>=1.16.5
numpydoc>=0.9.2
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
PyOpenGL>=3.1.0
PyYAML>=5.1
pydantic>=1.8.1
qtpy>=1.7.0
scipy>=1.2.0
tifffile>=2020.2.16
typing_extensions
toolz>=0.10.0
tqdm>=4.56.0
vispy>=0.6.4
wrapt>=1.11.1
[options.package_data]
* = *.pyi
# 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
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
testing =
babel>=2.9.0
pytest
pytest-faulthandler
pytest-order
pytest-qt
pytest-timeout
hypothesis>=6.8.0
pandas
xarray
fsspec
zarr
scikit-image>=0.18.1
pooch>=1.3.0
semgrep
tensorstore>=0.1.10,!=0.1.11
torch>=1.7
release =
PyGithub>=1.44.1
twine>=3.1.1
pygithub
dev =
pre-commit>=2.9.0
black==20.8b1
flake8==3.8.4
check-manifest>=0.42
%(all)s
%(testing)s
[options.entry_points]
console_scripts =
napari = napari.__main__:main
pytest11 =
napari = napari.utils._testsupport
[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
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()
[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
ignore_imports=
napari.utils.action_manager -> napari.qt
[importlinter:contract:3]
name = "Block import from qt module in abstract ones"
type = layers
layers=
napari.qt
napari.components
ignore_imports=
napari.utils.action_manager -> napari.qt