| description | Install eskaks by building from source with a Rust toolchain, verify the binary, and set up shell tab-completion. |
|---|
conda install -c bioconda eskaksBioconda publishes linux-64 and osx-64. There is no osx-arm64 build yet, so a
plain install on Apple silicon fails with PackagesNotFoundError. Either run the
Intel build under Rosetta:
CONDA_SUBDIR=osx-64 conda install -c bioconda eskaksor take the native macos-aarch64 binary from the release below, which has no such
gap.
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-Labeskaks 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 --releaseThe binary is written to target/release/eskaks. Put it on your PATH:
cp target/release/eskaks ~/.local/bin/!!! info "Not on crates.io"
cargo install eskaks is not available. Use conda, a release binary, or a source
build.
- Rust ≥ 1.85.0, for the source build.
- A C compiler, also for the source build. eskaks itself is Rust, but it reads
compressed input through
needletail, which pullsliblzma-sysandzstd-sys, and those build vendored C. A release binary needs neither: it links only the platform C library.
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.
eskaks --version
eskaks --list-codeseskaks 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.fishbash, zsh, fish, elvish, and powershell are supported. Restart the
shell (or re-source your profile) afterwards.