EvoX v2.0.0a1 is the first alpha of a complete rewrite built on EvoX Compiler (evoxc).
Experimental pre-release: The new API is incompatible with 1.x. This is not a drop-in upgrade; the stable 1.x series remains recommended for production use. Try the alpha in a separate environment.
An explicit compiler pipeline
EvoX Compiler makes tensor graphs inspectable and transformable, separating tracing, graph transformations, lowering, compilation, and execution. It supports composable transformations such as vectorize/vmap, grad, jvp, vjp, and batch_functions, with NumPy, IREE, TVM, and XLA/PJRT backends. StableHLO provides a common lowering boundary for compiled backends.
EvoX 2.0 no longer depends on PyTorch or JAX. NumPy is the only required runtime dependency of EvoX Compiler; compiled backends are optional.
New functional API
- Algorithms use
init(config, key)andstep(config, state, evaluate). - Problems use
evaluate(config, state, candidates). - Configurations are immutable, tensor state is explicit, and randomness uses reproducible PRNG keys.
StdWorkflowtraces an evolutionary step, compiles it with the selected backend, and runs the optimization loop.
Included in this alpha
- 32 algorithm classes and 15 evolutionary operators.
- Basic numerical benchmarks, DTLZ, CEC2022, and virtual neuroevolution.
- GD, IGD, and hypervolume metrics; Plotly visualization and
.exvtraces. - Host-side hyperparameter optimization and extension discovery through
evox_ext.
The upstream release reports 552 passing tests on the NumPy backend; this does not establish equivalent coverage for compiled backends or GPUs.
Installation
Requires Python 3.11+. In a separate environment, choose one installation:
pip install --pre "evox==2.0.0a1"
For optional compiler support:
pip install --pre "evox[iree]==2.0.0a1"
pip install --pre "evox[compilers]==2.0.0a1"
Current limitations
Distributed workflows, Brax/MuJoCo, PyTorch neural-network integration, and Triton kernels have not yet been ported. Compiled backends and GPU execution remain experimental, and some operators and control-flow patterns are unsupported across backends. Monitoring, visualization, metrics, and HPO currently run outside compiled graphs. APIs may change throughout the pre-release series.
Bug reports, benchmarks, and API feedback are welcome in GitHub Issues.
Release and full notes: v2.0.0a1