Cargo Features

[dependencies]
essence = { version = "0.5.0", default-features = false, features = ["auth", "client", "db", "snowflakes", "token-parsing", "webserver"] }
default = snowflakes

The snowflakes feature is set by default whenever essence is added without default-features = false somewhere in the dependency tree.

auth webserver? = snowflakes, token-parsing

Enables argon2-async and ring ^0.16.20

Affects auth::RNG, auth::configure_hasher, auth::get_system_rng, auth::generate_token, auth::AuthDbExt.verify_password, user::UserDbExt.register_user, essence::auth

client
db webserver? = serde_json, snowflakes

Enables async-trait, itertools ^0.10, sqlx ^0.6, and tokio

Affects essence::cache, essence::db, user::ClientUser.password

snowflakes default auth? db? token-parsing?

Affects essence::snowflake

token-parsing auth? = snowflakes

Enables base64 ^0.20

Affects essence::auth

webserver = auth, bincode, db, utoipa

Enables axum_extras and yaml of utoipa ^3

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.

bincode webserver?
serde_json db?
utoipa webserver?

Enables utoipa ^3