Skip to content

Commit 32135de

Browse files
authored
Merge pull request #533 from eriknw/python3.11
Fix Tlz error in Python 3.11 (alpha)
2 parents 03a7efd + dfbc3d6 commit 32135de

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

.github/workflows/test.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,18 @@ jobs:
1212
fail-fast: false
1313
matrix:
1414
os: ["ubuntu-latest"]
15-
python-version: [3.5, 3.6, 3.7, 3.8, 3.9, "3.10", "pypy-3.6", "pypy-3.7", "pypy-3.8"]
15+
python-version:
16+
- "3.5"
17+
- "3.6"
18+
- "3.7"
19+
- "3.8"
20+
- "3.9"
21+
- "3.10"
22+
- "3.11.0-alpha - 3.11.0"
23+
- "pypy-3.6"
24+
- "pypy-3.7"
25+
- "pypy-3.8"
26+
- "pypy-3.9"
1627
steps:
1728
- name: Checkout
1829
uses: actions/checkout@v2

tlz/_build_tlz.py

Lines changed: 4 additions & 15 deletions
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,18 +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-
100-
10190
tlz_loader = TlzLoader()
10291
sys.meta_path.append(tlz_loader)
10392
tlz_loader.exec_module(sys.modules['tlz'])

0 commit comments

Comments
 (0)