Releases: patrick-kidger/jaxtyping
Releases · patrick-kidger/jaxtyping
jaxtyping v0.2.20
- Added
jaxtyping.PyTreeDef
type. - Can now detect
x = jaxtyping.PyTree[foo]
viaissubclass(x, jaxtyping.PyTree)
. - Fixed #89, in which
__builtins__
was getting added as an extra key to the memo stack. - Renamed modules with a leading underscore to indicate that they're private.
- Bump minimum Python version to 3.9.
Full Changelog: v0.2.19...v0.2.20
jaxtyping v0.2.19
- Proper documentation! Not just markdown files on GitHub any more. Check out https://docs.kidger.site/jaxtyping.
- Added
jaxtyping.{PRNGKeyArray,Scalar,ScalarLike}
- Can now nest, e.g.
Image = Float[Array, "channels height width"] BatchImage = Float[Image, "batch"]
- Now packaging in the modern way with pyproject.toml.
- Dtypes can now match regexes (e.g. used in keys to match
^key<\w+>$
),
Full Changelog: v0.2.15...v0.2.19
jaxtyping v0.2.18
(Yanked; broke the pytest hook. Prefer v0.2.19 instead.)
Full Changelog: v0.2.15...v0.2.18
jaxtyping v0.2.17
(Yanked; had incompatibility with non-JAX installations. Prefer v0.2.19 instead.)
Full Changelog: v0.2.15...v0.2.17
jaxtyping v0.2.16
(Yanked; had static typing issues. Prefer v0.2.19 instead.)
Full Changelog: v0.2.15...v0.2.16
Jaxtyping v0.2.15
- Added support for functions in symbolic dimensions, e.g. "min(foo,bar)", which were previously disallowed due to the presence of a comma. (#51)
- Added support for adding ignored names to dimensions, e.g. "cols=4". (#76)
- Added support for Python 3.10 A | B union types (#73)
- Experimental (largely untested) compatibility with
torch.compile
. (#71)
Full Changelog: v0.2.14...v0.2.15
Jaxtyping v0.2.14
Highlights
- Silenced spurious
pyright>=1.1.293
errors withjaxtyping.PyTree
. (Thanks @ZacCranko in #66!) - Compatibility with Plum v2 (beartype/plum#73).
Features
- Tweaked
install_import_hook(..., typechecker=...)
argument to also accept a string. In particular this means it can be used with beartype's new full checking; this can be enabled by passingtypechecker="beartype.beartype(conf=beartype.BeartypeConf(strategy=beartype.BeartypeStrategy.On))"
. - It is now the case that e.g.
issubclass(Float[array_type, ...], array_type)
. (This is what brings compatibility with Plum v2.) - NumPy and PyTorch compatibility is now tested.
Bugfixes
- Statements like
Bool[int, "..."]
should now raise an error. - Applying
@jaxtyping
fo functions withfn
in their__dict__
should now work. - Subclassing dataclasses whilst using
install_import_hook(..., typechecker="beartype.beartype")
should no longer raise a spurious error. - Changing the value of
install_import_hook(..., typechecker=...)
will no longer wrongly hit the same__pycache__
. (Before this the change in value was ignored.) - Can now serialise jaxtyping types using cloudpickle.
New Contributors
- @ZacCranko made their first contribution in #66
Full Changelog: v0.2.13...v0.2.14
Jaxtyping v0.2.13
Added support for jax.typing.ArrayLike
.
Full Changelog: v0.2.12...v0.2.13
Jaxtyping v0.2.12
Autogenerated release notes as follows:
What's Changed
- Fix vanilla dataclasses by @brentyi in #56
- Fixes for some new failures. (Where did they come from?) by @patrick-kidger in #65
Full Changelog: v0.2.11...v0.2.12
Jaxtyping v0.2.11
Autogenerated release notes as follows:
What's Changed
- Hopefully fixed PyTree raising spurious errors. by @patrick-kidger in #54
Full Changelog: v0.2.10...v0.2.11