Cargo Features

[dependencies]
sprinkles-rs = { version = "0.18.0", default-features = false, features = ["beta", "manifest-hashes", "parking_lot", "rayon", "unstable_linux", "clap"] }
default = manifest-hashes, rayon

These default features are set whenever sprinkles-rs is added without default-features = false somewhere in the dependency tree.

beta
manifest-hashes default = base64, digest, getset, quick-xml, serde_json_path, sha1, sha2, sxd-document, sxd-xpath, tokio, tokio-util, url, urlencoding

Enables fs of tokio

Affects sprinkles-rs::cache, sprinkles-rs::hash, manifest::InstallConfig.hash, version::ParsedVersion

parking_lot

Enables parking_lot of tokio

rayon default

Enables rayon and rayon of blake3 and indicatif

blake3:

The rayon feature (disabled by default, but enabled for docs.rs) adds the update_rayon and (in combination with mmap below) update_mmap_rayon methods, for multithreaded hashing. However, even if this feature is enabled, all other APIs remain single-threaded.

Implementation detail: We take a dependency on rayon-core instead of rayon, because it builds faster and still includes all the APIs we need.

unstable_linux

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

base64 manifest-hashes
clap implicit feature

Enables clap

clap:

A simple to use, efficient, and full-featured Command Line Argument Parser

digest manifest-hashes
getset manifest-hashes
quick-xml manifest-hashes
serde_json_path manifest-hashes
sha1 manifest-hashes
sha2 manifest-hashes
sxd-document manifest-hashes
sxd-xpath manifest-hashes
tokio manifest-hashes parking_lot?
tokio-util manifest-hashes
url manifest-hashes
urlencoding manifest-hashes