diff --git a/src/glypy/io/nomenclature/data/__init__.py b/src/glypy/io/nomenclature/data/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/glypy/io/nomenclature/synonyms.py b/src/glypy/io/nomenclature/synonyms.py index 8100b9c..03f22ac 100644 --- a/src/glypy/io/nomenclature/synonyms.py +++ b/src/glypy/io/nomenclature/synonyms.py @@ -1,4 +1,5 @@ -import pkg_resources +import importlib +import importlib.resources import json @@ -16,9 +17,9 @@ def __init__(self, data): class MonosaccharideSynonymIndex(SynonymIndex): - def __init__(self, stream=None): - if stream is None: - data_buffer = pkg_resources.resource_string(__name__, "data/monosaccharide_synonyms.json") + def __init__(self, data_buffer=None): + if data_buffer is None: + data_buffer = importlib.resources.read_text("glypy.io.nomenclature.data", "monosaccharide_synonyms.json") if isinstance(data_buffer, bytes): data_buffer = data_buffer.decode("utf-8") super(MonosaccharideSynonymIndex, self).__init__(json.loads(data_buffer)) diff --git a/src/glypy/structure/named_structures.py b/src/glypy/structure/named_structures.py index 1562be9..db512fe 100644 --- a/src/glypy/structure/named_structures.py +++ b/src/glypy/structure/named_structures.py @@ -1,7 +1,9 @@ -import pkg_resources +import importlib.resources import hjson import re +import importlib + from glypy.utils import StringIO, identity, uid from glypy.utils.lazy import ProxyObject from glypy.io import glycoct @@ -47,7 +49,7 @@ def __str__(self): # pragma: no cover class MonosaccharideIndex(StructureIndex): def __init__(self, stream=None, key_transform=identity, value_transform=lambda x: x.root): if stream is None: - stream = pkg_resources.resource_stream(__name__, "data/monosaccharides.hjson") + stream = importlib.resources.open_text("glypy.structure.data", "monosaccharides.hjson") with stream: super(MonosaccharideIndex, self).__init__(stream, key_transform, value_transform) @@ -65,7 +67,7 @@ def value_transform(x): return MonosaccharideResidue.from_monosaccharide(x.root) if stream is None: - stream = pkg_resources.resource_stream(__name__, "data/monosaccharides.hjson") + stream = importlib.resources.open_text("glypy.structure.data", "monosaccharides.hjson") super(MonosaccharideIndex, self).__init__(stream, key_transform, value_transform) @@ -75,7 +77,7 @@ def value_transform(x): class GlycanIndex(StructureIndex): def __init__(self, stream=None, key_transform=identity, value_transform=identity): if stream is None: - stream = pkg_resources.resource_stream(__name__, "data/glycans.hjson") + stream = importlib.resources.open_text("glypy.structure.data", "glycans.hjson") super(GlycanIndex, self).__init__(stream, key_transform, value_transform) @@ -85,7 +87,7 @@ def __init__(self, stream=None, key_transform=identity, value_transform=identity class MotifIndex(StructureIndex): def __init__(self, stream=None, key_transform=identity, value_transform=identity): if stream is None: - stream = pkg_resources.resource_stream(__name__, "data/motifs.hjson") + stream = importlib.resources.open_text("glypy.structure.data", "motifs.hjson") with stream: data = hjson.load(stream) motif_classes = set()