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 repository:

Chemaly, D. et al. 2025 (in prep.). StreaMAX: A JAX-accelerated stellar stream generator.
GitHub repository: https://github.com/David-Chemaly/StreaMAX


🪐 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.2.0.tar.gz (9.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.2.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for streamax-0.2.0.tar.gz
Algorithm Hash digest
SHA256 71d60acd52b8b911bdf470f205b685c321bc636680dbc23c4368edc2312fcf0f
MD5 f4f126758cfe1dd7c9305253f8223013
BLAKE2b-256 b7afffa6a9661c561264cdc2b318fc3a7e9c86e476f130a19342ac63633e1908

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for streamax-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a63fa740055c650f0c5edbbbde1404f479ecdeffe51f0e81347420f3c54ffbe
MD5 9a13b771aff1d10e869e38d010581a05
BLAKE2b-256 eced8371c4df6e363d17ecac4661507318710a6831bc1a28d63ff4c3253dc6e4

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