Skip to content

Commit 015faff

Browse files
committed
Bump to v3.19.3
1 parent 5933c56 commit 015faff

12 files changed

Lines changed: 81 additions & 45 deletions

File tree

PKG-INFO

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
Metadata-Version: 2.1
22
Name: blpapi
3-
Version: 3.19.1
3+
Version: 3.19.3
44
Summary: Python SDK for Bloomberg BLPAPI
55
Home-page: http://www.bloomberglabs.com/api/
66
Author: Bloomberg L.P.
77
Author-email: open-tech@bloomberg.net
8-
License: UNKNOWN
9-
Platform: UNKNOWN
108
Classifier: Development Status :: 5 - Production/Stable
119
Classifier: Intended Audience :: Developers
1210
Classifier: Intended Audience :: Financial and Insurance Industry
1311
Classifier: License :: Other/Proprietary License
1412
Classifier: Topic :: Office/Business :: Financial
15-
Requires-Python: >=3
13+
Requires-Python: >=3.7
1614
License-File: License.txt
17-
18-
UNKNOWN
19-

changelog.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
Version 3.19.3:
2+
==============
3+
- Add 'expected_cpp_sdk_version()' method that returns a minimum compatible
4+
BLPAPI C++ SDK version.
5+
- Drop Python 3.6 support
6+
Installation and use of the BLPAPI Python SDK now requires a Python 3.7+ runtime.
7+
- Add Python 3.11 support
8+
- Stability and performance improvements
9+
10+
Version 3.19.2:
11+
===============
12+
- Remove Python 3.6 support from DPKG
13+
- Stability and performance improvements
14+
115
Version 3.19.1:
216
===============
317
- Stability and performance improvements

examples/demoapps/snippets/apiflds/FieldSearchRequests.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
from demoapps.snippets.apiflds.CategorizedFieldSearchRequests import (
2-
SEARCH_SPEC,
3-
)
41
from snippets.apiflds import ApiFieldsRequestUtils
52

63
from blpapi import Name

examples/demoapps/snippets/requestresponse/IntradayBarRequests.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,18 @@
22

33
from blpapi import Name
44

5-
BAR_DATA = Name("barData")
6-
BAR_TICK_DATA = Name("barTickData")
7-
OPEN = Name("open")
8-
HIGH = Name("high")
9-
LOW = Name("low")
10-
CLOSE = Name("close")
11-
VOLUME = Name("volume")
12-
NUM_EVENTS = Name("numEvents")
13-
TIME = Name("time")
14-
RESPONSE_ERROR = Name("responseError")
5+
# Used with `Message.toPy`, meaning they should use strings rather than `Name`
6+
BAR_DATA = "barData"
7+
BAR_TICK_DATA = "barTickData"
8+
OPEN = "open"
9+
HIGH = "high"
10+
LOW = "low"
11+
CLOSE = "close"
12+
VOLUME = "volume"
13+
NUM_EVENTS = "numEvents"
14+
TIME = "time"
15+
RESPONSE_ERROR = "responseError"
16+
1517
SECURITY = Name("security")
1618
EVENT_TYPE = Name("eventType")
1719
INTERVAL = Name("interval")

examples/demoapps/snippets/requestresponse/IntradayTickRequests.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
TYPE = Name("type")
1010
VALUE = Name("value")
1111
RESPONSE_ERROR = Name("responseError")
12-
SECURITY = Name.getName("security")
13-
EVENT_TYPES = Name.getName("eventTypes")
14-
START_DATE_TIME = Name.getName("startDateTime")
15-
END_DATE_TIME = Name.getName("endDateTime")
16-
INCLUDE_CONDITION_CODES = Name.getName("includeConditionCodes")
12+
SECURITY = Name("security")
13+
EVENT_TYPES = Name("eventTypes")
14+
START_DATE_TIME = Name("startDateTime")
15+
END_DATE_TIME = Name("endDateTime")
16+
INCLUDE_CONDITION_CODES = Name("includeConditionCodes")
1717

1818
DATETIME_FORMAT = "%m/%d/%Y %H:%M"
1919

setup.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,12 @@ def lib_in_release():
5757
else:
5858
blpapiLibraryName = "blpapi3_32"
5959

60+
extraCompileArgs = []
6061
extraLinkArgs = []
6162
package_data = {}
62-
if platform == "windows":
63+
if platform == "linux":
64+
extraCompileArgs = ["-Werror=implicit-function-declaration"]
65+
elif platform == "windows":
6366
extraLinkArgs = ["/MANIFEST"]
6467

6568
# Handle the very frequent case when user need to use Visual C++ 2010
@@ -85,6 +88,7 @@ def lib_in_release():
8588
include_dirs=[blpapiIncludes],
8689
library_dirs=[blpapiLibraryPath],
8790
libraries=[blpapiLibraryName],
91+
extra_compile_args=extraCompileArgs,
8892
extra_link_args=extraLinkArgs,
8993
)
9094

