-
Notifications
You must be signed in to change notification settings - Fork 19
/
setup.py
121 lines (108 loc) · 4.56 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
113
114
115
116
117
118
119
120
121
import codecs
import os
import re
import numpy as np
# Always prefer setuptools over distutils
from setuptools import setup, find_packages, Extension
from Cython.Build import cythonize
# ------------------------------------------------------------------
# HELPER FUNCTIONS
here = os.path.abspath(os.path.dirname(__file__))
def read(*parts):
# intentionally *not* adding an encoding option to open, See:
# https://github.com/pypa/virtualenv/issues/201#issuecomment-3145690
with codecs.open(os.path.join(here, *parts), 'r') as fp:
return fp.read()
def find_version(*file_paths):
version_file = read(*file_paths)
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M, )
if version_match:
return version_match.group(1)
raise RuntimeError("Unable to find version string.")
# ------------------------------------------------------------------
# POPULATE SETUP
setup(
name="hyo2.soundspeed",
version=find_version("hyo2", "soundspeed", "__init__.py"),
license='LGPLv2.1 or CCOM-UNH Industrial Associate license',
namespace_packages=["hyo2"],
packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests", "*.test*", ]),
package_data={
"": [
'sis/app/media/*.png',
'soundspeed/listener/seacat/CONFIG/*.*',
'soundspeedmanager/media/*.png',
'soundspeedmanager/widgets/media/*.png',
'soundspeedmanager/stylesheet/rc/*.png',
'soundspeedmanager/stylesheet/app.stylesheet',
'soundspeedmanager/styles/main.stylesheet',
'soundspeedmanager/widgets/styles/widget.stylesheet',
'soundspeedmanager/widgets/pdf/*.pdf',
'soundspeedsettings/styles/main.stylesheet',
'soundspeedsettings/widgets/styles/widget.stylesheet',
'soundspeedsettings/media/*.png',
],
},
zip_safe=False,
setup_requires=[
"setuptools",
"wheel",
"cython",
],
install_requires=[
"hyo2.abc",
"gsw==3.0.6", # install it from github without scipy dependency, version == 3.0.6
"netCDF4",
"pillow",
"pyserial",
"scipy",
"basemap" # you may also need: conda install -c conda-forge basemap-data-hires
],
ext_modules=cythonize([
Extension("hyo2.soundspeed.profile.ray_tracing.tracedprofile",
sources=["hyo2/soundspeed/profile/ray_tracing/tracedprofile.pyx"],
include_dirs=[np.get_include()],
language='c++',
# extra_compile_args=["-Zi", "/Od"],
# extra_link_args=["-debug"],
),
],
annotate=True,
compiler_directives={'language_level': '3'}
),
python_requires='>=3.5',
entry_points={
"gui_scripts": [
'sound_speed_manager = hyo2.soundspeedmanager.gui:gui',
'sound_speed_settings = hyo2.soundspeedsettings.gui:gui',
],
"console_scripts": [
],
},
test_suite="tests",
description="A library and an application to manage sound speed profiles.",
long_description=(read("README.rst") + "\n\n\"\"\"\"\"\"\"\n\n" +
read("HISTORY.rst") + "\n\n\"\"\"\"\"\"\"\n\n" +
read("AUTHORS.rst") + "\n\n\"\"\"\"\"\"\"\n\n" +
read(os.path.join("docs", "developer_guide_how_to_contribute.rst")))
,
url="https://github.com/hydroffice/hyo2_soundspeed",
classifiers=[ #
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Science/Research',
'Natural Language :: English',
'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Topic :: Scientific/Engineering :: GIS',
'Topic :: Office/Business :: Office Suites',
],
keywords="hydrography ocean mapping survey sound speed profiles",
author="Giuseppe Masetti(UNH,CCOM); Barry Gallagher(NOAA,OCS); " \
"Chen Zhang(NOAA,OCS); Matthew Sharr (NOAA,OCS)",
author_email="[email protected], [email protected], " \
)