Skip to content

Commit dfbc3d6

Browse files
committed
Use importlib.machinery.ModuleSpec instead of TlzSpec
1 parent 6a8de2e commit dfbc3d6

File tree

1 file changed

+4
-17
lines changed

1 file changed

+4
-17
lines changed

tlz/_build_tlz.py

+4-17
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
import types
33
import toolz
44
from importlib import import_module
5+
from importlib.machinery import ModuleSpec
56

67

7-
class TlzLoader(object):
8+
class TlzLoader:
89
""" Finds and loads ``tlz`` modules when added to sys.meta_path"""
910
def __init__(self):
1011
self.always_from_toolz = {
@@ -36,7 +37,7 @@ def find_module(self, fullname, path=None): # pragma: py3 no cover
3637
def load_module(self, fullname): # pragma: py3 no cover
3738
if fullname in sys.modules: # pragma: no cover
3839
return sys.modules[fullname]
39-
spec = TlzSpec(fullname, self)
40+
spec = ModuleSpec(fullname, self)
4041
module = self.create_module(spec)
4142
sys.modules[fullname] = module
4243
self.exec_module(module)
@@ -45,7 +46,7 @@ def load_module(self, fullname): # pragma: py3 no cover
4546
def find_spec(self, fullname, path, target=None): # pragma: no cover
4647
package, dot, submodules = fullname.partition('.')
4748
if package == 'tlz':
48-
return TlzSpec(fullname, self)
49+
return ModuleSpec(fullname, self)
4950

5051
def create_module(self, spec):
5152
return types.ModuleType(spec.name)
@@ -86,20 +87,6 @@ def exec_module(self, module):
8687
module.__dict__[k] = submodule
8788

8889

89-
class TlzSpec(object):
90-
def __init__(self, name, loader):
91-
self.name = name
92-
self.loader = loader
93-
self.origin = None
94-
self.submodule_search_locations = []
95-
self.loader_state = None
96-
self.cached = None
97-
self.parent = None
98-
self.has_location = False
99-
# Added in Python 3.11 (to improve circular imports or their errors?)
100-
self._uninitialized_submodules = []
101-
102-
10390
tlz_loader = TlzLoader()
10491
sys.meta_path.append(tlz_loader)
10592
tlz_loader.exec_module(sys.modules['tlz'])

0 commit comments

Comments
 (0)