-
Notifications
You must be signed in to change notification settings - Fork 34
/
setup.py
77 lines (71 loc) · 2.64 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
"""A setuptools based setup module.
See:
https://packaging.python.org/guides/distributing-packages-using-setuptools/
https://github.com/pypa/sampleproject
"""
from setuptools import Extension, setup, find_packages
from codecs import open
from os import path
import pathlib
here = path.abspath(path.dirname(__file__))
with open(path.join(here,'README.rst')) as f:
long_description=f.read()
def list_cython_extensions(folder="pylablib"):
exts=[]
for f in pathlib.Path(folder).glob(path.join("**","*.pyx")):
name=".".join(list(f.parts[:-1])+[path.splitext(f.parts[-1])[0]])
exts.append(Extension(name=name,sources=[str(f)],optional=True))
return exts
dep_base=['numpy','scipy','pandas']
dep_extra=['rpyc','numba']
dep_devio=['pyft232','pyvisa>=1.6','pyserial','pyusb']
dep_devio_extra=['nidaqmx','websocket-client']
dep_pyqt5=['pyqt5>=5.9','pyqtgraph']
dep_pyside2=['pyside2','shiboken2','pyqtgraph>0.10']
setup(
name='pylablib',
# name='pylablib-lightweight',
version='1.4.3',
description='Code for use in lab environment: experiment automation, data acquisition, device communication',
long_description=long_description,
long_description_content_type="text/x-rst",
url='https://github.com/AlexShkarin/pyLabLib',
author='Alexey Shkarin',
author_email='pylablib@gmail.com',
license="GPLv3",
classifiers=[
'Development Status :: 4 - Beta',
'Operating System :: Microsoft :: Windows',
'Intended Audience :: Developers',
'Intended Audience :: Science/Research',
'Topic :: Scientific/Engineering',
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
],
project_urls={
'Documentation': 'https://pylablib.readthedocs.io',
'Source': 'https://github.com/AlexShkarin/pyLabLib/',
'Tracker': 'https://github.com/AlexShkarin/pyLabLib/issues'
},
packages=find_packages(include=['pylablib*']),
ext_modules=list_cython_extensions(),
install_requires=dep_base+dep_extra+dep_devio+dep_pyqt5,
extras_require={
'devio-full':dep_devio_extra,
},
# install_requires=dep_base,
# extras_require={
# 'extra':dep_extra,
# 'devio':dep_devio,
# 'devio-full':dep_devio+dep_devio_extra,
# 'gui-pyqt5':dep_pyqt5,
# 'gui-pyside2':dep_pyside2,
# }
)