xtyping


Namextyping JSON
Version 0.8.2 PyPI version JSON
download
home_pagehttps://github.com/dynamic-graphics-inc/dgpy-libs/tree/main/libs/xtyping
Summaryxtyping = typing + typing_extensions
upload_time2024-02-02 20:24:47
maintainer
docs_urlNone
authorjesse
requires_python>=3.8,<4.0
licenseMIT
keywords typing dgpy typed types
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <a href="https://github.com/dynamic-graphics-inc/dgpy-libs">
<img align="right" src="https://github.com/dynamic-graphics-inc/dgpy-libs/blob/main/docs/images/dgpy_banner.svg?raw=true" alt="drawing" height="120" width="300"/>
</a>

# xtyping

[![Wheel](https://img.shields.io/pypi/wheel/xtyping.svg)](https://img.shields.io/pypi/wheel/xtyping.svg)
[![Version](https://img.shields.io/pypi/v/xtyping.svg)](https://img.shields.io/pypi/v/xtyping.svg)
[![py_versions](https://img.shields.io/pypi/pyversions/xtyping.svg)](https://img.shields.io/pypi/pyversions/xtyping.svg)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

**Install:** `pip install xtyping`

---

## What is xtyping?

xtyping (short for extended typing) lets you import all your friends from `typing` as well as `typing_extensions`

- `typing` | `typing_extensions`; xtyping 'exports' everything in `typing.__all__` and `typing_extensions.__all__`
- Common type aliases

## Why not use `typing_extensions`?

Don't have to import both `typing` and `typing_extensions`; BOOM

Instead of writing:

```
from typing import Optional
from typing_extensions import TypedDict
```

you can write:

```
from xtyping import Optional, TypedDict
# or
import xtyping as xt
TypedDict = xt.TypedDict
Optional = xt.Optional
```

```python
import xtyping as xt

from_typing = [
    "  ~  ".join((f"xt.{el}", f"typing.{el}", str(getattr(xt, el))))
    for el in xt.__all_typing__
]
from_typing_extensions = [
    "  ~  ".join((f"xt.{el}", f"typing_extensions.{el}", str(getattr(xt, el))))
    for el in xt.__all_typing__
]
from_xtyping_shed = [
    "  ~  ".join((f"xt.{el}", f"xtyping.shed.{el}", str(getattr(xt, el))))
    for el in xt.__all_shed__
]
print(
    "\n".join(
        [
            "-------------",
            "from `typing`",
            "-------------",
            *from_typing,
            "\n",
            "------------------------",
            "from `typing_extensions`",
            "------------------------",
            *from_typing_extensions,
            "\n",
            "-------------------",
            "from `xtyping.shed`",
            "-------------------",
            *from_xtyping_shed,
            "\n",
        ]
    )
)
```

    -------------
    from `typing`
    -------------
    xt.AbstractSet  ~  typing.AbstractSet  ~  typing.AbstractSet
    xt.Any  ~  typing.Any  ~  typing.Any
    xt.AnyStr  ~  typing.AnyStr  ~  ~AnyStr
    xt.AsyncContextManager  ~  typing.AsyncContextManager  ~  typing.AbstractAsyncContextManager
    xt.AsyncGenerator  ~  typing.AsyncGenerator  ~  typing.AsyncGenerator
    xt.AsyncIterable  ~  typing.AsyncIterable  ~  typing.AsyncIterable
    xt.AsyncIterator  ~  typing.AsyncIterator  ~  typing.AsyncIterator
    xt.Awaitable  ~  typing.Awaitable  ~  typing.Awaitable
    xt.ByteString  ~  typing.ByteString  ~  typing.ByteString
    xt.Callable  ~  typing.Callable  ~  typing.Callable
    xt.ChainMap  ~  typing.ChainMap  ~  typing.ChainMap
    xt.ClassVar  ~  typing.ClassVar  ~  typing.ClassVar
    xt.Collection  ~  typing.Collection  ~  typing.Collection
    xt.Container  ~  typing.Container  ~  typing.Container
    xt.ContextManager  ~  typing.ContextManager  ~  typing.AbstractContextManager
    xt.Coroutine  ~  typing.Coroutine  ~  typing.Coroutine
    xt.Counter  ~  typing.Counter  ~  typing.Counter
    xt.DefaultDict  ~  typing.DefaultDict  ~  typing.DefaultDict
    xt.Deque  ~  typing.Deque  ~  typing.Deque
    xt.Dict  ~  typing.Dict  ~  typing.Dict
    xt.FrozenSet  ~  typing.FrozenSet  ~  typing.FrozenSet
    xt.Generator  ~  typing.Generator  ~  typing.Generator
    xt.Generic  ~  typing.Generic  ~  <class 'typing.Generic'>
    xt.Hashable  ~  typing.Hashable  ~  typing.Hashable
    xt.IO  ~  typing.IO  ~  <class 'typing.IO'>
    xt.ItemsView  ~  typing.ItemsView  ~  typing.ItemsView
    xt.Iterable  ~  typing.Iterable  ~  typing.Iterable
    xt.Iterator  ~  typing.Iterator  ~  typing.Iterator
    xt.KeysView  ~  typing.KeysView  ~  typing.KeysView
    xt.List  ~  typing.List  ~  typing.List
    xt.Mapping  ~  typing.Mapping  ~  typing.Mapping
    xt.MappingView  ~  typing.MappingView  ~  typing.MappingView
    xt.MutableMapping  ~  typing.MutableMapping  ~  typing.MutableMapping
    xt.MutableSequence  ~  typing.MutableSequence  ~  typing.MutableSequence
    xt.MutableSet  ~  typing.MutableSet  ~  typing.MutableSet
    xt.NamedTuple  ~  typing.NamedTuple  ~  <class 'typing.NamedTuple'>
    xt.NewType  ~  typing.NewType  ~  <function NewType at 0x7fd2e534f790>
    xt.Optional  ~  typing.Optional  ~  typing.Optional
    xt.Reversible  ~  typing.Reversible  ~  typing.Reversible
    xt.Sequence  ~  typing.Sequence  ~  typing.Sequence
    xt.Set  ~  typing.Set  ~  typing.Set
    xt.Sized  ~  typing.Sized  ~  typing.Sized
    xt.SupportsAbs  ~  typing.SupportsAbs  ~  <class 'typing.SupportsAbs'>
    xt.SupportsBytes  ~  typing.SupportsBytes  ~  <class 'typing.SupportsBytes'>
    xt.SupportsComplex  ~  typing.SupportsComplex  ~  <class 'typing.SupportsComplex'>
    xt.SupportsFloat  ~  typing.SupportsFloat  ~  <class 'typing.SupportsFloat'>
    xt.SupportsInt  ~  typing.SupportsInt  ~  <class 'typing.SupportsInt'>
    xt.SupportsRound  ~  typing.SupportsRound  ~  <class 'typing.SupportsRound'>
    xt.TYPE_CHECKING  ~  typing.TYPE_CHECKING  ~  False
    xt.Text  ~  typing.Text  ~  <class 'str'>
    xt.Tuple  ~  typing.Tuple  ~  typing.Tuple
    xt.Type  ~  typing.Type  ~  typing.Type
    xt.TypeVar  ~  typing.TypeVar  ~  <class 'typing.TypeVar'>
    xt.Union  ~  typing.Union  ~  typing.Union
    xt.ValuesView  ~  typing.ValuesView  ~  typing.ValuesView
    xt.cast  ~  typing.cast  ~  <function cast at 0x7fd2e53435e0>
    xt.get_type_hints  ~  typing.get_type_hints  ~  <function get_type_hints at 0x7fd2dc7531f0>
    xt.no_type_check  ~  typing.no_type_check  ~  <function no_type_check at 0x7fd2e53438b0>
    xt.no_type_check_decorator  ~  typing.no_type_check_decorator  ~  <function no_type_check_decorator at 0x7fd2e5343940>
    xt.overload  ~  typing.overload  ~  <function overload at 0x7fd2dc721a60>


    ------------------------
    from `typing_extensions`
    ------------------------
    xt.AbstractSet  ~  typing_extensions.AbstractSet  ~  typing.AbstractSet
    xt.Any  ~  typing_extensions.Any  ~  typing.Any
    xt.AnyStr  ~  typing_extensions.AnyStr  ~  ~AnyStr
    xt.AsyncContextManager  ~  typing_extensions.AsyncContextManager  ~  typing.AbstractAsyncContextManager
    xt.AsyncGenerator  ~  typing_extensions.AsyncGenerator  ~  typing.AsyncGenerator
    xt.AsyncIterable  ~  typing_extensions.AsyncIterable  ~  typing.AsyncIterable
    xt.AsyncIterator  ~  typing_extensions.AsyncIterator  ~  typing.AsyncIterator
    xt.Awaitable  ~  typing_extensions.Awaitable  ~  typing.Awaitable
    xt.ByteString  ~  typing_extensions.ByteString  ~  typing.ByteString
    xt.Callable  ~  typing_extensions.Callable  ~  typing.Callable
    xt.ChainMap  ~  typing_extensions.ChainMap  ~  typing.ChainMap
    xt.ClassVar  ~  typing_extensions.ClassVar  ~  typing.ClassVar
    xt.Collection  ~  typing_extensions.Collection  ~  typing.Collection
    xt.Container  ~  typing_extensions.Container  ~  typing.Container
    xt.ContextManager  ~  typing_extensions.ContextManager  ~  typing.AbstractContextManager
    xt.Coroutine  ~  typing_extensions.Coroutine  ~  typing.Coroutine
    xt.Counter  ~  typing_extensions.Counter  ~  typing.Counter
    xt.DefaultDict  ~  typing_extensions.DefaultDict  ~  typing.DefaultDict
    xt.Deque  ~  typing_extensions.Deque  ~  typing.Deque
    xt.Dict  ~  typing_extensions.Dict  ~  typing.Dict
    xt.FrozenSet  ~  typing_extensions.FrozenSet  ~  typing.FrozenSet
    xt.Generator  ~  typing_extensions.Generator  ~  typing.Generator
    xt.Generic  ~  typing_extensions.Generic  ~  <class 'typing.Generic'>
    xt.Hashable  ~  typing_extensions.Hashable  ~  typing.Hashable
    xt.IO  ~  typing_extensions.IO  ~  <class 'typing.IO'>
    xt.ItemsView  ~  typing_extensions.ItemsView  ~  typing.ItemsView
    xt.Iterable  ~  typing_extensions.Iterable  ~  typing.Iterable
    xt.Iterator  ~  typing_extensions.Iterator  ~  typing.Iterator
    xt.KeysView  ~  typing_extensions.KeysView  ~  typing.KeysView
    xt.List  ~  typing_extensions.List  ~  typing.List
    xt.Mapping  ~  typing_extensions.Mapping  ~  typing.Mapping
    xt.MappingView  ~  typing_extensions.MappingView  ~  typing.MappingView
    xt.MutableMapping  ~  typing_extensions.MutableMapping  ~  typing.MutableMapping
    xt.MutableSequence  ~  typing_extensions.MutableSequence  ~  typing.MutableSequence
    xt.MutableSet  ~  typing_extensions.MutableSet  ~  typing.MutableSet
    xt.NamedTuple  ~  typing_extensions.NamedTuple  ~  <class 'typing.NamedTuple'>
    xt.NewType  ~  typing_extensions.NewType  ~  <function NewType at 0x7fd2e534f790>
    xt.Optional  ~  typing_extensions.Optional  ~  typing.Optional
    xt.Reversible  ~  typing_extensions.Reversible  ~  typing.Reversible
    xt.Sequence  ~  typing_extensions.Sequence  ~  typing.Sequence
    xt.Set  ~  typing_extensions.Set  ~  typing.Set
    xt.Sized  ~  typing_extensions.Sized  ~  typing.Sized
    xt.SupportsAbs  ~  typing_extensions.SupportsAbs  ~  <class 'typing.SupportsAbs'>
    xt.SupportsBytes  ~  typing_extensions.SupportsBytes  ~  <class 'typing.SupportsBytes'>
    xt.SupportsComplex  ~  typing_extensions.SupportsComplex  ~  <class 'typing.SupportsComplex'>
    xt.SupportsFloat  ~  typing_extensions.SupportsFloat  ~  <class 'typing.SupportsFloat'>
    xt.SupportsInt  ~  typing_extensions.SupportsInt  ~  <class 'typing.SupportsInt'>
    xt.SupportsRound  ~  typing_extensions.SupportsRound  ~  <class 'typing.SupportsRound'>
    xt.TYPE_CHECKING  ~  typing_extensions.TYPE_CHECKING  ~  False
    xt.Text  ~  typing_extensions.Text  ~  <class 'str'>
    xt.Tuple  ~  typing_extensions.Tuple  ~  typing.Tuple
    xt.Type  ~  typing_extensions.Type  ~  typing.Type
    xt.TypeVar  ~  typing_extensions.TypeVar  ~  <class 'typing.TypeVar'>
    xt.Union  ~  typing_extensions.Union  ~  typing.Union
    xt.ValuesView  ~  typing_extensions.ValuesView  ~  typing.ValuesView
    xt.cast  ~  typing_extensions.cast  ~  <function cast at 0x7fd2e53435e0>
    xt.get_type_hints  ~  typing_extensions.get_type_hints  ~  <function get_type_hints at 0x7fd2dc7531f0>
    xt.no_type_check  ~  typing_extensions.no_type_check  ~  <function no_type_check at 0x7fd2e53438b0>
    xt.no_type_check_decorator  ~  typing_extensions.no_type_check_decorator  ~  <function no_type_check_decorator at 0x7fd2e5343940>
    xt.overload  ~  typing_extensions.overload  ~  <function overload at 0x7fd2dc721a60>


    -------------------
    from `xtyping.shed`
    -------------------
    xt.AF  ~  xtyping.shed.AF  ~  ~AF
    xt.AFn  ~  xtyping.shed.AFn  ~  ~AFn
    xt.AnyAsyncCallable  ~  xtyping.shed.AnyAsyncCallable  ~  typing.Callable[..., typing.Awaitable[typing.Any]]
    xt.AnyCallable  ~  xtyping.shed.AnyCallable  ~  typing.Callable[..., typing.Any]
    xt.AnyFunction  ~  xtyping.shed.AnyFunction  ~  typing.Union[typing.Callable[..., ~R], typing.Callable[..., typing.Awaitable[~R]]]
    xt.AnyIterable  ~  xtyping.shed.AnyIterable  ~  typing.Union[typing.Iterable[~T], typing.AsyncIterable[~T]]
    xt.AnyIterator  ~  xtyping.shed.AnyIterator  ~  typing.Union[typing.Iterator[~T], typing.AsyncIterator[~T]]
    xt.ArrShape  ~  xtyping.shed.ArrShape  ~  typing.Tuple[int, ...]
    xt.ArrayShape  ~  xtyping.shed.ArrayShape  ~  typing.Tuple[int, ...]
    xt.AsyncFn  ~  xtyping.shed.AsyncFn  ~  ~AsyncFn
    xt.AsyncFuncType  ~  xtyping.shed.AsyncFuncType  ~  typing.Callable[..., typing.Awaitable[typing.Any]]
    xt.Bytes  ~  xtyping.shed.Bytes  ~  typing.Union[bytes, bytearray]
    xt.BytesPath  ~  xtyping.shed.BytesPath  ~  typing.Union[bytes, os.PathLike]
    xt.CmdArgs  ~  xtyping.shed.CmdArgs  ~  typing.Union[bytes, str, typing.Sequence[str], typing.Sequence[typing.Union[str, pathlib.Path, os.PathLike]]]
    xt.CmdArgsType  ~  xtyping.shed.CmdArgsType  ~  typing.Union[bytes, str, typing.Sequence[str], typing.Sequence[typing.Union[str, pathlib.Path, os.PathLike]]]
    xt.D  ~  xtyping.shed.D  ~  typing.Dict
    xt.DT  ~  xtyping.shed.DT  ~  ~DT
    xt.DictAny  ~  xtyping.shed.DictAny  ~  typing.Dict[typing.Any, typing.Any]
    xt.DictAnyAny  ~  xtyping.shed.DictAnyAny  ~  typing.Dict[typing.Any, typing.Any]
    xt.DictFloat  ~  xtyping.shed.DictFloat  ~  typing.Dict[float, float]
    xt.DictFloatFloat  ~  xtyping.shed.DictFloatFloat  ~  typing.Dict[float, float]
    xt.DictInt  ~  xtyping.shed.DictInt  ~  typing.Dict[int, int]
    xt.DictIntInt  ~  xtyping.shed.DictIntInt  ~  typing.Dict[int, int]
    xt.DictNumber  ~  xtyping.shed.DictNumber  ~  typing.Dict[typing.Union[float, int], typing.Union[float, int]]
    xt.DictNumberNumber  ~  xtyping.shed.DictNumberNumber  ~  typing.Dict[typing.Union[float, int], typing.Union[float, int]]
    xt.DictStr  ~  xtyping.shed.DictStr  ~  typing.Dict[str, str]
    xt.DictStrAny  ~  xtyping.shed.DictStrAny  ~  typing.Dict[str, typing.Any]
    xt.DictStrInt  ~  xtyping.shed.DictStrInt  ~  typing.Dict[str, int]
    xt.DictStrStr  ~  xtyping.shed.DictStrStr  ~  typing.Dict[str, str]
    xt.El  ~  xtyping.shed.El  ~  ~El
    xt.Element  ~  xtyping.shed.Element  ~  ~Element
    xt.Enum  ~  xtyping.shed.Enum  ~  <enum 'Enum'>
    xt.EnvMap  ~  xtyping.shed.EnvMap  ~  typing.Union[typing.Mapping[bytes, typing.Union[bytes, str]], typing.Mapping[str, typing.Union[bytes, str]]]
    xt.EnvType  ~  xtyping.shed.EnvType  ~  typing.Union[typing.Mapping[bytes, typing.Union[bytes, str]], typing.Mapping[str, typing.Union[bytes, str]]]
    xt.F  ~  xtyping.shed.F  ~  ~F
    xt.FALSE  ~  xtyping.shed.FALSE  ~  typing.Literal[False]
    xt.FN  ~  xtyping.shed.FN  ~  ~FN
    xt.Flint  ~  xtyping.shed.Flint  ~  typing.Union[float, int]
    xt.Fn  ~  xtyping.shed.Fn  ~  ~Fn
    xt.FsPath  ~  xtyping.shed.FsPath  ~  typing.Union[str, pathlib.Path, os.PathLike]
    xt.FsPathLike  ~  xtyping.shed.FsPathLike  ~  <class 'os.PathLike'>
    xt.FuncType  ~  xtyping.shed.FuncType  ~  typing.Callable[..., typing.Any]
    xt.HrTime  ~  xtyping.shed.HrTime  ~  typing.Tuple[int, int]
    xt.IntStr  ~  xtyping.shed.IntStr  ~  typing.Union[int, str]
    xt.IterableAny  ~  xtyping.shed.IterableAny  ~  typing.Iterable[typing.Any]
    xt.IterableFloat  ~  xtyping.shed.IterableFloat  ~  typing.Iterable[float]
    xt.IterableInt  ~  xtyping.shed.IterableInt  ~  typing.Iterable[int]
    xt.IterableNumber  ~  xtyping.shed.IterableNumber  ~  typing.Iterable[typing.Union[float, int]]
    xt.IterableStr  ~  xtyping.shed.IterableStr  ~  typing.Iterable[str]
    xt.IterableT  ~  xtyping.shed.IterableT  ~  typing.Iterable[~T]
    xt.Json  ~  xtyping.shed.Json  ~  typing.Union[typing.Dict[str, ForwardRef('Json')], typing.List[ForwardRef('Json')], str, int, float, bool, NoneType]
    xt.JsonArrT  ~  xtyping.shed.JsonArrT  ~  typing.List[typing.Any]
    xt.JsonDictT  ~  xtyping.shed.JsonDictT  ~  typing.Dict[str, typing.Any]
    xt.JsonListT  ~  xtyping.shed.JsonListT  ~  typing.List[typing.Any]
    xt.JsonObjT  ~  xtyping.shed.JsonObjT  ~  typing.Dict[str, typing.Any]
    xt.JsonPrimitive  ~  xtyping.shed.JsonPrimitive  ~  typing.Union[NoneType, bool, int, float, str]
    xt.JsonT  ~  xtyping.shed.JsonT  ~  typing.Union[typing.Dict[str, ForwardRef('JsonT')], typing.List[ForwardRef('JsonT')], str, int, float, bool, NoneType]
    xt.KT  ~  xtyping.shed.KT  ~  ~KT
    xt.KT_co  ~  xtyping.shed.KT_co  ~  +KT_co
    xt.KT_contra  ~  xtyping.shed.KT_contra  ~  -KT_contra
    xt.KeyT  ~  xtyping.shed.KeyT  ~  ~KeyT
    xt.KeyType  ~  xtyping.shed.KeyType  ~  ~KeyType
    xt.L  ~  xtyping.shed.L  ~  typing.Literal
    xt.ListAny  ~  xtyping.shed.ListAny  ~  typing.List[typing.Any]
    xt.ListFloat  ~  xtyping.shed.ListFloat  ~  typing.List[float]
    xt.ListInt  ~  xtyping.shed.ListInt  ~  typing.List[int]
    xt.ListListStr  ~  xtyping.shed.ListListStr  ~  typing.List[typing.List[str]]
    xt.ListNumber  ~  xtyping.shed.ListNumber  ~  typing.List[typing.Union[float, int]]
    xt.ListStr  ~  xtyping.shed.ListStr  ~  typing.List[str]
    xt.ListT  ~  xtyping.shed.ListT  ~  typing.List[~T]
    xt.Lit  ~  xtyping.shed.Lit  ~  typing.Literal
    xt.Ls  ~  xtyping.shed.Ls  ~  typing.List
    xt.N  ~  xtyping.shed.N  ~  ~N
    xt.NoneBytes  ~  xtyping.shed.NoneBytes  ~  typing.Union[bytes, NoneType]
    xt.NoneStr  ~  xtyping.shed.NoneStr  ~  typing.Union[str, NoneType]
    xt.NoneStrBytes  ~  xtyping.shed.NoneStrBytes  ~  typing.Union[str, bytes, NoneType]
    xt.NoneType  ~  xtyping.shed.NoneType  ~  <class 'NoneType'>
    xt.Null  ~  xtyping.shed.Null  ~  <class 'NoneType'>
    xt.Number  ~  xtyping.shed.Number  ~  typing.Union[float, int]
    xt.ONE  ~  xtyping.shed.ONE  ~  typing.Literal[True]
    xt.OpenBinaryMode  ~  xtyping.shed.OpenBinaryMode  ~  typing.Union[typing.Literal['rb+', 'r+b', '+rb', 'br+', 'b+r', '+br', 'wb+', 'w+b', '+wb', 'bw+', 'b+w', '+bw', 'ab+', 'a+b', '+ab', 'ba+', 'b+a', '+ba', 'xb+', 'x+b', '+xb', 'bx+', 'b+x', '+bx'], typing.Literal['rb', 'br', 'rbU', 'rUb', 'Urb', 'brU', 'bUr', 'Ubr'], typing.Literal['wb', 'bw', 'ab', 'ba', 'xb', 'bx']]
    xt.OpenBinaryModeReading  ~  xtyping.shed.OpenBinaryModeReading  ~  typing.Literal['rb', 'br', 'rbU', 'rUb', 'Urb', 'brU', 'bUr', 'Ubr']
    xt.OpenBinaryModeUpdating  ~  xtyping.shed.OpenBinaryModeUpdating  ~  typing.Literal['rb+', 'r+b', '+rb', 'br+', 'b+r', '+br', 'wb+', 'w+b', '+wb', 'bw+', 'b+w', '+bw', 'ab+', 'a+b', '+ab', 'ba+', 'b+a', '+ba', 'xb+', 'x+b', '+xb', 'bx+', 'b+x', '+bx']
    xt.OpenBinaryModeWriting  ~  xtyping.shed.OpenBinaryModeWriting  ~  typing.Literal['wb', 'bw', 'ab', 'ba', 'xb', 'bx']
    xt.OpenTextMode  ~  xtyping.shed.OpenTextMode  ~  typing.Union[typing.Literal['r+', '+r', 'rt+', 'r+t', '+rt', 'tr+', 't+r', '+tr', 'w+', '+w', 'wt+', 'w+t', '+wt', 'tw+', 't+w', '+tw', 'a+', '+a', 'at+', 'a+t', '+at', 'ta+', 't+a', '+ta', 'x+', '+x', 'xt+', 'x+t', '+xt', 'tx+', 't+x', '+tx'], typing.Literal['w', 'wt', 'tw', 'a', 'at', 'ta', 'x', 'xt', 'tx'], typing.Literal['r', 'rt', 'tr', 'U', 'rU', 'Ur', 'rtU', 'rUt', 'Urt', 'trU', 'tUr', 'Utr']]
    xt.OpenTextModeReading  ~  xtyping.shed.OpenTextModeReading  ~  typing.Literal['r', 'rt', 'tr', 'U', 'rU', 'Ur', 'rtU', 'rUt', 'Urt', 'trU', 'tUr', 'Utr']
    xt.OpenTextModeUpdating  ~  xtyping.shed.OpenTextModeUpdating  ~  typing.Literal['r+', '+r', 'rt+', 'r+t', '+rt', 'tr+', 't+r', '+tr', 'w+', '+w', 'wt+', 'w+t', '+wt', 'tw+', 't+w', '+tw', 'a+', '+a', 'at+', 'a+t', '+at', 'ta+', 't+a', '+ta', 'x+', '+x', 'xt+', 'x+t', '+xt', 'tx+', 't+x', '+tx']
    xt.OpenTextModeWriting  ~  xtyping.shed.OpenTextModeWriting  ~  typing.Literal['w', 'wt', 'tw', 'a', 'at', 'ta', 'x', 'xt', 'tx']
    xt.Opt  ~  xtyping.shed.Opt  ~  typing.Optional
    xt.OptFloat  ~  xtyping.shed.OptFloat  ~  typing.Union[float, NoneType]
    xt.OptInt  ~  xtyping.shed.OptInt  ~  typing.Union[int, NoneType]
    xt.OptStr  ~  xtyping.shed.OptStr  ~  typing.Union[str, NoneType]
    xt.OptionalFloat  ~  xtyping.shed.OptionalFloat  ~  typing.Union[float, NoneType]
    xt.OptionalInt  ~  xtyping.shed.OptionalInt  ~  typing.Union[int, NoneType]
    xt.OptionalStr  ~  xtyping.shed.OptionalStr  ~  typing.Union[str, NoneType]
    xt.P  ~  xtyping.shed.P  ~  ~P
    xt.PT  ~  xtyping.shed.PT  ~  ~PT
    xt.Path  ~  xtyping.shed.Path  ~  <class 'pathlib.Path'>
    xt.PathLike  ~  xtyping.shed.PathLike  ~  <class 'os.PathLike'>
    xt.R  ~  xtyping.shed.R  ~  ~R
    xt.RT  ~  xtyping.shed.RT  ~  ~RT
    xt.ReturnT  ~  xtyping.shed.ReturnT  ~  ~ReturnT
    xt.ReturnType  ~  xtyping.shed.ReturnType  ~  ~ReturnType
    xt.STDIN  ~  xtyping.shed.STDIN  ~  typing.Union[bytes, str, NoneType]
    xt.STDIO  ~  xtyping.shed.STDIO  ~  typing.Union[NoneType, int, bytes, typing.IO[typing.Any]]
    xt.Self  ~  xtyping.shed.Self  ~  ~Self
    xt.Seq  ~  xtyping.shed.Seq  ~  typing.Sequence
    xt.SetAny  ~  xtyping.shed.SetAny  ~  typing.Set[typing.Any]
    xt.SetFloat  ~  xtyping.shed.SetFloat  ~  typing.Set[float]
    xt.SetInt  ~  xtyping.shed.SetInt  ~  typing.Set[int]
    xt.SetNumber  ~  xtyping.shed.SetNumber  ~  typing.Set[typing.Union[float, int]]
    xt.SetStr  ~  xtyping.shed.SetStr  ~  typing.Set[str]
    xt.SetT  ~  xtyping.shed.SetT  ~  typing.Set[~T]
    xt.ShapeType  ~  xtyping.shed.ShapeType  ~  typing.Tuple[int, ...]
    xt.StrBytes  ~  xtyping.shed.StrBytes  ~  typing.Union[str, bytes]
    xt.StrEnum  ~  xtyping.shed.StrEnum  ~  <enum 'StrEnum'>
    xt.StrIntFloat  ~  xtyping.shed.StrIntFloat  ~  typing.Union[str, float, int]
    xt.StrOrBytesPath  ~  xtyping.shed.StrOrBytesPath  ~  typing.Union[str, bytes, os.PathLike]
    xt.StrPath  ~  xtyping.shed.StrPath  ~  typing.Union[str, os.PathLike]
    xt.StringEnum  ~  xtyping.shed.StringEnum  ~  <enum 'StringEnum'>
    xt.T  ~  xtyping.shed.T  ~  ~T
    xt.TRUE  ~  xtyping.shed.TRUE  ~  typing.Literal[True]
    xt.T_ParamSpec  ~  xtyping.shed.T_ParamSpec  ~  ~T_ParamSpec
    xt.T_Retval  ~  xtyping.shed.T_Retval  ~  ~T_Retval
    xt.T_co  ~  xtyping.shed.T_co  ~  +T_co
    xt.T_contra  ~  xtyping.shed.T_contra  ~  -T_contra
    xt.TupleStrStr  ~  xtyping.shed.TupleStrStr  ~  typing.Tuple[str, str]
    xt.TupleStrs  ~  xtyping.shed.TupleStrs  ~  typing.Tuple[str, ...]
    xt.Txt  ~  xtyping.shed.Txt  ~  typing.Union[bytes, str]
    xt.U  ~  xtyping.shed.U  ~  typing.Union
    xt.VT  ~  xtyping.shed.VT  ~  ~VT
    xt.VT_co  ~  xtyping.shed.VT_co  ~  +VT_co
    xt.VT_contra  ~  xtyping.shed.VT_contra  ~  -VT_contra
    xt.V_co  ~  xtyping.shed.V_co  ~  +V_co
    xt.ValT  ~  xtyping.shed.ValT  ~  ~ValT
    xt.ValType  ~  xtyping.shed.ValType  ~  ~ValType
    xt.ZERO  ~  xtyping.shed.ZERO  ~  typing.Literal[False]
    xt._DT  ~  xtyping.shed._DT  ~  ~_DT
    xt._KT  ~  xtyping.shed._KT  ~  ~_KT
    xt._KT_co  ~  xtyping.shed._KT_co  ~  +_KT_co
    xt._KT_contra  ~  xtyping.shed._KT_contra  ~  -_KT_contra
    xt._R  ~  xtyping.shed._R  ~  ~_R
    xt._RT  ~  xtyping.shed._RT  ~  ~_RT
    xt._T  ~  xtyping.shed._T  ~  ~_T
    xt._T_co  ~  xtyping.shed._T_co  ~  +_T_co
    xt._T_contra  ~  xtyping.shed._T_contra  ~  -_T_contra
    xt._VT  ~  xtyping.shed._VT  ~  ~_VT
    xt._VT_co  ~  xtyping.shed._VT_co  ~  +_VT_co
    xt._VT_contra  ~  xtyping.shed._VT_contra  ~  -_VT_contra
    xt._V_co  ~  xtyping.shed._V_co  ~  +_V_co
    xt.__all_shed__  ~  xtyping.shed.__all_shed__  ~  ('AF', 'AFn', 'AnyAsyncCallable', 'AnyCallable', 'AnyFunction', 'AnyIterable', 'AnyIterator', 'ArrShape', 'ArrayShape', 'AsyncFn', 'AsyncFuncType', 'Bytes', 'BytesPath', 'CmdArgs', 'CmdArgsType', 'D', 'DT', 'DictAny', 'DictAnyAny', 'DictFloat', 'DictFloatFloat', 'DictInt', 'DictIntInt', 'DictNumber', 'DictNumberNumber', 'DictStr', 'DictStrAny', 'DictStrInt', 'DictStrStr', 'El', 'Element', 'Enum', 'EnvMap', 'EnvType', 'F', 'FALSE', 'FN', 'Flint', 'Fn', 'FsPath', 'FsPathLike', 'FuncType', 'HrTime', 'IntStr', 'IterableAny', 'IterableFloat', 'IterableInt', 'IterableNumber', 'IterableStr', 'IterableT', 'Json', 'JsonArrT', 'JsonDictT', 'JsonListT', 'JsonObjT', 'JsonPrimitive', 'JsonT', 'KT', 'KT_co', 'KT_contra', 'KeyT', 'KeyType', 'L', 'ListAny', 'ListFloat', 'ListInt', 'ListListStr', 'ListNumber', 'ListStr', 'ListT', 'Lit', 'Ls', 'N', 'NoneBytes', 'NoneStr', 'NoneStrBytes', 'NoneType', 'Null', 'Number', 'ONE', 'OpenBinaryMode', 'OpenBinaryModeReading', 'OpenBinaryModeUpdating', 'OpenBinaryModeWriting', 'OpenTextMode', 'OpenTextModeReading', 'OpenTextModeUpdating', 'OpenTextModeWriting', 'Opt', 'OptFloat', 'OptInt', 'OptStr', 'OptionalFloat', 'OptionalInt', 'OptionalStr', 'P', 'PT', 'Path', 'PathLike', 'R', 'RT', 'ReturnT', 'ReturnType', 'STDIN', 'STDIO', 'Self', 'Seq', 'SetAny', 'SetFloat', 'SetInt', 'SetNumber', 'SetStr', 'SetT', 'ShapeType', 'StrBytes', 'StrEnum', 'StrIntFloat', 'StrOrBytesPath', 'StrPath', 'StringEnum', 'T', 'TRUE', 'T_ParamSpec', 'T_Retval', 'T_co', 'T_contra', 'TupleStrStr', 'TupleStrs', 'Txt', 'U', 'VT', 'VT_co', 'VT_contra', 'V_co', 'ValT', 'ValType', 'ZERO', '_DT', '_KT', '_KT_co', '_KT_contra', '_R', '_RT', '_T', '_T_co', '_T_contra', '_VT', '_VT_co', '_VT_contra', '_V_co', '__all_shed__', '__all_typing__', '__all_typing_extensions__', '__all_typing_extensions_future__', 'null')
    xt.__all_typing__  ~  xtyping.shed.__all_typing__  ~  ('AbstractSet', 'Any', 'AnyStr', 'AsyncContextManager', 'AsyncGenerator', 'AsyncIterable', 'AsyncIterator', 'Awaitable', 'ByteString', 'Callable', 'ChainMap', 'ClassVar', 'Collection', 'Container', 'ContextManager', 'Coroutine', 'Counter', 'DefaultDict', 'Deque', 'Dict', 'FrozenSet', 'Generator', 'Generic', 'Hashable', 'IO', 'ItemsView', 'Iterable', 'Iterator', 'KeysView', 'List', 'Mapping', 'MappingView', 'MutableMapping', 'MutableSequence', 'MutableSet', 'NamedTuple', 'NewType', 'Optional', 'Reversible', 'Sequence', 'Set', 'Sized', 'SupportsAbs', 'SupportsBytes', 'SupportsComplex', 'SupportsFloat', 'SupportsInt', 'SupportsRound', 'TYPE_CHECKING', 'Text', 'Tuple', 'Type', 'TypeVar', 'Union', 'ValuesView', 'cast', 'get_type_hints', 'no_type_check', 'no_type_check_decorator', 'overload')
    xt.__all_typing_extensions__  ~  xtyping.shed.__all_typing_extensions__  ~  ('Annotated', 'AsyncContextManager', 'AsyncGenerator', 'AsyncIterable', 'AsyncIterator', 'Awaitable', 'ChainMap', 'ClassVar', 'Concatenate', 'ContextManager', 'Coroutine', 'Counter', 'DefaultDict', 'Deque', 'Final', 'IntVar', 'Literal', 'NewType', 'NoReturn', 'OrderedDict', 'ParamSpec', 'ParamSpecArgs', 'ParamSpecKwargs', 'Protocol', 'SupportsIndex', 'TYPE_CHECKING', 'Text', 'Type', 'TypeAlias', 'TypeGuard', 'TypedDict', 'final', 'get_args', 'get_origin', 'get_type_hints', 'overload', 'runtime', 'runtime_checkable')
    xt.__all_typing_extensions_future__  ~  xtyping.shed.__all_typing_extensions_future__  ~  ('LiteralString', 'Never', 'NotRequired', 'Required', 'Self', 'TypeVarTuple', 'Unpack', 'assert_never', 'assert_type', 'clear_overloads', 'dataclass_transform', 'get_overloads', 'is_typeddict', 'reveal_type')
    xt.null  ~  xtyping.shed.null  ~  <class 'NoneType'>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/dynamic-graphics-inc/dgpy-libs/tree/main/libs/xtyping",
    "name": "xtyping",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "typing,dgpy,typed,types",
    "author": "jesse",
    "author_email": "jesse@dgi.com",
    "download_url": "https://files.pythonhosted.org/packages/cc/5a/9eb41eaa78ea1df92fadbeaf2a83685572476bf30635ba145eee6a2c4176/xtyping-0.8.2.tar.gz",
    "platform": null,
    "description": "<a href=\"https://github.com/dynamic-graphics-inc/dgpy-libs\">\n<img align=\"right\" src=\"https://github.com/dynamic-graphics-inc/dgpy-libs/blob/main/docs/images/dgpy_banner.svg?raw=true\" alt=\"drawing\" height=\"120\" width=\"300\"/>\n</a>\n\n# xtyping\n\n[![Wheel](https://img.shields.io/pypi/wheel/xtyping.svg)](https://img.shields.io/pypi/wheel/xtyping.svg)\n[![Version](https://img.shields.io/pypi/v/xtyping.svg)](https://img.shields.io/pypi/v/xtyping.svg)\n[![py_versions](https://img.shields.io/pypi/pyversions/xtyping.svg)](https://img.shields.io/pypi/pyversions/xtyping.svg)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n**Install:** `pip install xtyping`\n\n---\n\n## What is xtyping?\n\nxtyping (short for extended typing) lets you import all your friends from `typing` as well as `typing_extensions`\n\n- `typing` | `typing_extensions`; xtyping 'exports' everything in `typing.__all__` and `typing_extensions.__all__`\n- Common type aliases\n\n## Why not use `typing_extensions`?\n\nDon't have to import both `typing` and `typing_extensions`; BOOM\n\nInstead of writing:\n\n```\nfrom typing import Optional\nfrom typing_extensions import TypedDict\n```\n\nyou can write:\n\n```\nfrom xtyping import Optional, TypedDict\n# or\nimport xtyping as xt\nTypedDict = xt.TypedDict\nOptional = xt.Optional\n```\n\n```python\nimport xtyping as xt\n\nfrom_typing = [\n    \"  ~  \".join((f\"xt.{el}\", f\"typing.{el}\", str(getattr(xt, el))))\n    for el in xt.__all_typing__\n]\nfrom_typing_extensions = [\n    \"  ~  \".join((f\"xt.{el}\", f\"typing_extensions.{el}\", str(getattr(xt, el))))\n    for el in xt.__all_typing__\n]\nfrom_xtyping_shed = [\n    \"  ~  \".join((f\"xt.{el}\", f\"xtyping.shed.{el}\", str(getattr(xt, el))))\n    for el in xt.__all_shed__\n]\nprint(\n    \"\\n\".join(\n        [\n            \"-------------\",\n            \"from `typing`\",\n            \"-------------\",\n            *from_typing,\n            \"\\n\",\n            \"------------------------\",\n            \"from `typing_extensions`\",\n            \"------------------------\",\n            *from_typing_extensions,\n            \"\\n\",\n            \"-------------------\",\n            \"from `xtyping.shed`\",\n            \"-------------------\",\n            *from_xtyping_shed,\n            \"\\n\",\n        ]\n    )\n)\n```\n\n    -------------\n    from `typing`\n    -------------\n    xt.AbstractSet  ~  typing.AbstractSet  ~  typing.AbstractSet\n    xt.Any  ~  typing.Any  ~  typing.Any\n    xt.AnyStr  ~  typing.AnyStr  ~  ~AnyStr\n    xt.AsyncContextManager  ~  typing.AsyncContextManager  ~  typing.AbstractAsyncContextManager\n    xt.AsyncGenerator  ~  typing.AsyncGenerator  ~  typing.AsyncGenerator\n    xt.AsyncIterable  ~  typing.AsyncIterable  ~  typing.AsyncIterable\n    xt.AsyncIterator  ~  typing.AsyncIterator  ~  typing.AsyncIterator\n    xt.Awaitable  ~  typing.Awaitable  ~  typing.Awaitable\n    xt.ByteString  ~  typing.ByteString  ~  typing.ByteString\n    xt.Callable  ~  typing.Callable  ~  typing.Callable\n    xt.ChainMap  ~  typing.ChainMap  ~  typing.ChainMap\n    xt.ClassVar  ~  typing.ClassVar  ~  typing.ClassVar\n    xt.Collection  ~  typing.Collection  ~  typing.Collection\n    xt.Container  ~  typing.Container  ~  typing.Container\n    xt.ContextManager  ~  typing.ContextManager  ~  typing.AbstractContextManager\n    xt.Coroutine  ~  typing.Coroutine  ~  typing.Coroutine\n    xt.Counter  ~  typing.Counter  ~  typing.Counter\n    xt.DefaultDict  ~  typing.DefaultDict  ~  typing.DefaultDict\n    xt.Deque  ~  typing.Deque  ~  typing.Deque\n    xt.Dict  ~  typing.Dict  ~  typing.Dict\n    xt.FrozenSet  ~  typing.FrozenSet  ~  typing.FrozenSet\n    xt.Generator  ~  typing.Generator  ~  typing.Generator\n    xt.Generic  ~  typing.Generic  ~  <class 'typing.Generic'>\n    xt.Hashable  ~  typing.Hashable  ~  typing.Hashable\n    xt.IO  ~  typing.IO  ~  <class 'typing.IO'>\n    xt.ItemsView  ~  typing.ItemsView  ~  typing.ItemsView\n    xt.Iterable  ~  typing.Iterable  ~  typing.Iterable\n    xt.Iterator  ~  typing.Iterator  ~  typing.Iterator\n    xt.KeysView  ~  typing.KeysView  ~  typing.KeysView\n    xt.List  ~  typing.List  ~  typing.List\n    xt.Mapping  ~  typing.Mapping  ~  typing.Mapping\n    xt.MappingView  ~  typing.MappingView  ~  typing.MappingView\n    xt.MutableMapping  ~  typing.MutableMapping  ~  typing.MutableMapping\n    xt.MutableSequence  ~  typing.MutableSequence  ~  typing.MutableSequence\n    xt.MutableSet  ~  typing.MutableSet  ~  typing.MutableSet\n    xt.NamedTuple  ~  typing.NamedTuple  ~  <class 'typing.NamedTuple'>\n    xt.NewType  ~  typing.NewType  ~  <function NewType at 0x7fd2e534f790>\n    xt.Optional  ~  typing.Optional  ~  typing.Optional\n    xt.Reversible  ~  typing.Reversible  ~  typing.Reversible\n    xt.Sequence  ~  typing.Sequence  ~  typing.Sequence\n    xt.Set  ~  typing.Set  ~  typing.Set\n    xt.Sized  ~  typing.Sized  ~  typing.Sized\n    xt.SupportsAbs  ~  typing.SupportsAbs  ~  <class 'typing.SupportsAbs'>\n    xt.SupportsBytes  ~  typing.SupportsBytes  ~  <class 'typing.SupportsBytes'>\n    xt.SupportsComplex  ~  typing.SupportsComplex  ~  <class 'typing.SupportsComplex'>\n    xt.SupportsFloat  ~  typing.SupportsFloat  ~  <class 'typing.SupportsFloat'>\n    xt.SupportsInt  ~  typing.SupportsInt  ~  <class 'typing.SupportsInt'>\n    xt.SupportsRound  ~  typing.SupportsRound  ~  <class 'typing.SupportsRound'>\n    xt.TYPE_CHECKING  ~  typing.TYPE_CHECKING  ~  False\n    xt.Text  ~  typing.Text  ~  <class 'str'>\n    xt.Tuple  ~  typing.Tuple  ~  typing.Tuple\n    xt.Type  ~  typing.Type  ~  typing.Type\n    xt.TypeVar  ~  typing.TypeVar  ~  <class 'typing.TypeVar'>\n    xt.Union  ~  typing.Union  ~  typing.Union\n    xt.ValuesView  ~  typing.ValuesView  ~  typing.ValuesView\n    xt.cast  ~  typing.cast  ~  <function cast at 0x7fd2e53435e0>\n    xt.get_type_hints  ~  typing.get_type_hints  ~  <function get_type_hints at 0x7fd2dc7531f0>\n    xt.no_type_check  ~  typing.no_type_check  ~  <function no_type_check at 0x7fd2e53438b0>\n    xt.no_type_check_decorator  ~  typing.no_type_check_decorator  ~  <function no_type_check_decorator at 0x7fd2e5343940>\n    xt.overload  ~  typing.overload  ~  <function overload at 0x7fd2dc721a60>\n\n\n    ------------------------\n    from `typing_extensions`\n    ------------------------\n    xt.AbstractSet  ~  typing_extensions.AbstractSet  ~  typing.AbstractSet\n    xt.Any  ~  typing_extensions.Any  ~  typing.Any\n    xt.AnyStr  ~  typing_extensions.AnyStr  ~  ~AnyStr\n    xt.AsyncContextManager  ~  typing_extensions.AsyncContextManager  ~  typing.AbstractAsyncContextManager\n    xt.AsyncGenerator  ~  typing_extensions.AsyncGenerator  ~  typing.AsyncGenerator\n    xt.AsyncIterable  ~  typing_extensions.AsyncIterable  ~  typing.AsyncIterable\n    xt.AsyncIterator  ~  typing_extensions.AsyncIterator  ~  typing.AsyncIterator\n    xt.Awaitable  ~  typing_extensions.Awaitable  ~  typing.Awaitable\n    xt.ByteString  ~  typing_extensions.ByteString  ~  typing.ByteString\n    xt.Callable  ~  typing_extensions.Callable  ~  typing.Callable\n    xt.ChainMap  ~  typing_extensions.ChainMap  ~  typing.ChainMap\n    xt.ClassVar  ~  typing_extensions.ClassVar  ~  typing.ClassVar\n    xt.Collection  ~  typing_extensions.Collection  ~  typing.Collection\n    xt.Container  ~  typing_extensions.Container  ~  typing.Container\n    xt.ContextManager  ~  typing_extensions.ContextManager  ~  typing.AbstractContextManager\n    xt.Coroutine  ~  typing_extensions.Coroutine  ~  typing.Coroutine\n    xt.Counter  ~  typing_extensions.Counter  ~  typing.Counter\n    xt.DefaultDict  ~  typing_extensions.DefaultDict  ~  typing.DefaultDict\n    xt.Deque  ~  typing_extensions.Deque  ~  typing.Deque\n    xt.Dict  ~  typing_extensions.Dict  ~  typing.Dict\n    xt.FrozenSet  ~  typing_extensions.FrozenSet  ~  typing.FrozenSet\n    xt.Generator  ~  typing_extensions.Generator  ~  typing.Generator\n    xt.Generic  ~  typing_extensions.Generic  ~  <class 'typing.Generic'>\n    xt.Hashable  ~  typing_extensions.Hashable  ~  typing.Hashable\n    xt.IO  ~  typing_extensions.IO  ~  <class 'typing.IO'>\n    xt.ItemsView  ~  typing_extensions.ItemsView  ~  typing.ItemsView\n    xt.Iterable  ~  typing_extensions.Iterable  ~  typing.Iterable\n    xt.Iterator  ~  typing_extensions.Iterator  ~  typing.Iterator\n    xt.KeysView  ~  typing_extensions.KeysView  ~  typing.KeysView\n    xt.List  ~  typing_extensions.List  ~  typing.List\n    xt.Mapping  ~  typing_extensions.Mapping  ~  typing.Mapping\n    xt.MappingView  ~  typing_extensions.MappingView  ~  typing.MappingView\n    xt.MutableMapping  ~  typing_extensions.MutableMapping  ~  typing.MutableMapping\n    xt.MutableSequence  ~  typing_extensions.MutableSequence  ~  typing.MutableSequence\n    xt.MutableSet  ~  typing_extensions.MutableSet  ~  typing.MutableSet\n    xt.NamedTuple  ~  typing_extensions.NamedTuple  ~  <class 'typing.NamedTuple'>\n    xt.NewType  ~  typing_extensions.NewType  ~  <function NewType at 0x7fd2e534f790>\n    xt.Optional  ~  typing_extensions.Optional  ~  typing.Optional\n    xt.Reversible  ~  typing_extensions.Reversible  ~  typing.Reversible\n    xt.Sequence  ~  typing_extensions.Sequence  ~  typing.Sequence\n    xt.Set  ~  typing_extensions.Set  ~  typing.Set\n    xt.Sized  ~  typing_extensions.Sized  ~  typing.Sized\n    xt.SupportsAbs  ~  typing_extensions.SupportsAbs  ~  <class 'typing.SupportsAbs'>\n    xt.SupportsBytes  ~  typing_extensions.SupportsBytes  ~  <class 'typing.SupportsBytes'>\n    xt.SupportsComplex  ~  typing_extensions.SupportsComplex  ~  <class 'typing.SupportsComplex'>\n    xt.SupportsFloat  ~  typing_extensions.SupportsFloat  ~  <class 'typing.SupportsFloat'>\n    xt.SupportsInt  ~  typing_extensions.SupportsInt  ~  <class 'typing.SupportsInt'>\n    xt.SupportsRound  ~  typing_extensions.SupportsRound  ~  <class 'typing.SupportsRound'>\n    xt.TYPE_CHECKING  ~  typing_extensions.TYPE_CHECKING  ~  False\n    xt.Text  ~  typing_extensions.Text  ~  <class 'str'>\n    xt.Tuple  ~  typing_extensions.Tuple  ~  typing.Tuple\n    xt.Type  ~  typing_extensions.Type  ~  typing.Type\n    xt.TypeVar  ~  typing_extensions.TypeVar  ~  <class 'typing.TypeVar'>\n    xt.Union  ~  typing_extensions.Union  ~  typing.Union\n    xt.ValuesView  ~  typing_extensions.ValuesView  ~  typing.ValuesView\n    xt.cast  ~  typing_extensions.cast  ~  <function cast at 0x7fd2e53435e0>\n    xt.get_type_hints  ~  typing_extensions.get_type_hints  ~  <function get_type_hints at 0x7fd2dc7531f0>\n    xt.no_type_check  ~  typing_extensions.no_type_check  ~  <function no_type_check at 0x7fd2e53438b0>\n    xt.no_type_check_decorator  ~  typing_extensions.no_type_check_decorator  ~  <function no_type_check_decorator at 0x7fd2e5343940>\n    xt.overload  ~  typing_extensions.overload  ~  <function overload at 0x7fd2dc721a60>\n\n\n    -------------------\n    from `xtyping.shed`\n    -------------------\n    xt.AF  ~  xtyping.shed.AF  ~  ~AF\n    xt.AFn  ~  xtyping.shed.AFn  ~  ~AFn\n    xt.AnyAsyncCallable  ~  xtyping.shed.AnyAsyncCallable  ~  typing.Callable[..., typing.Awaitable[typing.Any]]\n    xt.AnyCallable  ~  xtyping.shed.AnyCallable  ~  typing.Callable[..., typing.Any]\n    xt.AnyFunction  ~  xtyping.shed.AnyFunction  ~  typing.Union[typing.Callable[..., ~R], typing.Callable[..., typing.Awaitable[~R]]]\n    xt.AnyIterable  ~  xtyping.shed.AnyIterable  ~  typing.Union[typing.Iterable[~T], typing.AsyncIterable[~T]]\n    xt.AnyIterator  ~  xtyping.shed.AnyIterator  ~  typing.Union[typing.Iterator[~T], typing.AsyncIterator[~T]]\n    xt.ArrShape  ~  xtyping.shed.ArrShape  ~  typing.Tuple[int, ...]\n    xt.ArrayShape  ~  xtyping.shed.ArrayShape  ~  typing.Tuple[int, ...]\n    xt.AsyncFn  ~  xtyping.shed.AsyncFn  ~  ~AsyncFn\n    xt.AsyncFuncType  ~  xtyping.shed.AsyncFuncType  ~  typing.Callable[..., typing.Awaitable[typing.Any]]\n    xt.Bytes  ~  xtyping.shed.Bytes  ~  typing.Union[bytes, bytearray]\n    xt.BytesPath  ~  xtyping.shed.BytesPath  ~  typing.Union[bytes, os.PathLike]\n    xt.CmdArgs  ~  xtyping.shed.CmdArgs  ~  typing.Union[bytes, str, typing.Sequence[str], typing.Sequence[typing.Union[str, pathlib.Path, os.PathLike]]]\n    xt.CmdArgsType  ~  xtyping.shed.CmdArgsType  ~  typing.Union[bytes, str, typing.Sequence[str], typing.Sequence[typing.Union[str, pathlib.Path, os.PathLike]]]\n    xt.D  ~  xtyping.shed.D  ~  typing.Dict\n    xt.DT  ~  xtyping.shed.DT  ~  ~DT\n    xt.DictAny  ~  xtyping.shed.DictAny  ~  typing.Dict[typing.Any, typing.Any]\n    xt.DictAnyAny  ~  xtyping.shed.DictAnyAny  ~  typing.Dict[typing.Any, typing.Any]\n    xt.DictFloat  ~  xtyping.shed.DictFloat  ~  typing.Dict[float, float]\n    xt.DictFloatFloat  ~  xtyping.shed.DictFloatFloat  ~  typing.Dict[float, float]\n    xt.DictInt  ~  xtyping.shed.DictInt  ~  typing.Dict[int, int]\n    xt.DictIntInt  ~  xtyping.shed.DictIntInt  ~  typing.Dict[int, int]\n    xt.DictNumber  ~  xtyping.shed.DictNumber  ~  typing.Dict[typing.Union[float, int], typing.Union[float, int]]\n    xt.DictNumberNumber  ~  xtyping.shed.DictNumberNumber  ~  typing.Dict[typing.Union[float, int], typing.Union[float, int]]\n    xt.DictStr  ~  xtyping.shed.DictStr  ~  typing.Dict[str, str]\n    xt.DictStrAny  ~  xtyping.shed.DictStrAny  ~  typing.Dict[str, typing.Any]\n    xt.DictStrInt  ~  xtyping.shed.DictStrInt  ~  typing.Dict[str, int]\n    xt.DictStrStr  ~  xtyping.shed.DictStrStr  ~  typing.Dict[str, str]\n    xt.El  ~  xtyping.shed.El  ~  ~El\n    xt.Element  ~  xtyping.shed.Element  ~  ~Element\n    xt.Enum  ~  xtyping.shed.Enum  ~  <enum 'Enum'>\n    xt.EnvMap  ~  xtyping.shed.EnvMap  ~  typing.Union[typing.Mapping[bytes, typing.Union[bytes, str]], typing.Mapping[str, typing.Union[bytes, str]]]\n    xt.EnvType  ~  xtyping.shed.EnvType  ~  typing.Union[typing.Mapping[bytes, typing.Union[bytes, str]], typing.Mapping[str, typing.Union[bytes, str]]]\n    xt.F  ~  xtyping.shed.F  ~  ~F\n    xt.FALSE  ~  xtyping.shed.FALSE  ~  typing.Literal[False]\n    xt.FN  ~  xtyping.shed.FN  ~  ~FN\n    xt.Flint  ~  xtyping.shed.Flint  ~  typing.Union[float, int]\n    xt.Fn  ~  xtyping.shed.Fn  ~  ~Fn\n    xt.FsPath  ~  xtyping.shed.FsPath  ~  typing.Union[str, pathlib.Path, os.PathLike]\n    xt.FsPathLike  ~  xtyping.shed.FsPathLike  ~  <class 'os.PathLike'>\n    xt.FuncType  ~  xtyping.shed.FuncType  ~  typing.Callable[..., typing.Any]\n    xt.HrTime  ~  xtyping.shed.HrTime  ~  typing.Tuple[int, int]\n    xt.IntStr  ~  xtyping.shed.IntStr  ~  typing.Union[int, str]\n    xt.IterableAny  ~  xtyping.shed.IterableAny  ~  typing.Iterable[typing.Any]\n    xt.IterableFloat  ~  xtyping.shed.IterableFloat  ~  typing.Iterable[float]\n    xt.IterableInt  ~  xtyping.shed.IterableInt  ~  typing.Iterable[int]\n    xt.IterableNumber  ~  xtyping.shed.IterableNumber  ~  typing.Iterable[typing.Union[float, int]]\n    xt.IterableStr  ~  xtyping.shed.IterableStr  ~  typing.Iterable[str]\n    xt.IterableT  ~  xtyping.shed.IterableT  ~  typing.Iterable[~T]\n    xt.Json  ~  xtyping.shed.Json  ~  typing.Union[typing.Dict[str, ForwardRef('Json')], typing.List[ForwardRef('Json')], str, int, float, bool, NoneType]\n    xt.JsonArrT  ~  xtyping.shed.JsonArrT  ~  typing.List[typing.Any]\n    xt.JsonDictT  ~  xtyping.shed.JsonDictT  ~  typing.Dict[str, typing.Any]\n    xt.JsonListT  ~  xtyping.shed.JsonListT  ~  typing.List[typing.Any]\n    xt.JsonObjT  ~  xtyping.shed.JsonObjT  ~  typing.Dict[str, typing.Any]\n    xt.JsonPrimitive  ~  xtyping.shed.JsonPrimitive  ~  typing.Union[NoneType, bool, int, float, str]\n    xt.JsonT  ~  xtyping.shed.JsonT  ~  typing.Union[typing.Dict[str, ForwardRef('JsonT')], typing.List[ForwardRef('JsonT')], str, int, float, bool, NoneType]\n    xt.KT  ~  xtyping.shed.KT  ~  ~KT\n    xt.KT_co  ~  xtyping.shed.KT_co  ~  +KT_co\n    xt.KT_contra  ~  xtyping.shed.KT_contra  ~  -KT_contra\n    xt.KeyT  ~  xtyping.shed.KeyT  ~  ~KeyT\n    xt.KeyType  ~  xtyping.shed.KeyType  ~  ~KeyType\n    xt.L  ~  xtyping.shed.L  ~  typing.Literal\n    xt.ListAny  ~  xtyping.shed.ListAny  ~  typing.List[typing.Any]\n    xt.ListFloat  ~  xtyping.shed.ListFloat  ~  typing.List[float]\n    xt.ListInt  ~  xtyping.shed.ListInt  ~  typing.List[int]\n    xt.ListListStr  ~  xtyping.shed.ListListStr  ~  typing.List[typing.List[str]]\n    xt.ListNumber  ~  xtyping.shed.ListNumber  ~  typing.List[typing.Union[float, int]]\n    xt.ListStr  ~  xtyping.shed.ListStr  ~  typing.List[str]\n    xt.ListT  ~  xtyping.shed.ListT  ~  typing.List[~T]\n    xt.Lit  ~  xtyping.shed.Lit  ~  typing.Literal\n    xt.Ls  ~  xtyping.shed.Ls  ~  typing.List\n    xt.N  ~  xtyping.shed.N  ~  ~N\n    xt.NoneBytes  ~  xtyping.shed.NoneBytes  ~  typing.Union[bytes, NoneType]\n    xt.NoneStr  ~  xtyping.shed.NoneStr  ~  typing.Union[str, NoneType]\n    xt.NoneStrBytes  ~  xtyping.shed.NoneStrBytes  ~  typing.Union[str, bytes, NoneType]\n    xt.NoneType  ~  xtyping.shed.NoneType  ~  <class 'NoneType'>\n    xt.Null  ~  xtyping.shed.Null  ~  <class 'NoneType'>\n    xt.Number  ~  xtyping.shed.Number  ~  typing.Union[float, int]\n    xt.ONE  ~  xtyping.shed.ONE  ~  typing.Literal[True]\n    xt.OpenBinaryMode  ~  xtyping.shed.OpenBinaryMode  ~  typing.Union[typing.Literal['rb+', 'r+b', '+rb', 'br+', 'b+r', '+br', 'wb+', 'w+b', '+wb', 'bw+', 'b+w', '+bw', 'ab+', 'a+b', '+ab', 'ba+', 'b+a', '+ba', 'xb+', 'x+b', '+xb', 'bx+', 'b+x', '+bx'], typing.Literal['rb', 'br', 'rbU', 'rUb', 'Urb', 'brU', 'bUr', 'Ubr'], typing.Literal['wb', 'bw', 'ab', 'ba', 'xb', 'bx']]\n    xt.OpenBinaryModeReading  ~  xtyping.shed.OpenBinaryModeReading  ~  typing.Literal['rb', 'br', 'rbU', 'rUb', 'Urb', 'brU', 'bUr', 'Ubr']\n    xt.OpenBinaryModeUpdating  ~  xtyping.shed.OpenBinaryModeUpdating  ~  typing.Literal['rb+', 'r+b', '+rb', 'br+', 'b+r', '+br', 'wb+', 'w+b', '+wb', 'bw+', 'b+w', '+bw', 'ab+', 'a+b', '+ab', 'ba+', 'b+a', '+ba', 'xb+', 'x+b', '+xb', 'bx+', 'b+x', '+bx']\n    xt.OpenBinaryModeWriting  ~  xtyping.shed.OpenBinaryModeWriting  ~  typing.Literal['wb', 'bw', 'ab', 'ba', 'xb', 'bx']\n    xt.OpenTextMode  ~  xtyping.shed.OpenTextMode  ~  typing.Union[typing.Literal['r+', '+r', 'rt+', 'r+t', '+rt', 'tr+', 't+r', '+tr', 'w+', '+w', 'wt+', 'w+t', '+wt', 'tw+', 't+w', '+tw', 'a+', '+a', 'at+', 'a+t', '+at', 'ta+', 't+a', '+ta', 'x+', '+x', 'xt+', 'x+t', '+xt', 'tx+', 't+x', '+tx'], typing.Literal['w', 'wt', 'tw', 'a', 'at', 'ta', 'x', 'xt', 'tx'], typing.Literal['r', 'rt', 'tr', 'U', 'rU', 'Ur', 'rtU', 'rUt', 'Urt', 'trU', 'tUr', 'Utr']]\n    xt.OpenTextModeReading  ~  xtyping.shed.OpenTextModeReading  ~  typing.Literal['r', 'rt', 'tr', 'U', 'rU', 'Ur', 'rtU', 'rUt', 'Urt', 'trU', 'tUr', 'Utr']\n    xt.OpenTextModeUpdating  ~  xtyping.shed.OpenTextModeUpdating  ~  typing.Literal['r+', '+r', 'rt+', 'r+t', '+rt', 'tr+', 't+r', '+tr', 'w+', '+w', 'wt+', 'w+t', '+wt', 'tw+', 't+w', '+tw', 'a+', '+a', 'at+', 'a+t', '+at', 'ta+', 't+a', '+ta', 'x+', '+x', 'xt+', 'x+t', '+xt', 'tx+', 't+x', '+tx']\n    xt.OpenTextModeWriting  ~  xtyping.shed.OpenTextModeWriting  ~  typing.Literal['w', 'wt', 'tw', 'a', 'at', 'ta', 'x', 'xt', 'tx']\n    xt.Opt  ~  xtyping.shed.Opt  ~  typing.Optional\n    xt.OptFloat  ~  xtyping.shed.OptFloat  ~  typing.Union[float, NoneType]\n    xt.OptInt  ~  xtyping.shed.OptInt  ~  typing.Union[int, NoneType]\n    xt.OptStr  ~  xtyping.shed.OptStr  ~  typing.Union[str, NoneType]\n    xt.OptionalFloat  ~  xtyping.shed.OptionalFloat  ~  typing.Union[float, NoneType]\n    xt.OptionalInt  ~  xtyping.shed.OptionalInt  ~  typing.Union[int, NoneType]\n    xt.OptionalStr  ~  xtyping.shed.OptionalStr  ~  typing.Union[str, NoneType]\n    xt.P  ~  xtyping.shed.P  ~  ~P\n    xt.PT  ~  xtyping.shed.PT  ~  ~PT\n    xt.Path  ~  xtyping.shed.Path  ~  <class 'pathlib.Path'>\n    xt.PathLike  ~  xtyping.shed.PathLike  ~  <class 'os.PathLike'>\n    xt.R  ~  xtyping.shed.R  ~  ~R\n    xt.RT  ~  xtyping.shed.RT  ~  ~RT\n    xt.ReturnT  ~  xtyping.shed.ReturnT  ~  ~ReturnT\n    xt.ReturnType  ~  xtyping.shed.ReturnType  ~  ~ReturnType\n    xt.STDIN  ~  xtyping.shed.STDIN  ~  typing.Union[bytes, str, NoneType]\n    xt.STDIO  ~  xtyping.shed.STDIO  ~  typing.Union[NoneType, int, bytes, typing.IO[typing.Any]]\n    xt.Self  ~  xtyping.shed.Self  ~  ~Self\n    xt.Seq  ~  xtyping.shed.Seq  ~  typing.Sequence\n    xt.SetAny  ~  xtyping.shed.SetAny  ~  typing.Set[typing.Any]\n    xt.SetFloat  ~  xtyping.shed.SetFloat  ~  typing.Set[float]\n    xt.SetInt  ~  xtyping.shed.SetInt  ~  typing.Set[int]\n    xt.SetNumber  ~  xtyping.shed.SetNumber  ~  typing.Set[typing.Union[float, int]]\n    xt.SetStr  ~  xtyping.shed.SetStr  ~  typing.Set[str]\n    xt.SetT  ~  xtyping.shed.SetT  ~  typing.Set[~T]\n    xt.ShapeType  ~  xtyping.shed.ShapeType  ~  typing.Tuple[int, ...]\n    xt.StrBytes  ~  xtyping.shed.StrBytes  ~  typing.Union[str, bytes]\n    xt.StrEnum  ~  xtyping.shed.StrEnum  ~  <enum 'StrEnum'>\n    xt.StrIntFloat  ~  xtyping.shed.StrIntFloat  ~  typing.Union[str, float, int]\n    xt.StrOrBytesPath  ~  xtyping.shed.StrOrBytesPath  ~  typing.Union[str, bytes, os.PathLike]\n    xt.StrPath  ~  xtyping.shed.StrPath  ~  typing.Union[str, os.PathLike]\n    xt.StringEnum  ~  xtyping.shed.StringEnum  ~  <enum 'StringEnum'>\n    xt.T  ~  xtyping.shed.T  ~  ~T\n    xt.TRUE  ~  xtyping.shed.TRUE  ~  typing.Literal[True]\n    xt.T_ParamSpec  ~  xtyping.shed.T_ParamSpec  ~  ~T_ParamSpec\n    xt.T_Retval  ~  xtyping.shed.T_Retval  ~  ~T_Retval\n    xt.T_co  ~  xtyping.shed.T_co  ~  +T_co\n    xt.T_contra  ~  xtyping.shed.T_contra  ~  -T_contra\n    xt.TupleStrStr  ~  xtyping.shed.TupleStrStr  ~  typing.Tuple[str, str]\n    xt.TupleStrs  ~  xtyping.shed.TupleStrs  ~  typing.Tuple[str, ...]\n    xt.Txt  ~  xtyping.shed.Txt  ~  typing.Union[bytes, str]\n    xt.U  ~  xtyping.shed.U  ~  typing.Union\n    xt.VT  ~  xtyping.shed.VT  ~  ~VT\n    xt.VT_co  ~  xtyping.shed.VT_co  ~  +VT_co\n    xt.VT_contra  ~  xtyping.shed.VT_contra  ~  -VT_contra\n    xt.V_co  ~  xtyping.shed.V_co  ~  +V_co\n    xt.ValT  ~  xtyping.shed.ValT  ~  ~ValT\n    xt.ValType  ~  xtyping.shed.ValType  ~  ~ValType\n    xt.ZERO  ~  xtyping.shed.ZERO  ~  typing.Literal[False]\n    xt._DT  ~  xtyping.shed._DT  ~  ~_DT\n    xt._KT  ~  xtyping.shed._KT  ~  ~_KT\n    xt._KT_co  ~  xtyping.shed._KT_co  ~  +_KT_co\n    xt._KT_contra  ~  xtyping.shed._KT_contra  ~  -_KT_contra\n    xt._R  ~  xtyping.shed._R  ~  ~_R\n    xt._RT  ~  xtyping.shed._RT  ~  ~_RT\n    xt._T  ~  xtyping.shed._T  ~  ~_T\n    xt._T_co  ~  xtyping.shed._T_co  ~  +_T_co\n    xt._T_contra  ~  xtyping.shed._T_contra  ~  -_T_contra\n    xt._VT  ~  xtyping.shed._VT  ~  ~_VT\n    xt._VT_co  ~  xtyping.shed._VT_co  ~  +_VT_co\n    xt._VT_contra  ~  xtyping.shed._VT_contra  ~  -_VT_contra\n    xt._V_co  ~  xtyping.shed._V_co  ~  +_V_co\n    xt.__all_shed__  ~  xtyping.shed.__all_shed__  ~  ('AF', 'AFn', 'AnyAsyncCallable', 'AnyCallable', 'AnyFunction', 'AnyIterable', 'AnyIterator', 'ArrShape', 'ArrayShape', 'AsyncFn', 'AsyncFuncType', 'Bytes', 'BytesPath', 'CmdArgs', 'CmdArgsType', 'D', 'DT', 'DictAny', 'DictAnyAny', 'DictFloat', 'DictFloatFloat', 'DictInt', 'DictIntInt', 'DictNumber', 'DictNumberNumber', 'DictStr', 'DictStrAny', 'DictStrInt', 'DictStrStr', 'El', 'Element', 'Enum', 'EnvMap', 'EnvType', 'F', 'FALSE', 'FN', 'Flint', 'Fn', 'FsPath', 'FsPathLike', 'FuncType', 'HrTime', 'IntStr', 'IterableAny', 'IterableFloat', 'IterableInt', 'IterableNumber', 'IterableStr', 'IterableT', 'Json', 'JsonArrT', 'JsonDictT', 'JsonListT', 'JsonObjT', 'JsonPrimitive', 'JsonT', 'KT', 'KT_co', 'KT_contra', 'KeyT', 'KeyType', 'L', 'ListAny', 'ListFloat', 'ListInt', 'ListListStr', 'ListNumber', 'ListStr', 'ListT', 'Lit', 'Ls', 'N', 'NoneBytes', 'NoneStr', 'NoneStrBytes', 'NoneType', 'Null', 'Number', 'ONE', 'OpenBinaryMode', 'OpenBinaryModeReading', 'OpenBinaryModeUpdating', 'OpenBinaryModeWriting', 'OpenTextMode', 'OpenTextModeReading', 'OpenTextModeUpdating', 'OpenTextModeWriting', 'Opt', 'OptFloat', 'OptInt', 'OptStr', 'OptionalFloat', 'OptionalInt', 'OptionalStr', 'P', 'PT', 'Path', 'PathLike', 'R', 'RT', 'ReturnT', 'ReturnType', 'STDIN', 'STDIO', 'Self', 'Seq', 'SetAny', 'SetFloat', 'SetInt', 'SetNumber', 'SetStr', 'SetT', 'ShapeType', 'StrBytes', 'StrEnum', 'StrIntFloat', 'StrOrBytesPath', 'StrPath', 'StringEnum', 'T', 'TRUE', 'T_ParamSpec', 'T_Retval', 'T_co', 'T_contra', 'TupleStrStr', 'TupleStrs', 'Txt', 'U', 'VT', 'VT_co', 'VT_contra', 'V_co', 'ValT', 'ValType', 'ZERO', '_DT', '_KT', '_KT_co', '_KT_contra', '_R', '_RT', '_T', '_T_co', '_T_contra', '_VT', '_VT_co', '_VT_contra', '_V_co', '__all_shed__', '__all_typing__', '__all_typing_extensions__', '__all_typing_extensions_future__', 'null')\n    xt.__all_typing__  ~  xtyping.shed.__all_typing__  ~  ('AbstractSet', 'Any', 'AnyStr', 'AsyncContextManager', 'AsyncGenerator', 'AsyncIterable', 'AsyncIterator', 'Awaitable', 'ByteString', 'Callable', 'ChainMap', 'ClassVar', 'Collection', 'Container', 'ContextManager', 'Coroutine', 'Counter', 'DefaultDict', 'Deque', 'Dict', 'FrozenSet', 'Generator', 'Generic', 'Hashable', 'IO', 'ItemsView', 'Iterable', 'Iterator', 'KeysView', 'List', 'Mapping', 'MappingView', 'MutableMapping', 'MutableSequence', 'MutableSet', 'NamedTuple', 'NewType', 'Optional', 'Reversible', 'Sequence', 'Set', 'Sized', 'SupportsAbs', 'SupportsBytes', 'SupportsComplex', 'SupportsFloat', 'SupportsInt', 'SupportsRound', 'TYPE_CHECKING', 'Text', 'Tuple', 'Type', 'TypeVar', 'Union', 'ValuesView', 'cast', 'get_type_hints', 'no_type_check', 'no_type_check_decorator', 'overload')\n    xt.__all_typing_extensions__  ~  xtyping.shed.__all_typing_extensions__  ~  ('Annotated', 'AsyncContextManager', 'AsyncGenerator', 'AsyncIterable', 'AsyncIterator', 'Awaitable', 'ChainMap', 'ClassVar', 'Concatenate', 'ContextManager', 'Coroutine', 'Counter', 'DefaultDict', 'Deque', 'Final', 'IntVar', 'Literal', 'NewType', 'NoReturn', 'OrderedDict', 'ParamSpec', 'ParamSpecArgs', 'ParamSpecKwargs', 'Protocol', 'SupportsIndex', 'TYPE_CHECKING', 'Text', 'Type', 'TypeAlias', 'TypeGuard', 'TypedDict', 'final', 'get_args', 'get_origin', 'get_type_hints', 'overload', 'runtime', 'runtime_checkable')\n    xt.__all_typing_extensions_future__  ~  xtyping.shed.__all_typing_extensions_future__  ~  ('LiteralString', 'Never', 'NotRequired', 'Required', 'Self', 'TypeVarTuple', 'Unpack', 'assert_never', 'assert_type', 'clear_overloads', 'dataclass_transform', 'get_overloads', 'is_typeddict', 'reveal_type')\n    xt.null  ~  xtyping.shed.null  ~  <class 'NoneType'>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "xtyping = typing + typing_extensions",
    "version": "0.8.2",
    "project_urls": {
        "Homepage": "https://github.com/dynamic-graphics-inc/dgpy-libs/tree/main/libs/xtyping",
        "Repository": "https://github.com/dynamic-graphics-inc/dgpy-libs"
    },
    "split_keywords": [
        "typing",
        "dgpy",
        "typed",
        "types"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "68aa666ad7e5608101f999040902d8c8ac67f1eee02de46985c2f284dcc00811",
                "md5": "a0c217ff662f8900a7dd5cfe782e6998",
                "sha256": "9c80bbf5bcc9aa4ec5d5ad4b05c1778ac5312476a7169502e79f31eedbf77590"
            },
            "downloads": -1,
            "filename": "xtyping-0.8.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a0c217ff662f8900a7dd5cfe782e6998",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 14020,
            "upload_time": "2024-02-02T20:24:45",
            "upload_time_iso_8601": "2024-02-02T20:24:45.576230Z",
            "url": "https://files.pythonhosted.org/packages/68/aa/666ad7e5608101f999040902d8c8ac67f1eee02de46985c2f284dcc00811/xtyping-0.8.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc5a9eb41eaa78ea1df92fadbeaf2a83685572476bf30635ba145eee6a2c4176",
                "md5": "9e1ecaf4d6bfa73752f31a262c25f20a",
                "sha256": "219d14d2782d986e86d7310e4190701e2b521f158350cf9b5afc0f0c793cb98f"
            },
            "downloads": -1,
            "filename": "xtyping-0.8.2.tar.gz",
            "has_sig": false,
            "md5_digest": "9e1ecaf4d6bfa73752f31a262c25f20a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 16287,
            "upload_time": "2024-02-02T20:24:47",
            "upload_time_iso_8601": "2024-02-02T20:24:47.467540Z",
            "url": "https://files.pythonhosted.org/packages/cc/5a/9eb41eaa78ea1df92fadbeaf2a83685572476bf30635ba145eee6a2c4176/xtyping-0.8.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-02 20:24:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dynamic-graphics-inc",
    "github_project": "dgpy-libs",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "xtyping"
}
        
Elapsed time: 0.41176s