Skip to content

Commit 59302b6

Browse files
authored
Merge pull request #3 from PingThingsIO/dependencies
make ray and semver dependencies optional
2 parents e881d2e + f9d0c3d commit 59302b6

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

btrdb/utils/ray.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
from functools import partial
2-
3-
import ray
4-
5-
import semver
6-
71
import btrdb
82
from btrdb.conn import BTrDB
3+
from functools import partial
94

105
def register_serializer(conn_str=None, apikey=None, profile=None):
116
"""
@@ -24,14 +19,23 @@ def register_serializer(conn_str=None, apikey=None, profile=None):
2419
found in the user's predictive grid credentials file
2520
`~/.predictivegrid/credentials.yaml`.
2621
"""
22+
try:
23+
import ray
24+
except ImportError:
25+
raise ImportError("must pip install ray to register custom serializer")
26+
try:
27+
import semver
28+
except ImportError:
29+
raise ImportError("must pip install semver to register custom serializer")
30+
2731
assert ray.is_initialized(), "Need to call ray.init() before registering custom serializer"
2832
# TODO: check the version using the 'semver' package?
2933
ver = semver.VersionInfo.parse(ray.__version__)
3034
if ver.major == 0:
3135
ray.register_custom_serializer(
3236
BTrDB, serializer=btrdb_serializer, deserializer=partial(btrdb_deserializer, conn_str=conn_str, apikey=apikey, profile=profile))
3337
elif ver.major == 1 and ver.minor in range(2, 4):
34-
# TODO: check different versions of ray?
38+
# TODO: check different versions of ray?
3539
ray.util.register_serializer(
3640
BTrDB, serializer=btrdb_serializer, deserializer=partial(btrdb_deserializer, conn_str=conn_str, apikey=apikey, profile=profile))
3741
else:

0 commit comments

Comments
 (0)