Installation
pip install prophys
That’s it. prophys ships as prebuilt binary wheels (including the
compiled native core, prophys._core) for common platforms
(Linux/macOS/Windows, x86_64 and arm64). There is no source compilation
step and no Rust toolchain required.
With optional extras:
pip install "prophys[viz]" # matplotlib plotting helpers (prophys.plot)
pip install "prophys[geo]" # shapely/pyproj GeoJSON import
pip install "prophys[inference]" # NumPyro bridge for NUTS/SVI
Requirements: Python >= 3.10. JAX and Optax are installed automatically as dependencies.
Licensing and the free tier
Small models run immediately, with no license file. Every native kernel call touching at most 250 structural objects (points, polygon vertices, segments, raster cells, …) computes freely, which covers the documentation’s own examples and gallery, teaching use, and prototyping. Larger models require a license:
export PROPHYS_LICENSE=/path/to/license.key
See License for exactly what counts towards the 250-object limit (structural model size) and what does not (Monte-Carlo sample counts, observation counts, training iterations).
Verifying the installation
import prophys as prp
import jax.numpy as jnp
site = prp.Frame("site")
a = prp.PointList(jnp.array([[0.0, 0.0]]), site)
b = prp.PointList(jnp.array([[3.0, 4.0]]), site)
print(a.closest_distance(b).evaluate()) # -> [5.] (via the native core)
GPU note
The native kernels are CPU targets. Models evaluated on GPU-resident arrays will fail with a platform error rather than silently falling back. Move arrays to host memory for now. CUDA kernels are a planned future addition.