BigData™

It's a big bear AAAAAAAAFTER all!
It's a big bear AAAAAAAAFTER all!
It's a big b——— *squelching sound, then blessed silence*

Beartype complies with vast swaths of Python’s typing landscape and lint-filled laundry list of Python Enhancement Proposals (PEPs) – but nobody’s perfect. Not even the hulking form of beartype does everything. </audience_gasps>

Let’s chart exactly what beartype complies with and when beartype first did so. Introducing… Beartype’s feature matrix of bloated doom! It will bore you into stunned disbelief that somebody typed all this. [1]

category

feature

partial support

full support

Python

3.5

0.1.00.3.0

3.6

0.1.00.10.4

3.7

0.1.00.15.0

3.8

0.1.0current

3.9

0.3.2current

3.10

0.7.0current

3.11

0.12.0current

3.12

0.17.0current

PEP

362

none

none

435

0.16.0current

none

484

0.2.0current

none

526

0.15.0current

544

0.4.0current

557

0.10.0current

none

560

0.4.0current

561

0.6.0current

563

0.1.1current

0.7.0current

570

0.10.0current

572

0.3.0current

0.4.0current

585

0.5.0current

586

0.7.0current

589

0.9.0current

none

591

0.13.0current

none

593

0.4.0current

604

0.10.0current

612

none

none

613

none

0.18.0current

621

0.15.0current

646

none

none

647

0.13.0current

649

none

none

663

0.16.0current

none

673

0.14.0current

675

0.14.0current

none

681

none

none

688

0.1.0current

692

none

none

695

0.17.0current

none

698

none

none

3102

0.1.0current

3119

0.7.0current

0.9.0current

3141

0.1.0current

packaging

PyPI

0.1.0current

Anaconda

0.1.0current

Arch Linux

0.12.0current

Gentoo Linux

0.2.0current

macOS Homebrew

0.5.1current

macOS MacPorts

0.5.1current

decoratable

classes

0.11.0current

coroutines

0.9.0current

dataclasses

0.10.0current

enumerations

0.16.0current

none

functions

0.1.0current

generators (asynchronous)

0.9.0current

generators (synchronous)

0.1.0current

methods

0.1.0current

pseudo-functions (__call__())

0.13.0current

hints

covariant

0.1.0current

contravariant

none

none

absolute forward references

0.14.0current

relative forward references

0.14.0current

subscriptable forward references

0.16.0current

tuple unions

0.1.0current

type alias statements

0.17.0current

none

parameters

optional

0.18.0current

keyword-only

0.1.0current

positional-only

0.10.0current

variadic keyword

none

none

variadic positional

0.1.0current

plugin APIs

__instancecheck_str__

0.17.0current

shell variables

${BEARTYPE_IS_COLOR}

0.16.0current

static checkers

mypy

0.6.0current

pyright

0.11.0current

pytype

none

none

Pyre

none

none

beartype

beartype()

0.1.0current

BeartypeConf

0.10.0current

BeartypeStrategy

0.10.0current

beartype.abby

die_if_unbearable

0.10.00.10.4

is_bearable

0.10.00.10.4

beartype.claw

beartype_all()

0.15.0current

beartype_package()

0.15.0current

beartype_packages()

0.15.0current

beartype_this_package()

0.15.0current

beartyping()

0.15.0current

beartype.door

TypeHint

0.11.0current

AnnotatedTypeHint

0.11.0current

CallableTypeHint

0.11.0current

LiteralTypeHint

0.11.0current

NewTypeTypeHint

0.11.0current

TypeVarTypeHint

0.11.0current

UnionTypeHint

0.11.0current

die_if_unbearable()

0.11.0current

is_bearable()

0.11.0current

is_subhint()

0.11.0current

beartype.peps

resolve_pep563()

0.11.0current

beartype.typing

all

0.10.0current

beartype.vale

Is

0.7.0current

IsAttr

0.7.0current

IsEqual

0.7.0current

IsInstance

0.10.0current

IsSubclass

0.9.0current

builtins

None

0.6.0current

NotImplemented

0.7.1current

dict

0.18.0current

frozenset

0.5.0current

none

list

0.5.0current

set

0.5.0current

none

tuple

0.5.0current

type

0.5.0current

0.9.0current

collections

ChainMap

0.5.0current

none

Counter

0.5.0current

none

OrderedDict

0.18.0current

defaultdict

0.18.0current

deque

0.5.0current

none

collections.abc

AsyncGenerator

0.5.0current

none

