Skip to main content

JAX-GalSim

JAX port of GalSim, for parallelized, GPU accelerated, and differentiable galaxy image simulations.

Contributor Covenant Python package Documentation Status Ruff pre-commit.ci status CodSpeed Badge

Disclaimer: This project is still in an early development phase, please use the reference GalSim implementation for any scientific applications.

You can find the most up-to-date documentation for the project here.

Objective and Design

The goal of this library is to reimplement GalSim functionalities in pure JAX to allow for automatic differentiation, GPU acceleration, and batched computations.

Guiding Principles

  • Strive to be a drop-in replacement for GalSim, i.e. provide a close match to the GalSim API.
  • Each function/feature will be tested against the reference GalSim implementation.
  • This package will aim to be a subset of GalSim (i.e. only contains functions with a reference GalSim implementation).
  • Implementations should be easy to read and understand.
  • Code should be pip-installable on any machine, no compilation required.
  • Any notable differences between the JAX and reference implementations will be clearly documented.

Notable Differences

  • JAX arrays are immutable. Thus, in-place operations on images are not possible and a new image is returned instead. Also, the RNG classes cannot fill arrays and instead return new arrays.
  • JAX arrays do not support all the kinds of views that numpy arrays support. This means that some operations that work in GalSim may not work in JAX-GalSim (e.g., real views of complex images).
  • JAX-GalSim uses a different random number generator than GalSim. This leads to different results in terms of both the generated random numbers and in terms of which RNGs have stable discarding.

Contributing

Everyone can contribute to this project, please refer to the CONTRIBUTING.md document for details.

In short, to interact with the project you can:

Issues marked with contributions welcome or good first issue are particularly good places to start. These are great ways to learn more about the inner workings of GalSim and how to code in JAX.

Current GalSim API Coverage

See the corresponding documentation page for a list of what is currently implemented.

Metadata

Release files for JAX-GalSim 2026.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for JAX-GalSim 2026.7.0
File Size Uploaded
jax_galsim-2026.7.0.tar.gz 417.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for JAX-GalSim 2026.7.0
File Interpreter ABI Platform
jax_galsim-2026.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 606.6 kB

Release files / jax_galsim-2026.7.0.tar.gz

Download URL jax_galsim-2026.7.0.tar.gz
Size 417.6 kB
Tags Source
SHA-256 checksum
How to use checksums
38491b94a6482314ee94cdd88d73a03461193656c346b1cbc1ca496f18990a0b
BLAKE2b-256 checksum
How to use checksums
27901c5cee20f2f6dee0f291cc3b88f0d932276abd632883cc164b0eaabdc952
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.

Transparency log

Release files / jax_galsim-2026.7.0-py3-none-any.whl

Download URL jax_galsim-2026.7.0-py3-none-any.whl
Size 189.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b223bfe0535b8908049ead4b36b1afbaabeac845a721459026bd7261e6c756bb
BLAKE2b-256 checksum
How to use checksums
b598aa65e98c39c122110614c3af50b81b60a798a263bd47fb20871687e820a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2026.7.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page