NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1970 most downloaded on PyPI
Type annotations and runtime checking for shape and dtype of JAX/NumPy/PyTorch/etc. arrays.
Last release 3 months ago
13 Jun 2026
Release timing varies
gaps range from 2 weeks to 5 months
Nearly every release is documented
notes for 52 of 54 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
54 releases · first in 2022
One column per quarter.
Bugfix: the import hook now correctly handles the @no_type_check decorator. (Thanks @jeertmans ! #393 )
@no_type_check decorator. (Thanks @jeertmans! #393)Full Changelog: v0.3.10...v0.3.11
@no_type_check decorator. (Thanks @jeertmans! https://github.com/patrick-kidger/jaxtyping/pull/393)Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.10...v0.3.11
add u32[4] as a possible PRNGKeyArray type (Thanks @jondeaton! https://github.com/patrick-kidger/jaxtyping/pull/388)
Bugfixes
u32[4] as a possible PRNGKeyArray type (Thanks @jondeaton! https://github.com/patrick-kidger/jaxtyping/pull/388)Float[Array, "..."]) survive cloudpickle round-trip. (Thanks @hmgaudecker! https://github.com/patrick-kidger/jaxtyping/pull/391)Infrastructure
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.9...v0.3.10
Bugfixes
u32[4] as a possible PRNGKeyArray type (Thanks @jondeaton! #388)Float[Array, "..."]) survive cloudpickle round-trip. (Thanks @hmgaudecker! #391)Infrastructure
Full Changelog: v0.3.9...v0.3.10
Bugfix: typechecking of pytrees of |-style unions, e.g. isinstance(..., PyTree[int | bool]), will no longer silently always pass. https://github.com/p
Bugfix: typechecking of pytrees of |-style unions, e.g. isinstance(..., PyTree[int | bool]), will no longer silently always pass. https://github.com/patrick-kidger/jaxtyping/pull/381
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.8...v0.3.9
Bugfix: typechecking of pytrees of |-style unions, e.g. isinstance(..., PyTree[int | bool]), will no longer silently always pass. #381
Full Changelog: v0.3.8...v0.3.9
Another bugfix release for numpy.typing.ArrayLike on numpy 2.4.0, I think this time only needed Python 3.13+. #380
Another bugfix release for numpy.typing.ArrayLike on numpy 2.4.0, I think this time only needed Python 3.13+. #380
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.7...v0.3.8
Another bugfix release for numpy.typing.ArrayLike on numpy 2.4.0, I think this time only needed Python 3.13+. #380
Full Changelog: v0.3.7...v0.3.8
Bugfix: SomeDtype[Union[numpy.typing.ArrayLike, ...], ...] will no longer crash in numpy 2.4.0.
Bugfix: SomeDtype[Union[numpy.typing.ArrayLike, ...], ...] will no longer crash in numpy 2.4.0. (#374)
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.6...v0.3.7
Bugfix: SomeDtype[Union[numpy.typing.ArrayLike, ...], ...] will no longer crash in numpy 2.4.0. (#374)
Full Changelog: v0.3.6...v0.3.7
Bugfix: @typing.no_type_check is now respected on dataclasses. (Thanks @jeertmans! https://github.com/patrick-kidger/jaxtyping/pull/370)
@typing.no_type_check is now respected on dataclasses. (Thanks @jeertmans! https://github.com/patrick-kidger/jaxtyping/pull/370)conftest.py is ran, making it usable even if the package under test is imported inside conftest.py. (Thanks @jeertmans! https://github.com/patrick-kidger/jaxtyping/pull/371)Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.5...v0.3.6
@typing.no_type_check is now respected on dataclasses. (Thanks @jeertmans! #370)conftest.py is ran, making it usable even if the package under test is imported inside conftest.py. (Thanks @jeertmans! #371)Full Changelog: v0.3.5...v0.3.6
Feature: support TypeAliasTypes as array types. For example:
Feature: support TypeAliasTypes as array types. For example:
type Foo = np.ndarray | int
Float[Foo, ""]
In particular, this re-enables support for numpy.typing.ArrayLike, which recently switched from being a union to a type alias.
Docs: big update to emphasize the way in which we are framework-agnostic.
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.4...v0.3.5
Feature: support TypeAliasTypes as array types. For example:
type Foo = np.ndarray | int
Float[Foo, ""]In particular, this re-enables support for numpy.typing.ArrayLike, which recently switched from being a union to a type alias.
Docs: big update to emphasize the way in which we are framework-agnostic.
Full Changelog: v0.3.4...v0.3.5
Add fp4e2m1fn type (Thanks @vincentlo-a! https://github.com/patrick-kidger/jaxtyping/pull/353)
numpy not available. (Thanks @charlesbmi! https://github.com/patrick-kidger/jaxtyping/pull/361)pytkdoc_tweaks or hippogriffe (=my internal doc libraries that probably no-one else uses 😁) and JAX is not available (#362)Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.3...v0.3.4
numpy not available. (Thanks @charlesbmi! #361)pytkdoc_tweaks or hippogriffe (=my internal doc libraries that probably no-one else uses 😁) and JAX is not available (#362)Full Changelog: v0.3.3...v0.3.4
A collection of esoteric fixes, mostly due to versions of other libraries:
A collection of esoteric fixes, mostly due to versions of other libraries:
Any instead.)Dtype[numpy.typing.ArrayLike, ...] not accepting bool/int/float in NumPy 2.3.3-ish.Foo | Bar annotations with typeguard==2.13.3 producing false negatives. (Fixes #349.)jaxtyping.ArrayLike not including jax._src.literals.LiteralArray under jax==0.7.2.Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.2...v0.3.3
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Exceptions during type hint resolution, not just NameErrors. by @patrick-kidger in https://github.com/patrick-kidger/jaxtyping/pull/317Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.1...v0.3.2
Autogenerated release notes as follows:
Exceptions during type hint resolution, not just NameErrors. by @patrick-kidger in #317Full Changelog: v0.3.1...v0.3.2
Minor bugfix: dataclass __init__ methods are no longer double-wrapped in jaxtyping.jaxtyped when using the import hook.
__init__ methods are no longer double-wrapped in jaxtyping.jaxtyped when using the import hook. (#313)Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.3.0...v0.3.1
Added support for MLX arrays. (Thanks @gabrieldemarmiesse! #299)
Features
(Very mildly) breaking changes
Previously we arranged it such that jaxtyping annotations were a subclass of their array type, e.g. Float[Array, "foo"] was a subclass of Array. This ran into various issues with un-subclass-able types, metaclass conflicts, etc. Correspondingly this subclassing has been removed.
@jaxtyped-decorated dataclasses now check the arguments to their __init__ methods, rather than checking their attributes after initialisation. (This better handles some edge-cases with dataclass extensions where fields are allowed to have converters for their type.)
This means that this:
@jaxtyped(typechecker=beartype)
@dataclass
class SomeClass:
size: int
x: Int32[np.ndarray, " {self.size}"]
should no longer have the self. present in order to work correctly:
@jaxtyped(typechecker=beartype)
@dataclass
class SomeClass:
size: int
x: Int32[np.ndarray, " {size}"]
Misc
@jaxtyped decoration (Thanks @hawkinsp! #311)PyTree.Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.38...v0.3.0
Added support for pickling jaxtyping annotations. https://github.com/patrick-kidger/jaxtyping/pull/295
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.37...v0.2.38
Added fp8 dtypes (Thanks @liudangyi! #251):
New features:
Added fp8 dtypes (Thanks @liudangyi! #251):
jaxtyping.Float8e4m3b11fnuzjaxtyping.Float8e4m3fnjaxtyping.Float8e4m3fnuzjaxtyping.Float8e5m2jaxtyping.Float8e5m2fnuzStatic type-checking compatibility when decorating dataclasses with @jaxtyped (Thanks @z4m0! #275, #278, #282)
Now pretty-printing error messages using the wadler_lindig library. In particular this means that PyTorch tensors etc. won't be printed out in their entirety, and will be summarised into just their shape and dtype. (#194, #284, #286)
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.36...v0.2.37
Fixed previous release that broke Python 3.9 compatibility! (Thanks @baluyotraf! #269, #270, #271)
Fixed previous release that broke Python 3.9 compatibility! (Thanks @baluyotraf! #269, #270, #271)
See https://github.com/patrick-kidger/jaxtyping/releases/tag/v0.2.35 for the corresponding release notes.
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.35...v0.2.36
Dropped dependency on typeguard==2.13.3. We now vendor our own copy of this. This means that jaxtyping now has zero dependencies. Note that more recen
Dropped dependency on typeguard==2.13.3. We now vendor our own copy of this. This means that jaxtyping now has zero dependencies. Note that more recent versions of typeguard do still seem to be a bit buggy in their handling of jaxtyping annotations, but we're now doing everything we can on this one :) (#199, #266)
jaxtyping no longer produces references cycles, which should improve performance in a edge cases, e.g. when decorating temporary local functions. (Thanks @ojw28! #258, #259, #260)
Improved compaibility with cloudpickle: this library has a minor bug that produced crashes in some edge cases used alongside jaxtyping -- we've now hopefully worked around such issues once and for all. (#261, #262)
Improved compatibility with poetry: this library has a bug in how it interpreters ~= version constraints in a nonstandard manner. We now use >= constraints instead. (Thanks @norpadon! #257)
Improved compatibility with mypy: now adding some extra typehints to help it infer the type of a jaxtyped-decorator function. (#254, #255)
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.34...v0.2.35
Compatibility with Python 3.12: fixed deprecation warnings about ast.Str. (#236, thanks @phinate!)
ray -- this fixes crashes with the error message has no attribute 'index_variadic' (#198, #237)ast.Str. (#236, thanks @phinate!)Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.33...v0.2.34
Compatibility with Python 3.10 when using Any as the array type.
Any as the array type.__constraints__Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.32...v0.2.33
The array type can now be either Any or a TypeVar. In both cases this means that anything is allowed at runtime. As usual, static type checkers will o
The array type can now be either Any or a TypeVar. In both cases this means that anything is allowed at runtime. As usual, static type checkers will only look at the array part of an annotation, so that an annotation of the form Float[T, "foo bar"] (where T = TypeVar("T")) will be treated as just T by static type checkers. This allows for expressing array-type-polymorphism with static typechecking. Here's an example:
import numpy as np
import torch
from typing import TypeVar
TensorLike = TypeVar("TensorLike", np.ndarray, torch.Tensor)
def stack_scalars(x: Float[TensorLike, ""], y: Float[TensorLike, ""]) -> Float[TensorLike, "2"]:
if isinstance(x, np.ndarray) and isinstance(y, np.ndarray):
return np.stack([x, y])
elif isinstance(x, torch.Tensor) and isinstance(y, torch.Tensor):
return torch.stack([x, y])
else:
raise ValueError("Invalid array types!")
Fixed a bug in which the very first argument to a function was erroneously reported as the one at fault for a typechecking error. This bug occurred when using default arguments.
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.31...v0.2.32
Fixed a JAX deprecation warning for jax.tree_map. (Thanks @groszewn!)
Now duck-type on array shapes and dtypes, so you can use jaxtyping for your custom arraylike objects:
class FooDtype(jaxtyping.AbstractDtype):
dtypes = ["foo"]
class MyArray:
@property
def dtype(self):
return "foo"
@property
def shape(self):
return (3, 1, 4)
def f(x: FooDtype[MyArray, "3 1 4"]): ...
Improved compatibility when typeguard warns that you're typechecking a function without annotations: it will no longer mention the jaxtyping-internal check_params function and will instead mention the name of the function that is missing annotations.
Improved the error message when typechecking fails, to state the full some_module.SomeClass.some_method rather than just some_method.
Fixed a JAX deprecation warning for jax.tree_map. (Thanks @groszewn!)
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.30...v0.2.31
Now reporting the correct source code line numbers when using the import hook. Makes debuggers useful again! #214
typing.no_type_check. #216Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.29...v0.2.30
Crash fix for when jax is available but jaxlib is not. (Thanks @ar0ck! #191)
jax is available but jaxlib is not. (Thanks @ar0ck! #191)tensor.ndim (Thanks @dziulek! #193)isinstance checks in the body of teh function. (Thanks @nimashoghi! #205)Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.28...v0.2.29
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.27...v0.2.28
Fixed some isinstance checks against variadics crashing (although this was when it was about to return False anyway). (Thanks @asford! #186)
Quick bugfix release:
isinstance checks against variadics crashing (although this was when it was about to return False anyway). (Thanks @asford! #186)Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.26...v0.2.27
Added jaxtyping.print_bindings to manually inspect the values of each axis, whilst inside a function.
jaxtyping.print_bindings to manually inspect the values of each axis, whilst inside a function.jaxtyping.{Int4, UInt4}. (#174, thanks @jianlijianli!)jaxtyping.Array = jax.Array, are looked up dynamically rather than import time.) (#178)@jaxtyped-ing generators (with yield statements). (#91, #171, thanks @knyazer!)__instancecheck_str__ method. Instead of isinstance(x, Float[Array, "foo"]), then one can now call Float[Array, "foo"].__instancecheck_str__(x), which will return either an empty string (success) or an error message describing why the check failed (wrong shape, wrong dtype, ...). In practice this feature probably isn't super usable right now; we'll need to wait until we've later done a better job ensuring compatibility between the jaxtyping import hooks and the beartype import hooks.Full Changelog: https://github.com/patrick-kidger/jaxtyping/compare/v0.2.25...v0.2.26
This release is primarily a usability release, designed to help ensure the library is being used correctly.
This release is primarily a usability release, designed to help ensure the library is being used correctly.
jaxtyping.jaxtyped(typechecker=...) argument is not passed, then a warning will be displayed. In practice, this will trigger:
@jaxtyped @beartype def foo(...): ...) -- upgrade to the new @jaxtyped(typechecker=beartype) def foo(...): ... syntax and get better error messages! :)@jaxtyped(beartype) def foo(...): ... -- in this case it's actually the beartype call that is jaxtype'd, not foo.jaxtyping.AnnotationError rather than a mix of RuntimeErrors, NameErrors etc. For example isinstance(x, Float) is not correct (you should write something like Float[Array, "..."]) instead), and this will raise such an AnnotationError.JAXTYPING_DISABLE=1 / jaxtyping.config.update("jaxtyping_disable", True): if enabled then all runtime type checking will be skipped.JAXTYPING_REMOVE_TYPECHECKER_STACK=1 / jaxtyping.config.update("jaxtyping_remove_typechecker_stack", True): if enabled then type-checking errors will only show the jaxtyping.TypeCheckError, and won't include any extra stack trace from the underlying type-checker (beartype/typeguard). Some users have found that they preferred the conciseness over the extra information.Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.24...v0.2.25
Error messages will now include useful shape information for debugging. (!!!) This closes the venerable #6, which is is one of the oldest feature requ
from jaxtyping import jaxtyped
from beartype/typeguard import beartype/typechecked as typechecker
@jaxtyped(typechecker=typechecker) # passing as keyword argument is important
def foo(...):
...
and moreover this is what install_import_hook now does.
As an example of this done, consider this buggy code:import jax.numpy as jnp
from jaxtyping import Array, Float, jaxtyped
from beartype import beartype
@jaxtyped(typechecker=beartype)
def f(x: Float[Array, "foo bar"], y: Float[Array, "foo"]):
...
f(jnp.zeros((3, 4)), jnp.zeros(5))
will now produce the error messagejaxtyping.TypeCheckError: Type-check error whilst checking the parameters of f.
The problem arose whilst typechecking argument 'y'.
Called with arguments: {'x': f32[3,4], 'y': f32[5]}
Parameter annotations: (x: Float[Array, 'foo bar'], y: Float[Array, 'foo']).
The current values for each jaxtyping axis annotation are as follows.
foo=3
bar=4
Hurrah! I'm really glad to have this important quality-of-life improvement in. (#6, #138)def make_zeros(size: int) -> Float[Array, "{size}"]:
return jnp.zeros(size)
in which axis names enclosed in {...} are evaluated as f-strings using the value of the argument of the function. This closes the long-standing feature request #93. (#93, #140) (Heads-up @MilesCranmer!)def f(x: PyTree[int, "T"], y: PyTree[float, "T"])
demands that x and y be PyTrees with the same jax.tree_util.tree_structure as each other. (#135)?. This makes it possible for the value of a dimension to vary across its position within a pytree, but must still be consistent with its value in other pytrees of the same structure. Such annotations look like PyTree[Float[Array, "?foo"], "T"]. Together with the previous point, this means that you can now declare that two pytrees must have the exact same structure and array shapes as each other: use PyTree[Float[Array, "?*shape"], "T"] as the annotation for both. (#136)jaxtyping.Real, which admits any float, signed integer, or unsigned integer. (But not bools or complexes.) (#128)jaxtyping.DTypeLike is now available (it is just a forwarding on of jax.typing.DTypeLike). (#129)jaxtyping.Key not being compatible with the new-style jax.random.key. (As opposed to the old-style jax.random.PRNGKey.) (#142, #143)install_import_hook(..., None) crashing (#145, #146).bool/int/float/complex now work correctly, e.g. Float[float, "..."] is now valid (and equivalent to just float). This is useful in particular for Float[ArrayLike, "..."] to work correctly (as ArrayLike includes float). (#133)def f(x: Float[Array, "dim*2"]) leaves dim unspecified -- are now fixed. (#131)@dataclass
class Foo:
attribute_name: int
Foo("strings are not integers")
will now correctly include the attribute_name. (#132)Note that this release may result in new errors being raised, due to the inclusion of #134. If so then you then the appropriate thing to do is to fix your code -- this is a correct error that jaxtyping was previously failing to raise.
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.23...v0.2.24
The import hook is now compatible with equinox.field(converter=...). More precisely: the import hook no longer checks the __init__ method of dataclass
equinox.field(converter=...). More precisely: the import hook no longer checks the __init__ method of dataclasses. Instead, it checks that each attribute matches its type annotation, after __init__ has run.v2.*, and explictly disallows later versions (v3 and v4), as these are known to be buggy. (Thanks @knyazer! #124)Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.22...v0.2.23
jaxtyping now offers an IPython extension. (Thanks @knyazer! #112) This means that you can now write the following at the top of your IPython/Jupyter/
import jaxtyping
%load_ext jaxtyping
%jaxtyping.typechecker beartype.beartype # or any other runtime type checker, e.g. typeguard
jaxtyping.PRNGKeyArray will match against either old-style jax.random.PRNGKey and new-style jax.random.key. Meanwhile jaxtyping.Key[Array, ...] will match against only new-style jax.random.keys. (#109)Float[Array]. (#110)Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.21...v0.2.22
…PRNGKeys (jax.core.is_opaque_dtype) will be deprecated and changed.
__pycache__ filling up with lots of redundant entries. (#102, #103)jax.core.is_opaque_dtype) will be deprecated and changed. (#98)Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.20...v0.2.21
Added jaxtyping.PyTreeDef type.
jaxtyping.PyTreeDef type.x = jaxtyping.PyTree[foo] via issubclass(x, jaxtyping.PyTree).__builtins__ was getting added as an extra key to the memo stack.Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.19...v0.2.20
Proper documentation! Not just markdown files on GitHub any more. Check out https://docs.kidger.site/jaxtyping.
jaxtyping.{PRNGKeyArray,Scalar,ScalarLike}Image = Float[Array, "channels height width"]
BatchImage = Float[Image, "batch"]
^key<\w+>$),Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.15...v0.2.19
(Yanked; broke the pytest hook. Prefer v0.2.19 instead.)
(Yanked; broke the pytest hook. Prefer v0.2.19 instead.)
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.15...v0.2.18
(Yanked; had incompatibility with non-JAX installations. Prefer v0.2.19 instead.)
(Yanked; had incompatibility with non-JAX installations. Prefer v0.2.19 instead.)
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.15...v0.2.17
(Yanked; had static typing issues. Prefer v0.2.19 instead.)
(Yanked; had static typing issues. Prefer v0.2.19 instead.)
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.15...v0.2.16
Added support for functions in symbolic dimensions, e.g. "min(foo,bar)", which were previously disallowed due to the presence of a comma.
torch.compile. (#71)Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.14...v0.2.15
Silenced spurious pyright>=1.1.293 errors with jaxtyping.PyTree. (Thanks @ZacCranko in #66!)
Highlights
pyright>=1.1.293 errors with jaxtyping.PyTree. (Thanks @ZacCranko in #66!)Features
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 passing typechecker="beartype.beartype(conf=beartype.BeartypeConf(strategy=beartype.BeartypeStrategy.On))".issubclass(Float[array_type, ...], array_type). (This is what brings compatibility with Plum v2.)Bugfixes
Bool[int, "..."] should now raise an error.@jaxtyping fo functions with fn in their __dict__ should now work.install_import_hook(..., typechecker="beartype.beartype") should no longer raise a spurious error.install_import_hook(..., typechecker=...) will no longer wrongly hit the same __pycache__. (Before this the change in value was ignored.)Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.13...v0.2.14
Added support for jax.typing.ArrayLike.
Added support for jax.typing.ArrayLike.
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.12...v0.2.13
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.11...v0.2.12
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.10...v0.2.11
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.9...v0.2.10
Autogenerated release notes as follows:
Autogenerated release notes as follows:
jaxtyping.* by @brentyi in https://github.com/google/jaxtyping/pull/49Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.8...v0.2.9
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.7...v0.2.8
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.6...v0.2.7
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.5...v0.2.6
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.4...v0.2.5
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.3...v0.2.4
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.2...v0.2.3
Autogenerated release notes as follows:
Autogenerated release notes as follows:
Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.1...v0.2.2
Autogenerated release notes as follows:
Autogenerated release notes as follows:
py.typed by @patrick-kidger in https://github.com/google/jaxtyping/pull/21Full Changelog: https://github.com/google/jaxtyping/compare/v0.2.0...v0.2.1
This version of jaxtyping is a backwards-incompatible change to the syntax. The good news is that we now support static type checking, have no more am
This version of jaxtyping is a backwards-incompatible change to the syntax. The good news is that we now support static type checking, have no more ambiguous variable names, and can support annotating non-JAX-arrays!
See https://github.com/google/jaxtyping/pull/16 for how to upgrade, and https://github.com/google/jaxtyping/pull/13 for the discussion surrounding this.
Full Changelog: https://github.com/google/jaxtyping/compare/v0.1.0...v0.2.0
Backward incompatibility: the broadcasting annotation # now occurs at the start of the dimension, e.g. #foo, rather than at the end, e.g. foo#.
This is a fun release.
def remove_last(x: f32["dim"]) -> f32["dim-1"]):
return x[1:]
(#9)_ was before. This allows you to include an anonymous dimension, but still give it some kind of name just for documentation purposes. (#10)*#foo, now precisely matches up with normal broadcasting semantics. (#8)# now occurs at the start of the dimension, e.g. #foo, rather than at the end, e.g. foo#.Full Changelog: https://github.com/google/jaxtyping/compare/v0.0.2...v0.1.0
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →