Cargo Features

[dependencies]
questdb-rs = { version = "5.0.0-rc1", default-features = false, features = ["ilp-over-http", "tls-native-certs", "tls-webpki-certs", "aws-lc-crypto", "ring-crypto", "insecure-skip-verify", "json_tests", "chrono_timestamp", "almost-all-features"] }
default = ilp-over-http, ring-crypto, tls-webpki-certs

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

ilp-over-http default almost-all-features?

Include support for ILP over HTTP.

Enables rand, serde_json, and ureq

ureq:

We need to limit the ureq version to 3.0.x since we use the ureq::unversioned module which does not respect semantic versioning.

Affects mock::HttpRequest, mock::HttpResponse

tls-native-certs

Allow use OS-provided root TLS certificates

Enables rustls-native-certs

tls-webpki-certs default almost-all-features?

Allow use of the webpki-roots crate to validate TLS certificates.

Enables webpki-roots ^0.26.8

aws-lc-crypto

Use aws-lc-rs as the cryto library.

Enables aws-lc-rs, aws-lc-rs of rustls

ring-crypto default almost-all-features?

Use ring as the crypto library.

Enables ring, ring of rustls

insecure-skip-verify almost-all-features?

Allow skipping verification of insecure certificates.

json_tests almost-all-features?

Enable code-generation in build.rs for additional tests.

Affects build::json_tests

chrono_timestamp almost-all-features? = chrono

Enable methods to create timestamp objects from chrono::DateTime objects.

almost-all-features = chrono_timestamp, ilp-over-http, insecure-skip-verify, json_tests, ndarray, ring-crypto, tls-webpki-certs

The aws-lc-crypto and ring-crypto features are mutually exclusive, thus compiling with --all-features will not work. Instead compile with --features almost-all-features. This is useful for quickly running cargo test or cargo clippy.

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.

chrono chrono_timestamp?
ndarray almost-all-features?