@@ -94,6 +98,7 @@ def lib_in_release():
9498
include_dirs=[blpapiIncludes],
9599
library_dirs=[blpapiLibraryPath],
96100
libraries=[blpapiLibraryName],
101+
extra_compile_args=extraCompileArgs,
97102
extra_link_args=extraLinkArgs,
98103
)
99104

@@ -108,7 +113,7 @@ def lib_in_release():
108113
packages=["blpapi", "blpapi.test"],
109114
package_dir={"": "src"},
110115
package_data=package_data,
111-
python_requires=">=3",
116+
python_requires=">=3.7",
112117
classifiers=[
113118
"Development Status :: 5 - Production/Stable",
114119
"Intended Audience :: Developers",

src/blpapi.egg-info/PKG-INFO

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
Metadata-Version: 2.1
22
Name: blpapi
3-
Version: 3.19.1
3+
Version: 3.19.3
44
Summary: Python SDK for Bloomberg BLPAPI
55
Home-page: http://www.bloomberglabs.com/api/
66
Author: Bloomberg L.P.
77
Author-email: open-tech@bloomberg.net
8-
License: UNKNOWN
9-
Platform: UNKNOWN
108
Classifier: Development Status :: 5 - Production/Stable
119
Classifier: Intended Audience :: Developers
1210
Classifier: Intended Audience :: Financial and Insurance Industry
1311
Classifier: License :: Other/Proprietary License
1412
Classifier: Topic :: Office/Business :: Financial
15-
Requires-Python: >=3
13+
Requires-Python: >=3.7
1614
License-File: License.txt
17-
18-
UNKNOWN
19-

src/blpapi/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,13 @@
6363
from .topic import Topic
6464
from .topiclist import TopicList
6565
from .zfputil import ZfpUtil
66-
from .version import __version__, version, cpp_sdk_version, print_version
66+
from .version import (
67+
__version__,
68+
version,
69+
cpp_sdk_version,
70+
expected_cpp_sdk_version,
71+
print_version,
72+
)
6773

6874
# blpapi.test module
6975
from .test import *

src/blpapi/debug.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def debug_load_error(error: ImportError) -> ImportError:
1616
# Try to load just the version.py
1717
version_imported = True
1818
try:
19-
from .version import version, cpp_sdk_version
19+
from .version import version, cpp_sdk_version, expected_cpp_sdk_version
2020
except ImportError as version_error:
2121
import_error = _version_load_error(version_error)
2222
version_imported = False
@@ -25,7 +25,7 @@ def debug_load_error(error: ImportError) -> ImportError:
2525
# If the version loading succeeds, the most likely reason for a failure
2626
# is a mismatch between C++ and Python SDKs.
2727
import_error = _version_mismatch_error(
28-
error, version(), cpp_sdk_version()
28+
error, version(), cpp_sdk_version(), expected_cpp_sdk_version()
2929
)
3030

3131
# Environment diagnostics currently only works for windows
@@ -104,7 +104,10 @@ def _version_load_error(error: ImportError) -> str:
104104

105105

106106
def _version_mismatch_error(
107-
error: ImportError, py_version: str, cpp_version: str
107+
error: ImportError,
108+
py_version: str,
109+
cpp_version: str,
110+
expected_cpp_sdk_version: str,
108111
) -> str:
109112
"""Called when "import version" succeeds after "import internals" fails
110113
Returns some debugging message.
@@ -115,6 +118,7 @@ def _version_mismatch_error(
115118
116119
Python SDK version {py_version}
117120
Found C++ SDK version {cpp_version}
121+
Expected C++ SDK version >= {expected_cpp_sdk_version}
118122
119123
Download and install the latest C++ SDK from:
120124

src/blpapi/exception.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,9 @@ def __getErrorClass(errorCode: int) -> Type:
129129
)
130130

131131
@staticmethod
132-
def raiseException(errorCode: int, description: str = None) -> None:
132+
def raiseException(
133+
errorCode: int, description: Optional[str] = None
134+
) -> None:
133135
"""Throw the appropriate exception for the specified 'errorCode'."""
134136
if description is None:
135137
description = internals.blpapi_getLastErrorDescription(errorCode)
@@ -139,7 +141,9 @@ def raiseException(errorCode: int, description: str = None) -> None:
139141
raise errorClass(description, errorCode)
140142

141143
@staticmethod
142-
def raiseOnError(errorCode: int, description: str = None) -> None:
144+
def raiseOnError(
145+
errorCode: int, description: Optional[str] = None
146+
) -> None:
143147
"""Throw the appropriate exception for the specified 'errorCode' if the
144148
'errorCode != 0'.
145149
"""

0 commit comments

Comments
 (0)