Rough cut of Python 3.11 support

This commit is contained in:
Salad Dais
2023-02-07 17:35:44 +00:00
parent b6458e9eb7
commit 8edf7ae89b
6 changed files with 21 additions and 27 deletions

View File

@@ -42,12 +42,10 @@ class _IterableStub:
RAD_TO_DEG = 180 / math.pi
class TupleCoord(recordclass.datatuple, _IterableStub): # type: ignore
__options__ = {
"fast_new": False,
}
class TupleCoord(recordclass.RecordClass, _IterableStub):
def __init__(self, *args):
# Only to help typing, doesn't actually do anything.
# All the important stuff happens in `__new__()`
pass
@classmethod
@@ -367,7 +365,7 @@ def flags_to_pod(flag_cls: Type[enum.IntFlag], val: int) -> Tuple[Union[str, int
return tuple(flag.name for flag in iter(flag_cls) if val & flag.value) + extra
class TaggedUnion(recordclass.datatuple): # type: ignore
class TaggedUnion(recordclass.RecordClass):
tag: Any
value: Any

View File

@@ -178,7 +178,7 @@ class DomainDict(TypedDict):
Min: List[float]
class VertexWeight(recordclass.datatuple): # type: ignore
class VertexWeight(recordclass.RecordClass):
"""Vertex weight for a specific joint on a specific vertex"""
# index of the joint within the joint_names list in the skin segment
joint_idx: int

View File

@@ -35,12 +35,7 @@ import hippolyzer.lib.base.serialization as se
import hippolyzer.lib.base.templates as tmpls
class Object(recordclass.datatuple): # type: ignore
__options__ = {
"use_weakref": True,
}
__weakref__: Any
class Object(recordclass.RecordClass, use_weakref=True): # type: ignore
LocalID: Optional[int] = None
State: Optional[int] = None
FullID: Optional[UUID] = None

View File

@@ -139,7 +139,7 @@ class ViewerObjectCache:
return RegionViewerObjectCache.from_file(objects_file)
class ViewerObjectCacheEntry(recordclass.datatuple): # type: ignore
class ViewerObjectCacheEntry(recordclass.dataobject): # type: ignore
local_id: int
crc: int
data: bytes

View File

@@ -1,4 +1,4 @@
aiohttp==3.8.1
aiohttp==3.8.3
aiosignal==1.2.0
appdirs==1.4.4
Arpeggio==1.10.2
@@ -14,7 +14,7 @@ click==8.0.3
cryptography==36.0.2
defusedxml==0.7.1
Flask==2.0.2
frozenlist==1.2.0
frozenlist==1.3.3
gltflib==1.0.13
Glymur==0.9.6
h11==0.12.0
@@ -29,12 +29,12 @@ kaitaistruct==0.9
lazy-object-proxy==1.6.0
ldap3==2.9.1
llsd~=1.0.0
lxml==4.6.4
lxml==4.9.2
MarkupSafe==2.0.1
mitmproxy==8.0.0
msgpack==1.0.3
multidict==5.2.0
numpy==1.21.4
numpy==1.24.2
outleap~=0.4.1
parso==0.8.3
passlib==1.7.4
@@ -49,13 +49,13 @@ Pygments==2.10.0
pyOpenSSL==22.0.0
pyparsing==2.4.7
pyperclip==1.8.2
PySide6==6.2.2
PySide6-Essentials==6.4.2
qasync==0.22.0
recordclass==0.14.3
recordclass==0.18.2
requests==2.26.0
ruamel.yaml==0.17.16
ruamel.yaml.clib==0.2.6
shiboken6==6.2.2
ruamel.yaml==0.17.21
ruamel.yaml.clib==0.2.7
shiboken6==6.4.2
six==1.16.0
sortedcontainers==2.4.0
tornado==6.1
@@ -66,5 +66,5 @@ urwid==2.1.2
wcwidth==0.2.5
Werkzeug==2.0.2
wsproto==1.0.0
yarl==1.7.2
zstandard==0.15.2
yarl==1.8.2
zstandard<0.18.0

View File

@@ -45,6 +45,7 @@ setup(
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: System :: Networking :: Monitoring",
"Topic :: Software Development :: Libraries :: Python Modules",
@@ -85,7 +86,7 @@ setup(
'outleap<1.0',
'defusedxml',
'aiohttp<4.0.0',
'recordclass<0.15',
'recordclass>0.15,<0.19',
'lazy-object-proxy',
'arpeggio',
# requests breaks with newer idna
@@ -98,7 +99,7 @@ setup(
'Glymur<0.9.7',
'numpy<2.0',
# These could be in extras_require if you don't want a GUI.
'pyside6',
'pyside6-essentials',
'qasync',
# Needed for mesh format conversion tooling
'pycollada',