-
Notifications
You must be signed in to change notification settings - Fork 33
/
setup.py
83 lines (69 loc) · 2.58 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
from setuptools import setup, find_packages
from pathlib import Path
from runpy import run_path
from extreqs import parse_requirement_files
HERE = Path(__file__).resolve().parent
verstr = run_path(str(HERE / "navis" / "__version__.py"))["__version__"]
install_requires, extras_require = parse_requirement_files(
HERE / "requirements.txt",
)
dev_only = ["test-notebook", "dev", "docs"]
specialized = ["r", "flybrains", "cloud-volume"]
all_dev_deps = []
all_deps = []
for k, v in extras_require.items():
if k in specialized:
continue
all_dev_deps.extend(v)
if k not in dev_only:
all_deps.extend(v)
extras_require["all"] = all_deps
extras_require["all-dev"] = all_dev_deps
vispy_req = extras_require["vispy-default"][0]
default_backend = vispy_req.split("[")[1].split("]")[0]
# listed here: https://vispy.org/installation.html#backend-requirements
for alt in [
"pyglet",
"pyqt5", "pyqt6",
"pyside", "pyside2", "pyside6",
"glfw", "sdl2", "wx", "tk",
]:
extras_require[f"vispy-{alt}"] = [vispy_req.replace(default_backend, alt)]
with open("README.md") as f:
long_description = f.read()
setup(
name='navis',
version=verstr,
packages=find_packages(include=["navis", "navis.*"]),
license='GNU GPL V3',
description='Neuron Analysis and Visualization library',
long_description=long_description,
long_description_content_type="text/markdown",
url='https://navis-org.github.io/navis/',
project_urls={
"Documentation": "https://navis-org.github.io/navis/",
"Source": "https://github.com/navis-org/navis",
"Changelog": "https://navis-org.github.io/navis/changelog/",
},
author='Philipp Schlegel',
author_email='[email protected]',
keywords='Neuron Analysis Visualization Morphometrics Morphology Anatomy Connectivity Transform Neuroscience NBLAST Skeletons SWC neuPrint',
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Science/Research',
'Topic :: Scientific/Engineering :: Bio-Informatics',
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
# 'Programming Language :: Python :: 3.12',
],
install_requires=install_requires,
extras_require=dict(extras_require),
tests_require=extras_require["dev"],
# CI runs against >=3.8
python_requires='>=3.9,<4.0',
zip_safe=False,
include_package_data=True
)