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.4.0.tar.gz (13.1 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.4.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for streamax-0.4.0.tar.gz
Algorithm Hash digest
SHA256 bddcfac8825656a241151f7034b8b2423915f33ff0c6bf946b8bd1eab608e8d9
MD5 b6398ded38665413fae33860de42fe07
BLAKE2b-256 3ae892d76f99d115e2dfd86dac9fde81ee2c8b4fe3b4b2ed51ea9a77aaa21bc6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: streamax-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 13.8 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 367876c99a81998474b06c4fb547c95b973241dc81a837ebde6d0bf85ef3ee40
MD5 287e88fe8ca293941303739783c83524
BLAKE2b-256 33fe14eac3b7662f8fb16832e95e065e9f01b7c2287624dd82008c8baf5f0ae9

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