jax: Transform and Accelerate Python Numerical Programs

Summary
JAX is a Python library for transforming numerical programs with automatic differentiation, compilation, and vectorization. Use it for high-performance scientific computing and machine learning, especially when workloads need to scale across accelerators.
At a glance
- Language
- Python
- License
- Apache-2.0
- Stars
- 36.4k
- Forks
- 3.8k
- Added to OSRepos
- March 26, 2026
- Last analyzed
- October 3, 2026
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
JAX provides tools for writing numerical computations in Python and transforming them for differentiation, compilation, and vectorization. It addresses the challenge of taking familiar array-based code and making it suitable for high-performance execution on CPUs and accelerators, including GPUs and TPUs.
It is aimed at researchers and developers building scientific computing or machine learning workloads who need fine-grained control over how functions are transformed and scaled. JAX is a research project, and its documentation notes that it has sharp edges.
Key Features
- Compute gradients with
jax.grad, including higher-order derivatives. - Compile functions with
jax.jitusing XLA. - Vectorize functions over array dimensions with
jax.vmap. - Compose differentiation, compilation, and vectorization.
- Scale computations using automatic, explicit, or manual sharding approaches.
- Run numerical workloads on supported CPU and accelerator platforms.
Use Cases
- Machine learning researchers can calculate model gradients and per-example gradients for training or analysis.
- Scientific computing developers can compile numerical functions to improve execution on supported hardware.
- Teams working with large accelerator workloads can shard computation across devices using JAX's parallel programming modes.
- Python developers with array-based programs can vectorize computations without manually adding batch dimensions throughout their code.
Project Facts
- Language: Python
- License: Apache-2.0
- Stars: 36.4k
- Forks: 3.8k
- Topics: jax
- Archived: no
Getting Started
Install the CPU package with:
pip install -U jax
For accelerator installation options and platform requirements, see the installation guide. For API and usage details, see the README and reference documentation.
Alternatives
- cupy: CuPy offers NumPy- and SciPy-compatible GPU arrays, while JAX adds program transformations such as automatic differentiation, compilation, and vectorization.
Considerations
- JAX transformations work best with functions that fit its programming model. In particular,
jax.jitconstrains the Python control flow a function can use. - Accelerator support depends on the platform and installation path. The README lists some platform combinations as experimental or unsupported.
- The project describes itself as a research project and cautions users to expect sharp edges. Consult the gotchas guide before relying on assumptions from ordinary NumPy or Python behavior.
Comparisons
Source repository
Open the original repository on GitHub.
17 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

agentevals: Evaluate AI Agents from OpenTelemetry Traces
October 4, 2026
agentevals scores AI agent behavior from existing OpenTelemetry traces, without rerunning agents or making extra model calls. It suits teams building instrumented agents that need local evaluation, golden-set checks, or CI quality gates.

web-design: Create Consistent Web Pages with a Claude Code Skill
October 3, 2026
web-design is a Claude Code skill that turns product briefs, reference URLs, or screenshots into an editable design specification before generating web code. It is suited to developers and designers who want a repeatable, spec-led workflow for building consistent pages.

oomwoo: Build a DIY Robot Vacuum
October 2, 2026
OOMWOO is a planned, hackable robot vacuum built around Raspberry Pi, ROS2 and 2D LiDAR. It is aimed at makers who want to build and customize a locally controlled vacuum, but its hardware and build instructions are still in development.

shepherd: Supervise Agents with Reversible Execution Traces
October 2, 2026
Shepherd records agent work as inspectable, reversible execution traces and keeps changes as proposals for review. It is aimed at developers building systems that supervise, replay, or manage the work of other agents.