Skip to main content

A JAX-accelerated stream generator (StreaMAX)

Project description

Banner Image credit: Sarah Kane

A JAX-Accelerated Stellar Stream Generator

StreaMAX is a lightweight, high-performance simulator for stellar streams built with JAX.
It’s designed to make modeling and inference on stellar streams fast enough for Bayesian analysis and modern data-intensive workflows.


🚀 Features

  • Particle-spray modeling of stellar streams
  • Fast 2D track extraction
  • JAX-accelerated integration for GPU/TPU compatibility
  • Automatic differentiation, can easily compute gradients of the models directly via JAX
  • Modular architecture

🧩 Models

StreaMAX supports:

  • Rapid generation of stellar streams using the particle-spray method
  • Efficient extraction of stream tracks for analysis and inference

🧪 Quick Start

See the quick_start.ipynb notebook for an example on how to:

  • Define potential and stream parameters
  • Generate a stream using the particle-spray method
  • Extract and visualize the resulting track

⚙️ Installation

From PyPI

pip install StreaMAX

From GitHub (development version)

git clone https://github.com/David-Chemaly/StreaMAX.git
cd StreaMAX
pip install -e .

Manual dependency installation

pip install -r requirements.txt

📚 Citation & License

This project is released under the MIT License.
If you use StreaMAX in your research, please cite and reference the following paper:

Chemaly, D. et al. 2025, Hierarchical bayesian inference: constraining population distribution of dark matter halo shapes via stellar streams


🪐 Contributing

Pull requests and feature suggestions are welcome.
If you encounter bugs or wish to contribute new potentials or integrators, please open an issue on GitHub.


Fast. Differentiable. Modular. JAX-powered.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamax-0.3.1.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streamax-0.3.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file streamax-0.3.1.tar.gz.

File metadata

  • Download URL: streamax-0.3.1.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for streamax-0.3.1.tar.gz
Algorithm Hash digest
SHA256 d3dcaf9286d7b07939d090eab10323f693a948bee7ba901e2e3a2ec03e218e44
MD5 5950e7eb61d65d3f89e2881fe56785b4
BLAKE2b-256 526282750d5c86241787ab0079e4f581bc80766b29ae6b6d3858dab82031e728

See more details on using hashes here.

File details

Details for the file streamax-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: streamax-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for streamax-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 82514a01e9f2013e3aeb70cd372b32d114a30abafbe695c722e017f8d5f2a21a
MD5 ff799e80c8e2afa80955c91345c16bcd
BLAKE2b-256 527201b62855df31e96d4a28354d6463e6f9b20eef222e354de17d77380e27a0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page