potamides is a Python package for constraining gravitational potentials
using stellar stream curvature analysis. The name is inspired by Greek ποταμίδες
("potamídes", meaning "river streams"), with the initial "P" representing
- 🌊 Spline-based stream modeling: Smooth parametric representation of stellar streams with cubic spline interpolation
- 📐 Curvature analysis: Compute geometric properties including tangent vectors, curvature, principal normals, and arc-length
- 🌌 Gravitational field fitting: Match stream curvature to potential models with customizable halo and disk components
- ⚡ JAX-accelerated: Fast, GPU-compatible computations with automatic differentiation and JIT compilation
- 📊 Likelihood framework: Bayesian inference for potential parameters using curvature-acceleration alignment
- 📈 Visualization tools: Built-in plotting methods for tracks, geometry vectors, and gravitational fields
pip install potamidesgit clone https://github.com/xggs-dev/potamides.git
cd potamides
uv pip install -e .- Python >= 3.11
- JAX >= 0.5.3
- For GPU support, install JAX with CUDA support separately
- See
pyproject.tomlfor full dependency list
This project is licensed under the MIT License - see the LICENSE file for details.
This package builds upon excellent open-source scientific software:
- JAX: High-performance numerical computing with automatic differentiation
- galax: Galactic dynamics in JAX
- interpax: Interpolation library for JAX
- Astropy: Community Python library for astronomy
- unxt: Unitful quantities for JAX