Skip to content

Retained language bindings

The v1.0 programme keeps the following language surfaces. Each adapter delegates stable numerical policy to the Rust core and is tested against the shared reference fixtures.

Surface Adapter Supported runtimes Registry Release tag External gate
Python PyO3 Python 3.12, 3.13, 3.14 PyPI/TestPyPI; conda-forge v* conda-forge feedstock review and merge
R C ABI R 4.3 CRAN or approved R registry; r-universe r-v* CRAN maintainer review or approved R registry indexing
Julia C ABI with artifact packaging externally gated Julia 1.10, 1.11 Julia General julia-v* BinaryBuilder acceptance, then General registration and merge
Rust Native Rust workspace Rust 1.85, stable GitHub Releases (workspace artifact) rust-v* A separately designed publishable facade crate is required for crates.io

The matrix is normative at specs/v1/binding-matrix.json. Registry publication and indexing are external gates; repository readiness does not imply that an artifact is live.

The released v1 matrix is immutable. Current clean-package assurance also targets Julia 1.12, but that target does not rewrite the released v1 contract.

Packaging retention does not imply method parity. The current capability registry is normative for what each installed surface may claim:

Capability Python Rust C ABI R Julia
DecisionProblem stable internal type unavailable unavailable unavailable
ValueArray / ParameterSet stable internal types raw-array contract only native inputs native inputs
EVPI stable, Rust-backed stable stable v1 stable native stable native
ENBS stable, Rust-backed stable stable v1 stable native stable native
EVPPI stable, Rust-backed stable kernel unavailable Python compatibility bridge unavailable
EVSI stable method-specific shared kernels plus Python orchestration unavailable Python compatibility bridge unavailable
Analytical two-arm normal EVSI stable, Rust-backed stable unavailable unavailable unavailable
CEAF stable, Rust-backed stable unavailable unavailable unavailable
Dominance stable, Rust-backed stable unavailable unavailable unavailable
CLI, ingestion, plotting, reporting stable not a public surface not applicable not exposed not exposed
Experimental methods experimental method-specific or absent prohibited without promotion not exposed not exposed

See specs/bindings/current-capability-matrix.json.

Expected-utility information-pricing capability

Section titled “Expected-utility information-pricing capability”

This additive experimental method family does not alter the retained v1.0 binding matrix above.

Surface Method status Evidence boundary
Rust Executable voiage_numerics::expected_utility_information is the numerical authority
Python Executable PyO3-backed expected_utility_information_value and VoC presentation helper
R Unsupported No method-specific C ABI or R facade is implemented
Julia Unsupported No method-specific C ABI or Julia facade is implemented
Mojo External boundary No local Mojo binding is claimed

The machine-readable disposition is specs/frontier/expected-utility-information-pricing/v1/capabilities.json. Unsupported bindings must not be inferred from the wider EVPI surfaces.