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.