Tip
π Upbear us at GitHub Sponsors and SonarQube Advanced Security (Tidelift). Follow us on Bluesky.
Your generous support is our quality assurance. π
FeaturesΒΆ
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.0β0.3.0 |
3.6 |
β |
0.1.0β0.10.4 |
|
3.7 |
β |
0.1.0β0.15.0 |
|
3.8 |
β |
0.1.0β0.19.0 |
|
3.9 |
β |
0.3.2β0.22.0 |
|
3.10 |
β |
0.7.0βcurrent |
|
3.11 |
β |
0.12.0βcurrent |
|
3.12 |
β |
0.17.0βcurrent |
|
3.13 |
β |
0.19.0βcurrent |
|
3.14 |
β |
0.22.0βcurrent |
|
PEP |
none |
0.22.8βcurrent |
|
PEP |
none |
none |
|
PEP |
none |
0.22.8βcurrent |
|
0.16.0βcurrent |
none |
||
0.1.0βcurrent |
none |
||
0.2.0βcurrent |
none |
||
β |
0.19.0βcurrent |
||
β |
0.19.0βcurrent |
||
PEP |
none |
0.22.7βcurrent |
|
β |
0.15.0βcurrent |
||
β |
0.4.0βcurrent |
||
0.10.0βcurrent |
none |
||
β |
0.4.0βcurrent |
||
β |
0.6.0βcurrent |
||
β |
0.7.0βcurrent |
||
β |
0.10.0βcurrent |
||
β |
0.4.0βcurrent |
||
β |
0.5.0βcurrent |
||
β |
0.7.0βcurrent |
||
0.9.0βcurrent |
none |
||
0.13.0βcurrent |
none |
||
β |
0.4.0βcurrent |
||
β |
0.10.0βcurrent |
||
0.19.0βcurrent |
none |
||
none |
0.18.0βcurrent |
||
β |
0.19.0βcurrent |
||
0.22.0βcurrent |
none |
||
β |
0.13.0βcurrent |
||
none |
0.22.0βcurrent |
||
0.16.0βcurrent |
none |
||
β |
0.14.0βcurrent |
||
0.14.0βcurrent |
none |
||
none |
none |
||
β |
0.1.0βcurrent |
||
0.19.0βcurrent |
none |
||
β |
0.21.0βcurrent |
||
none |
0.22.0βcurrent |
||
none |
none |
||
none |
none |
||
β |
0.20.0βcurrent |
||
none |
none |
||
none |
0.22.0βcurrent |
||
β |
0.1.0βcurrent |
||
β |
0.9.0βcurrent |
||
β |
0.1.0βcurrent |
||
packaging |
β |
0.1.0βcurrent |
|
β |
0.1.0βcurrent |
||
β |
0.12.0βcurrent |
||
β |
0.2.0βcurrent |
||
β |
0.5.1βcurrent |
||
β |
0.5.1βcurrent |
||
decoratable |
classes |
β |
0.11.0βcurrent |
coroutines |
β |
0.9.0βcurrent |
|
dataclasses |
β |
0.10.0βcurrent |
|
enumerations |
0.16.0βcurrent |
none |
|
functions |
β |
0.1.0βcurrent |
|
generators (asynchronous) |
β |
0.9.0βcurrent |
|
generators (synchronous) |
β |
0.1.0βcurrent |
|
methods |
β |
0.1.0βcurrent |
|
pseudo-functions ( |
β |
0.13.0βcurrent |
|
hints |
β |
0.1.0βcurrent |
|
none |
none |
||
absolute forward references |
β |
0.14.0βcurrent |
|
β |
0.14.0βcurrent |
||
subscriptable forward references |
β |
0.16.0βcurrent |
|
β |
0.1.0βcurrent |
||
|
β |
0.21.0βcurrent |
|
parameters |
optional |
β |
0.18.0βcurrent |
keyword-only |
β |
0.1.0βcurrent |
|
positional-only |
β |
0.10.0βcurrent |
|
variadic keyword |
β |
0.19.0βcurrent |
|
variadic positional |
β |
0.1.0βcurrent |
|
plugin APIs |
|
β |
0.17.0βcurrent |
shell variables |
β |
0.16.0βcurrent |
|
static checkers |
β |
0.6.0βcurrent |
|
β |
0.11.0βcurrent |
||
none |
none |
||
none |
none |
||
β |
0.1.0βcurrent |
||
β |
0.10.0βcurrent |
||
β |
0.10.0βcurrent |
||
beartype.abby |
die_if_unbearable |
β |
0.10.0β0.10.4 |
is_bearable |
β |
0.10.0β0.10.4 |
|
β |
0.15.0βcurrent |
||
β |
0.15.0βcurrent |
||
β |
0.15.0βcurrent |
||
β |
0.15.0βcurrent |
||
|
β |
0.15.0βcurrent |
|
|
|
β |
0.22.0βcurrent |
β |
0.11.0βcurrent |
||
|
β |
0.11.0βcurrent |
|
|
β |
0.20.0βcurrent |
|
|
β |
0.11.0βcurrent |
|
|
β |
0.20.0βcurrent |
|
|
β |
0.11.0βcurrent |
|
|
β |
0.11.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.11.0βcurrent |
|
|
β |
0.11.0βcurrent |
|
β |
0.11.0βcurrent |
||
|
β |
0.19.0β0.21.0 |
|
β |
0.11.0βcurrent |
||
β |
0.11.0βcurrent |
||
|
|
β |
0.11.0βcurrent |
|
all |
β |
0.10.0βcurrent |
β |
0.7.0βcurrent |
||
β |
0.7.0βcurrent |
||
β |
0.7.0βcurrent |
||
β |
0.10.0βcurrent |
||
β |
0.9.0βcurrent |
||
|
β |
0.6.0βcurrent |
|
|
β |
0.7.1βcurrent |
|
|
β |
0.18.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.5.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.5.0βcurrent |
|
|
β |
0.9.0βcurrent |
|
all |
β |
0.20.0βcurrent |
|
|
|
β |
0.19.0βcurrent |
|
β |
0.19.0βcurrent |
|
|
β |
0.18.0βcurrent |
|
|
β |
0.18.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
β |
0.22.0βcurrent |
||
|
|
0.5.0βcurrent |
none |
|
0.5.0βcurrent |
none |
|
|
0.5.0βcurrent |
none |
|
|
0.5.0βcurrent |
none |
|
|
β |
0.1.0βcurrent |
|
|
β |
0.5.0βcurrent |
|
|
0.5.0βcurrent |
none |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.20.0βcurrent |
|
|
0.9.0βcurrent |
none |
|
|
0.5.0βcurrent |
none |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.20.0βcurrent |
|
|
0.5.0βcurrent |
none |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.18.0βcurrent |
|
|
0.5.0βcurrent |
none |
|
|
β |
0.18.0βcurrent |
|
|
β |
0.5.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.20.0βcurrent |
|
|
β |
0.5.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
|
0.5.0βcurrent |
none |
|
0.5.0βcurrent |
none |
|
|
β |
0.20.0βcurrent |
|
|
β |
0.15.0βcurrent |
|
|
|
β |
0.10.0βcurrent |
|
0.10.0βcurrent |
none |
|
|
|
0.16.0βcurrent |
none |
|
0.16.0βcurrent |
none |
|
β |
0.17.0β0.19.0 |
||
β |
0.19.0βcurrent |
||
all |
β |
0.22.7βcurrent |
|
β |
0.22.7βcurrent |
||
β |
0.22.6βcurrent |
||
β |
0.19.0βcurrent |
||
β |
0.22.0βcurrent |
||
most |
0.20.0βcurrent |
none |
|
β |
0.22.0βcurrent |
||
|
|
β |
0.15.0βcurrent |
all |
β |
0.12.0βcurrent |
|
β |
0.19.0βcurrent |
||
all |
β |
0.17.0βcurrent |
|
β |
0.8.0βcurrent |
||
|
|
0.17.0βcurrent |
none |
all |
β |
0.22.9βcurrent |
|
all |
β |
0.13.0βcurrent |
|
all |
0.20.0βcurrent |
none |
|
|
|
0.5.0βcurrent |
none |
|
0.5.0βcurrent |
none |
|
β |
0.22.3βcurrent |
||
all |
β |
0.20.1βcurrent |
|
β |
0.9.0βcurrent |
||
|
|
β |
0.19.0βcurrent |
|
β |
0.4.0βcurrent |
|
|
β |
0.2.0βcurrent |
|
|
0.4.0βcurrent |
none |
|
|
0.4.0βcurrent |
none |
|
|
0.2.0βcurrent |
none |
|
|
0.2.0βcurrent |
none |
|
|
0.2.0βcurrent |
none |
|
|
0.2.0βcurrent |
none |
|
|
β |
0.10.0βcurrent |
|
|
β |
0.2.0βcurrent |
|
|
0.2.0βcurrent |
none |
|
|
β |
0.19.0βcurrent |
|
|
none |
none |
|
|
β |
0.19.0βcurrent |
|
|
none |
none |
|
|
β |
0.20.0βcurrent |
|
|
0.4.0βcurrent |
none |
|
|
0.9.0βcurrent |
none |
|
|
β |
0.19.0βcurrent* |
|
|
β |
0.18.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.18.0βcurrent* |
|
|
0.13.0βcurrent |
none |
|
|
β |
0.16.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
0.2.0βcurrent |
none |
|
|
β |
0.4.0βcurrent |
|
|
0.2.0βcurrent |
none |
|
|
β |
0.10.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.20.0βcurrent |
|
|
0.2.0βcurrent |
none |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.3.0βcurrent |
|
|
β |
0.7.0βcurrent |
|
|
0.14.0βcurrent |
none |
|
|
β |
0.18.0βcurrent* |
|
|
0.2.0βcurrent |
none |
|
|
0.4.0βcurrent |
none |
|
|
β |
0.18.0βcurrent |
|
|
β |
0.3.0βcurrent |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.12.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.22.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.2.0βcurrent |
|
|
β |
0.18.0βcurrent |
|
|
none |
none |
|
|
0.19.0βcurrent |
none |
|
|
0.19.0βcurrent |
none |
|
|
0.4.0βcurrent |
none |
|
|
β |
0.4.0βcurrent |
|
|
none |
none |
|
|
β |
0.20.0βcurrent |
|
|
β |
0.14.0βcurrent |
|
|
β |
0.3.0βcurrent |
|
|
β |
0.190βcurrent |
|
|
β |
0.2.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.1.0βcurrent |
|
|
β |
0.10.0βcurrent |
|
|
β |
0.4.0βcurrent |
|
|
β |
0.9.0βcurrent |
|
|
β |
0.18.0βcurrent |
|
|
β |
0.13.0βcurrent |
|
|
β |
0.20.0βcurrent |
|
|
0.9.0βcurrent |
none |
|
|
0.4.0βcurrent |
none |
|
|
0.19.0βcurrent |
none |
|
|
β |
0.2.0βcurrent |
|
|
0.19.0βcurrent |
none |
|
|
β |
0.19.0βcurrent |
|
|
β |
0.5.0βcurrent |
|
|
none |
none |
|
|
β |
0.5.0βcurrent |
|
|
none |
none |
|
all attributes |
β |
0.8.0βcurrent |
|
all |
0.20.0βcurrent |
none |
|
|
|
0.17.0βcurrent |
none |