Tools for JAX.
Project description
Tools for JAX
This repository implements a variety of tools for the differential programming library JAX.
Major components
Tjax’s major components are:
A dataclass decorator
dataclassthat facilitates defining structured JAX objects (so-called “pytrees”), which benefits from:the ability to mark fields as static (not available in chex.dataclass), and
a display method that produces formatted text according to the tree structure.
A shim for the gradient transformation library optax that supports:
easy differentiation and vectorization of “gradient transformation” (learning rule) parameters,
gradient transformation objects that can be passed dynamically to jitted functions, and
generic type annotations.
A pretty printer
print_genericfor aggregate and vector types, including dataclasses. (See display.) It features:support for traced values,
colorized tree output for aggregate structures, and
formatted tabular output for arrays (or statistics when there’s no room for tabular output).
Minor components
Tjax also includes:
Versions of
custom_vjpandcustom_jvpthat support being used on methods:custom_vjp_methodandcustom_vjp_method(See shims.)Tools for working with cotangents. (See cotangent_tools.)
JAX tree registration for NetworkX graph types. (See graph.)
Leaky integration
leaky_integrateand Ornstein-Uhlenbeck process iterationdiffused_leaky_integrate. (See leaky_integral.)A testing function
assert_tree_allclosethat automatically produces testing code. And, a related functiontree_allclose, which compares pytrees with matching structure. (See testing.)Basic tools like
divide_where. (See tools.)
Contribution guidelines
The implementation should be consistent with the surrounding style, be type annotated, and pass the linters below.
To run tests: uv run pytest
There are a few tools to clean and check the source:
uv run ruff checkuv run ruff formatuv run ty check
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tjax-1.4.7.tar.gz.
File metadata
- Download URL: tjax-1.4.7.tar.gz
- Upload date:
- Size: 31.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e44c83ad5fee97a911e0a531ba49afbb6c2cef9cdda2ad81fe231cab842a46f7
|
|
| MD5 |
2fcb0a650a1e0426da0ca3d2da48718b
|
|
| BLAKE2b-256 |
617a742bca1e213517390edc4ee9bc68964823a42e860436f3c42d5f35b65cc6
|
Provenance
The following attestation bundles were made for tjax-1.4.7.tar.gz:
Publisher:
release.yml on NeilGirdhar/tjax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tjax-1.4.7.tar.gz -
Subject digest:
e44c83ad5fee97a911e0a531ba49afbb6c2cef9cdda2ad81fe231cab842a46f7 - Sigstore transparency entry: 1213856818
- Sigstore integration time:
-
Permalink:
NeilGirdhar/tjax@4046537fc097375dd9397cc1720f6f781ab5936a -
Branch / Tag:
refs/tags/v1.4.7 - Owner: https://github.com/NeilGirdhar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4046537fc097375dd9397cc1720f6f781ab5936a -
Trigger Event:
push
-
Statement type:
File details
Details for the file tjax-1.4.7-py3-none-any.whl.
File metadata
- Download URL: tjax-1.4.7-py3-none-any.whl
- Upload date:
- Size: 42.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01dd15ff05eb7f5bd140f10da7d95507b110baa4de862bed2a09204719e6f467
|
|
| MD5 |
6b8b44b371ad42129b40bcc74ba4cc22
|
|
| BLAKE2b-256 |
327ed5a004250ac4d50220387b3e8108a96f2ce8bd94375d53a761c4112a0ab2
|
Provenance
The following attestation bundles were made for tjax-1.4.7-py3-none-any.whl:
Publisher:
release.yml on NeilGirdhar/tjax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tjax-1.4.7-py3-none-any.whl -
Subject digest:
01dd15ff05eb7f5bd140f10da7d95507b110baa4de862bed2a09204719e6f467 - Sigstore transparency entry: 1213856872
- Sigstore integration time:
-
Permalink:
NeilGirdhar/tjax@4046537fc097375dd9397cc1720f6f781ab5936a -
Branch / Tag:
refs/tags/v1.4.7 - Owner: https://github.com/NeilGirdhar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4046537fc097375dd9397cc1720f6f781ab5936a -
Trigger Event:
push
-
Statement type: