Installation

Add fugue-evo to your Rust project using Cargo.

Basic Installation

Add the following to your Cargo.toml:

[dependencies]
fugue-evo = "0.1"
rand = "0.8"

The rand crate is required for random number generation in evolutionary algorithms.

Feature Flags

Fugue-evo provides several optional features:

[dependencies]
fugue-evo = { version = "0.1", features = ["parallel", "checkpoint"] }

Available Features

FeatureDefaultDescription
stdYesStandard library support
parallelYesRayon-based parallel fitness evaluation
checkpointYesSave/restore evolution state to files

Minimal Installation

For embedded or no-std environments:

[dependencies]
fugue-evo = { version = "0.1", default-features = false }

Full Installation

To enable all features:

[dependencies]
fugue-evo = { version = "0.1", features = ["std", "parallel", "checkpoint"] }

WASM Support

For browser-based optimization, use the WASM package:

[dependencies]
fugue-evo-wasm = "0.1"

Or install via npm for JavaScript projects:

npm install fugue-evo-wasm

See WASM & Browser Usage for detailed setup instructions.

Verifying Installation

Create a simple test program to verify your installation:

use fugue_evo::prelude::*;

fn main() {
    // Create a simple real vector genome
    let genome = RealVector::new(vec![1.0, 2.0, 3.0]);
    println!("Genome: {:?}", genome.genes());

    // Create bounds for optimization
    let bounds = MultiBounds::symmetric(5.0, 3);
    println!("Bounds: {:?}", bounds);

    println!("fugue-evo is working!");
}

Run with:

cargo run

Development Installation

To work with the latest development version:

[dependencies]
fugue-evo = { git = "https://github.com/fugue-evo/fugue-evo" }

Next Steps

Now that fugue-evo is installed, continue to: