[package]
edition = "2024"
rust-version = "1.85"
name = "basil"
version = "0.7.1"
authors = ["info@openbasil.org"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Client library for Basil, the host-local secrets broker: your app never touches the key."
homepage = "https://github.com/openbasil/basil"
documentation = "https://docs.rs/basil"
readme = "README.md"
keywords = [
"basil",
"grpc",
"cryptography",
"secrets",
"client",
]
categories = [
"cryptography",
"api-bindings",
"authentication",
]
license = "Apache-2.0"
repository = "https://github.com/openbasil/basil"
[lib]
name = "basil"
path = "src/lib.rs"
[[example]]
name = "stream_cli"
path = "examples/stream_cli.rs"
[dependencies.aes]
version = "0.8"
features = ["zeroize"]
default-features = false
[dependencies.aes-gcm]
version = "0.10"
features = [
"aes",
"alloc",
"zeroize",
]
default-features = false
[dependencies.basil-cose]
version = "0.7.1"
[dependencies.basil-proto]
version = "0.7.1"
[dependencies.chacha20poly1305]
version = "0.10"
default-features = false
[dependencies.hkdf]
version = "0.12"
default-features = false
[dependencies.hyper-util]
version = "0.1"
features = [
"http1",
"server-auto",
"service",
"tokio",
]
default-features = false
[dependencies.ml-kem]
version = "0.3"
features = [
"getrandom",
"zeroize",
]
[dependencies.prost]
version = "0.14.4"
[dependencies.prost-types]
version = "0.14.4"
[dependencies.rand]
version = "0.8"
[dependencies.serde]
version = "1"
features = [
"alloc",
"derive",
"std",
]
default-features = false
[dependencies.serde_json]
version = "1"
features = [
"alloc",
"arbitrary_precision",
"std",
]
default-features = false
[dependencies.sha2]
version = "0.10"
default-features = false
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"net",
"macros",
"io-util",
"time",
"signal",
"sync",
]
[dependencies.tonic]
version = "0.14.6"
[dependencies.tower]
version = "0.5.3"
[dependencies.tracing]
version = "0.1.44"
[dependencies.zeroize]
version = "1"
features = [
"derive",
"alloc",
]
default-features = false
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.tokio-stream]
version = "0.1"
features = ["net"]
[lints.clippy.expect_used]
level = "deny"
priority = 0
[lints.clippy.get_unwrap]
level = "deny"
priority = 0
[lints.clippy.indexing_slicing]
level = "deny"
priority = 0
[lints.clippy.missing_errors_doc]
level = "allow"
priority = 0
[lints.clippy.nursery]
level = "deny"
priority = -1
[lints.clippy.panic]
level = "deny"
priority = 0
[lints.clippy.panic_in_result_fn]
level = "deny"
priority = 0
[lints.clippy.pedantic]
level = "deny"
priority = -1
[lints.clippy.todo]
level = "deny"
priority = 0
[lints.clippy.unimplemented]
level = "deny"
priority = 0
[lints.clippy.unreachable]
level = "deny"
priority = 0
[lints.clippy.unwrap_used]
level = "deny"
priority = 0
[lints.rust.unsafe_code]
level = "forbid"
priority = 1