Installation¶
From a release¶
Every tagged release attaches a binary for macOS (Apple silicon and Intel), Linux
x86_64 and Windows x86_64. Take the one for your platform from the
latest release,
unpack it, and put eskaks on your PATH.
Each release also carries a SHA256SUMS file and a signed build provenance
attestation, so you can check that the file you downloaded is the one the release
workflow built, rather than trusting that the download went where you meant it to:
shasum -a 256 -c SHA256SUMS
gh attestation verify eskaks-<version>-<platform>.tar.gz --owner PathoGenOmics-Lab
From source¶
eskaks also builds from source with a Rust toolchain (Rust ≥ 1.85):
git clone https://github.com/PathoGenOmics-Lab/eskaks.git
cd eskaks
make release # or: cargo build --release
The binary is written to target/release/eskaks. Put it on your PATH:
cp target/release/eskaks ~/.local/bin/
Package managers are not there yet
cargo install eskaks and a bioconda recipe (conda install -c bioconda eskaks)
are not available. Use a release binary or build from source.
Requirements¶
- Rust ≥ 1.85.0, for the source build.
Performance tip¶
The make release target enables native-CPU optimizations (-C target-cpu=native):
CPU-specific SIMD instructions for maximum speed on your hardware. For a portable
binary you can run on a different CPU, build with cargo build --release instead.
Verify installation¶
eskaks --version
eskaks --list-codes
Shell completions¶
eskaks can print a completion script for your shell, so <Tab> completes
subcommands and flags:
# Bash
eskaks --completions bash | sudo tee /etc/bash_completion.d/eskaks > /dev/null
# Zsh (into a directory on your $fpath, e.g. ~/.zfunc)
eskaks --completions zsh > ~/.zfunc/_eskaks
# Fish
eskaks --completions fish > ~/.config/fish/completions/eskaks.fish
bash, zsh, fish, elvish, and powershell are supported. Restart the
shell (or re-source your profile) afterwards.