AsyncIterable

0.5.0current

none

AsyncIterator

0.5.0current

none

Awaitable

0.5.0current

none

Buffer

0.1.0current

ByteString

0.5.0current

Callable

0.5.0current

none

Collection

0.5.0current

none

Container

0.5.0current

none

Coroutine

0.5.0current

0.9.0current

Generator

0.5.0current

none

ItemsView

0.5.0current

none

Iterable

0.5.0current

none

Iterator

0.5.0current

none

KeysView

0.5.0current

none

Mapping

0.18.0current

MappingView

0.5.0current

none

MutableMapping

0.18.0current

MutableSequence

0.5.0current

MutableSet

0.5.0current

none

Reversible

0.5.0current

none

Sequence

0.5.0current

Set

0.5.0current

none

ValuesView

0.5.0current

none

contextlib

AbstractAsyncContextManager

0.5.0current

none

AbstractContextManager

0.5.0current

none

contextmanager

0.15.0current

dataclasses

InitVar

0.10.0current

dataclass

0.10.0current

none

enum

Enum

0.16.0current

none

equinox

all

0.17.0current

StrEnum

0.16.0current

none

functools

lru_cache

0.15.0current

nuitka

all

0.12.0current

nptyping

all

0.17.0current

numpy.typing

numpy.typing.NDArray

0.8.0current

os

PathLike

0.17.0current

none

pandera

all

0.13.0current

re

Match

0.5.0current

none

Pattern

0.5.0current

none

sphinx

sphinx.ext.autodoc

0.9.0current

typing

AbstractSet

0.2.0current

none

Annotated

0.4.0current

Any

0.2.0current

AnyStr

0.4.0current

none

AsyncContextManager

0.4.0current

none

AsyncGenerator

0.2.0current

none

AsyncIterable

0.2.0current

none

AsyncIterator

0.2.0current

none

Awaitable

0.2.0current

none

BinaryIO

0.4.0current

0.10.0current

ByteString

0.2.0current

Callable

0.2.0current

none

ChainMap

0.2.0current

none

ClassVar

none

none

Collection

0.2.0current

none

Concatenate

none

none

Container

0.2.0current

none

ContextManager

0.4.0current

none

Coroutine

0.2.0current

0.9.0current

Counter

0.2.0current

none

DefaultDict

0.18.0current

Deque

0.2.0current

none

Dict

0.18.0current*

Final

0.13.0current

none

ForwardRef

0.4.0current

0.16.0current

FrozenSet

0.2.0current

none

Generator

0.2.0current

none

Generic

0.4.0current

Hashable

0.2.0current

none

IO

0.4.0current

0.10.0current

ItemsView

0.2.0current

none

Iterable

0.2.0current

none

Iterator

0.2.0current

none

KeysView

0.2.0current

none

List

0.2.0current

0.3.0current

Literal

0.7.0current

LiteralString

0.14.0current

none

Mapping

0.18.0current*

MappingView

0.2.0current

none

Match

0.4.0current

none

MutableMapping

0.18.0current

MutableSequence

0.2.0current

0.3.0current

MutableSet

0.2.0current

none

NamedTuple

0.1.0current

0.12.0current

NewType

0.4.0current

NoReturn

0.4.0current

Optional

0.2.0current

OrderedDict

0.18.0current

ParamSpec

none

none

ParamSpecArgs

none

none

ParamSpecKwargs

none

none

Pattern

0.4.0current

none

Protocol

0.4.0current

Reversible

0.2.0current

none

Self

0.14.0current

Sequence

0.2.0current

0.3.0current

Set

0.2.0current

none

Sized

0.2.0current

SupportsAbs

0.4.0current

SupportsBytes

0.4.0current

SupportsComplex

0.4.0current

SupportsFloat

0.4.0current

SupportsIndex

0.4.0current

SupportsInt

0.4.0current

SupportsRound

0.4.0current

Text

0.1.0current

TextIO

0.4.0current

0.10.0current

Tuple

0.2.0current

0.4.0current

Type

0.2.0current

0.9.0current

TypeAlias

none

0.18.0current

TypeGuard

0.13.0current

TypedDict

0.9.0current

none

TypeVar

0.4.0current

none

TypeVarTuple

none

none

Union

0.2.0current

Unpack

none

none

ValuesView

0.2.0current

none

TYPE_CHECKING

0.5.0current

final

none

none

no_type_check

0.5.0current

override

none

none

typing_extensions

all attributes

0.8.0current

weakref

ref

0.17.0current

none