forked from ImSwitch/ImSwitch
-
Notifications
You must be signed in to change notification settings - Fork 15
/
setup.py
112 lines (104 loc) · 3.48 KB
/
setup.py
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
from setuptools import setup, find_packages
# Version will be read from your package's __init__.py
# Make sure __version__ is defined in imswitch/__init__.py
def get_version():
version_file = 'imswitch/__init__.py'
with open(version_file, 'r') as file:
for line in file:
if line.startswith('__version__'):
# Strip the line to remove whitespaces and newline characters,
# then split it on '=' and strip again to remove any remaining whitespaces.
# Finally, strip the quotes from the version string.
return line.strip().split('=')[1].strip().strip('\'"')
raise RuntimeError('Unable to find version string.')
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
setup(
name="ImSwitch",
version=get_version(),
author="Benedict Diederich, Xavier Casas Moreno, et al.",
author_email="[email protected]",
description="Microscopy control",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/openuc2/ImSwitch",
project_urls={
"Bug Tracker": "https://github.com/openuc2/ImSwitch/issues",
},
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Operating System :: OS Independent",
],
packages=find_packages(),
include_package_data=True,
python_requires=">=3.9",
install_requires=[
"pydantic >=1.10.16",
"coloredlogs >= 15",
"colour-science >= 0.3",
"dataclasses-json >= 0.5",
"h5py >= 2.10",
"pyvisa-py==0.4.1",
"lantzdev >= 0.5.2",
"luddite >= 1",
"nidaqmx >= 0.5.7",
"numpy>=1.26.4",
"packaging >= 19",
"psutil >= 5.4.8",
"pyserial >= 3.4",
"requests >= 2.25",
"scikit-image >= 0.19.2",
"Send2Trash >= 1.8",
"tifffile >= 2020.11.26",
"ome_zarr >= 0.6.1",
"Pyro5 >= 5.14",
"fastAPI >= 0.86.0",
"uvicorn[standard] >= 0.19.0",
"matplotlib >= 3.6",
"websockets >= 10.0",
"websocket-client >= 1.2",
"opencv-python",
"imjoy_rpc",
"imjoy",
"aiortc >= 1.3.0",
"UC2-REST",
"tk >= 0.1.0",
"jupyter",
"python-multipart >= 0.0.5",
"piexif >= 1.1.3",
"NanoImagingPack==2.1.4",
"pymba==0.3.7",
"ashlarUC2",
"imjoy-rpc==0.5.59",
"imswitchclient>=0.1.2",
"psygnal"
],
extras_require={ # we assume that this is installed in a conda environment or via apt-get
'PyQt5': [
"qtpy >= 1.9",
"PyQt5 >= 5.15.2",
"QDarkStyle >= 3",
"QScintilla >= 2.12",
"PyQtWebEngine >= 5.15.2",
"pyqtgraph >= 0.12.1",
"napari[pyqt5] == 0.4.19",
"lantzdev[qt] >= 0.5.2",
"qtpy >= 1.9"
],
'arkitet':
[
"arkitekt==0.7.8",
"arkitekt_next>=0.8.6"
],},
entry_points={
"console_scripts": [
"imswitch = imswitch.__main__:main",
],
'imswitch.implugins.detectors': [],
'imswitch.implugins.lasers': [],
'imswitch.implugins.positioner': []
},
)
# For NIP install it using:
# python -m pip install https://gitlab.com/bionanoimaging/nanoimagingpack/-/archive/master/nanoimagingpack-master.zip