cattrs icon indicating copy to clipboard operation
cattrs copied to clipboard

'_UnionGenericAlias' is deprecated and slated for removal in Python 3.17

Open LecrisUT opened this issue 9 months ago • 1 comments

Just a heads-up of a deprecation message emitted in Python3.14

/opt/hostedtoolcache/Python/3.14.0-alpha.6/x64/lib/python3.14/site-packages/cattrs/preconf/json.py:54: in make_converter
    configure_converter(res)
        args       = ()
        kwargs     = {'unstruct_collection_overrides': {<class 'collections.abc.Set'>: <class 'list'>, <class 'collections.Counter'>: <class 'dict'>}}
        res        = <cattrs.preconf.json.JsonConverter object at 0x7fd7ad42f800>
/opt/hostedtoolcache/Python/3.14.0-alpha.6/x64/lib/python3.14/site-packages/cattrs/preconf/json.py:35: in configure_converter
    converter.register_unstructure_hook(
        converter  = <cattrs.preconf.json.JsonConverter object at 0x7fd7ad42f800>
/opt/hostedtoolcache/Python/3.14.0-alpha.6/x64/lib/python3.14/site-packages/cattrs/converters.py:345: in register_unstructure_hook
    if is_union_type(cls):
        cls        = <class 'bytes'>
        func       = <function configure_converter.<locals>.<lambda> at 0x7fd7ad68d010>
        self       = <cattrs.preconf.json.JsonConverter object at 0x7fd7ad42f800>
/opt/hostedtoolcache/Python/3.14.0-alpha.6/x64/lib/python3.14/site-packages/cattrs/_compat.py:292: in is_union_type
    or (isinstance(obj, _UnionGenericAlias) and obj.__origin__ is Union)
        UnionType  = <class 'typing.Union'>
        obj        = <class 'bytes'>
/opt/hostedtoolcache/Python/3.14.0-alpha.6/x64/lib/python3.14/typing.py:1652: in __instancecheck__
    warnings._deprecated("_UnionGenericAlias", remove=(3, 17))
        inst       = <class 'bytes'>
        self       = <class 'typing._UnionGenericAlias'>

LecrisUT avatar Mar 18 '25 12:03 LecrisUT

Interesting, thanks. Going to be a long while until we can fix this though :(

Tinche avatar Mar 18 '25 13:03 Tinche