Cargo Features

[dependencies]
mml-lib = { version = "1.1.0", default-features = false, features = ["tokio", "async-std", "rustls", "native-tls", "compiler", "interpreter", "pgp", "pgp-commands", "pgp-gpg", "pgp-native", "command", "keyring", "derive", "vendored"] }
default = compiler, interpreter, rustls, tokio

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

tokio default

Async runtime (for native PGP public key discovery)

Enables tokio of optional pgp-lib, optional process-lib, and optional secret-lib

async-std

Enables async-std of optional pgp-lib, optional process-lib, and optional secret-lib

rustls default

Rust crypto (for native PGP public key discovery)

Enables rustls of optional pgp-lib and optional secret-lib

native-tls

Enables native-tls of optional pgp-lib, openssl of optional secret-lib

compiler default

Compiler (MML to Mime)

Enables chumsky, shellexpand-utils, and tree_magic_mini

Affects body::compiler, message::compiler

interpreter default

Interpreter (Mime to MML)

Enables nanohtml2text ^0.1

Affects body::interpreter, message::interpreter

pgp pgp-commands? pgp-gpg? pgp-native?

Pretty Good Privacy

Affects mml-lib::pgp

pgp-commands = pgp

Enables process-lib

Affects pgp::commands

pgp-gpg = pgp

Enables gpgme

Affects pgp::gpg

pgp-native = pgp

Enables pgp-lib, secret-lib, and shellexpand-utils

Affects pgp::native

command

Secret backends

Enables command of optional secret-lib

keyring

Enables keyring of optional secret-lib

derive

Serde (de)serialization

Enables serde, derive of optional process-lib and optional secret-lib

vendored

Vendored (mostly for OpenSSL)

Enables vendored of optional pgp-lib and optional secret-lib