Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency jaxtyping to v0.2.36 #591

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 14, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
jaxtyping 0.2.25 -> 0.2.36 age adoption passing confidence

Release Notes

google/jaxtyping (jaxtyping)

v0.2.36: jaxtyping v0.2.36

Compare Source

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.

New Contributors

Full Changelog: patrick-kidger/jaxtyping@v0.2.35...v0.2.36

v0.2.35: jaxtyping v0.2.35

Compare Source

  • 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)

New Contributors

Full Changelog: patrick-kidger/jaxtyping@v0.2.34...v0.2.35

v0.2.34: jaxtyping v0.2.34

Compare Source

New Contributors

Full Changelog: patrick-kidger/jaxtyping@v0.2.33...v0.2.34

v0.2.33: jaxtyping v0.2.33

Compare Source

  • Compatibility with Python 3.10 when using Any as the array type.
  • Compatibility with generic array types.
  • Array typevars now respect __constraints__

Full Changelog: patrick-kidger/jaxtyping@v0.2.32...v0.2.33

v0.2.32: jaxtyping v0.2.32

Compare Source

  • 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: patrick-kidger/jaxtyping@v0.2.31...v0.2.32

v0.2.31: jaxtyping v0.2.31

Compare Source

  • 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!)

New Contributors

Full Changelog: patrick-kidger/jaxtyping@v0.2.30...v0.2.31

v0.2.30: jaxtyping v0.2.30

Compare Source

  • Now reporting the correct source code line numbers when using the import hook. Makes debuggers useful again! #​214
  • Now supports numpy structured dtypes (Thanks @​alexfanqi! #​211)
  • Now respecting typing.no_type_check. #​216

New Contributors

Full Changelog: patrick-kidger/jaxtyping@v0.2.29...v0.2.30

v0.2.29: jaxtyping v0.2.29

Compare Source

  • Crash fix for when jax is available but jaxlib is not. (Thanks @​ar0ck! #​191)
  • Crash fix when used alongside old TensorFlow versions that don't support tensor.ndim (Thanks @​dziulek! #​193)
  • Crash fix when using a default argument as a symbolic dimension size. (Thanks @​jaraujo98! #​208)
  • Improved import times by defining the IPython magic lazily. (Thanks @​superbobry! #​201)
  • The import hook will now typecheck functions that do not have any annotations in the arguments or return value. This is useful for those that do manual isinstance checks in the body of teh function. (Thanks @​nimashoghi! #​205)
  • Dropped the dependency on numpy. This makes it possible to just use jaxtyping+typeguard as the one-stop-shop for all runtime typechecking, even when you're not using arrays. Obviously that's a little unusual -- not really the main focus of jaxtyping -- but helps when wanting a single choice of runtime type checker across an entire codebase, only parts of which may use arrays. (#​212)

New Contributors

Full Changelog: patrick-kidger/jaxtyping@v0.2.28...v0.2.29

v0.2.28: jaxtyping v0.2.28

Compare Source

Autogenerated release notes as follows:

What's Changed

Full Changelog: patrick-kidger/jaxtyping@v0.2.27...v0.2.28

v0.2.27: jaxtyping v0.2.27

Compare Source

Quick bugfix release:

  • Fixed some isinstance checks against variadics crashing (although this was when it was about to return False anyway). (Thanks @​asford! #​186)
  • Fixed docs for downstream libraries (Equinox, ...) not generating correctl (#​182)

New Contributors

Full Changelog: patrick-kidger/jaxtyping@v0.2.26...v0.2.27

v0.2.26: jaxtyping v0.2.26

Compare Source

Features
  • Added jaxtyping.print_bindings to manually inspect the values of each axis, whilst inside a function.
  • Added support for jaxtyping.{Int4, UInt4}. (#​174, thanks @​jianlijianli!)
Bugfixes
  • We no longer import JAX at all, even if it is present. This ensures compatibility when using jaxtyping+PyTorch alongside an old JAX installation. (All JAX re-exports, like jaxtyping.Array = jax.Array, are looked up dynamically rather than import time.) (#​178)
  • We no longer raise false postiives when @jaxtyped-ing generators (with yield statements). (#​91, #​171, thanks @​knyazer!)
Internals
  • Added support for beartype's pseudostandard __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.
Docs

New Contributors

Full Changelog: patrick-kidger/jaxtyping@v0.2.25...v0.2.26


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Jul 14, 2024
@renovate renovate bot requested a review from a team as a code owner July 14, 2024 07:27
@renovate renovate bot force-pushed the renovate/jaxtyping-0.x-lockfile branch from 551077a to 05905dd Compare September 1, 2024 23:24
@renovate renovate bot changed the title chore(deps): update dependency jaxtyping to v0.2.33 chore(deps): update dependency jaxtyping to v0.2.34 Sep 1, 2024
@renovate renovate bot force-pushed the renovate/jaxtyping-0.x-lockfile branch from 05905dd to 647c755 Compare November 18, 2024 11:40
@renovate renovate bot changed the title chore(deps): update dependency jaxtyping to v0.2.34 chore(deps): update dependency jaxtyping to v0.2.35 Nov 18, 2024
@renovate renovate bot force-pushed the renovate/jaxtyping-0.x-lockfile branch from 647c755 to c258ed1 Compare November 18, 2024 21:22
@renovate renovate bot changed the title chore(deps): update dependency jaxtyping to v0.2.35 chore(deps): update dependency jaxtyping to v0.2.36 Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants