-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathsetup.py
73 lines (63 loc) · 2.14 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
#!/usr/bin/env python
"""
setup.py file for Bloomberg Python SDK
"""
from distutils.core import setup, Extension
import os
import platform as plat
from sys import version
from sys import platform
if version < '3.0':
raise Exception(
"Python versions before 3.0 are not supported (current version is " +
version + ")")
if not ('BLPAPI_ROOT' in os.environ):
raise Exception("BLPAPI_ROOT environment variable isn't defined")
is64bit = plat.architecture()[0] == '64bit'
if is64bit:
blpapiLibraryName = 'blpapi3_64'
else:
blpapiLibraryName = 'blpapi3_32'
blpapiRoot = os.environ['BLPAPI_ROOT']
blpapiIncludes = os.path.join(blpapiRoot, 'include')
if platform == 'win32':
blpapiLibraryPath = os.path.join(blpapiRoot, 'lib')
extraLinkArgs = ['/MANIFEST']
# Handle the very frequent case when user need to use Visual C++ 2010
# with Python that wants to use Visual C++ 2008.
if plat.python_compiler().startswith('MSC v.1500'):
if (not ('VS90COMNTOOLS' in os.environ)) and \
('VS100COMNTOOLS' in os.environ):
os.environ['VS90COMNTOOLS'] = os.environ['VS100COMNTOOLS']
elif platform == 'linux2':
blpapiLibraryPath = os.path.join(blpapiRoot, 'Linux')
extraLinkArgs = []
elif platform == 'darwin':
blpapiLibraryPath = os.path.join(blpapiRoot, 'Darwin')
extraLinkArgs = []
else:
raise Exception("Platform '" + platform + "' isn't supported")
blpapi_wrap = Extension(
'blpapi._internals',
sources=['blpapi/internals_wrap.cxx'],
include_dirs=[blpapiIncludes],
library_dirs=[blpapiLibraryPath],
libraries=[blpapiLibraryName],
extra_link_args=extraLinkArgs
)
setup(
name='blpapi',
version='4.0.0',
author='Bloomberg L.P.',
description='Python 3k SDK for Bloomberg BLPAPI (4.0.0)',
ext_modules=[blpapi_wrap],
url='http://open.bloomberg.com/',
packages=["blpapi"],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Intended Audience :: Financial and Insurance Industry',
'License :: Other/Proprietary License',
'Topic :: Office/Business :: Financial',
],
)