svir 0.1.6

A small, composable SDK for talking to large language models
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "svir"
version = "0.1.6"
authors = ["Roman Emreis <me@romanemreis.com>"]
build = false
exclude = [
    ".github/",
    ".gitattributes",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A small, composable SDK for talking to large language models"
documentation = "https://docs.rs/svir"
readme = "README.md"
keywords = [
    "llm",
    "openai",
    "sse",
    "streaming",
    "ai",
]
categories = [
    "api-bindings",
    "asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/RomanEmreis/svir"

[package.metadata.docs.rs]
all-features = true

[features]
client = [
    "dep:futures-core",
    "dep:hyper",
    "dep:hyper-util",
    "dep:tokio",
]
default = [
    "client",
    "tls",
]
schemars = ["dep:schemars"]
tls = [
    "client",
    "dep:hyper-rustls",
    "dep:rustls",
    "hyper-rustls/ring",
    "rustls/ring",
    "hyper/http2",
    "hyper-util/http2",
]
tls-aws-lc = [
    "client",
    "dep:hyper-rustls",
    "dep:rustls",
    "hyper-rustls/aws-lc-rs",
    "rustls/aws_lc_rs",
    "hyper/http2",
    "hyper-util/http2",
]
tracing = [
    "client",
    "dep:tracing",
]

[lib]
name = "svir"
path = "src/lib.rs"

[[example]]
name = "attachments"
path = "examples/attachments.rs"
required-features = ["client"]

[[example]]
name = "chat"
path = "examples/chat.rs"
required-features = ["client"]

[[example]]
name = "codec"
path = "examples/codec.rs"

[[example]]
name = "complete"
path = "examples/complete.rs"
required-features = ["client"]

[[example]]
name = "layers"
path = "examples/layers.rs"
required-features = ["client"]

[[example]]
name = "models"
path = "examples/models.rs"
required-features = ["client"]

[[example]]
name = "relay"
path = "examples/relay.rs"
required-features = ["client"]

[[example]]
name = "stream"
path = "examples/stream.rs"
required-features = ["client"]

[[example]]
name = "structured"
path = "examples/structured.rs"
required-features = [
    "client",
    "schemars",
]

[[example]]
name = "toolbox"
path = "examples/toolbox.rs"
required-features = ["client"]

[[example]]
name = "tools"
path = "examples/tools.rs"
required-features = ["client"]

[[example]]
name = "tools_typed"
path = "examples/tools_typed.rs"
required-features = [
    "client",
    "schemars",
]

[[test]]
name = "body_stream"
path = "tests/body_stream.rs"

[[test]]
name = "conformance_decoder"
path = "tests/conformance_decoder.rs"

[[test]]
name = "conformance_encoder"
path = "tests/conformance_encoder.rs"

[[test]]
name = "conformance_transport"
path = "tests/conformance_transport.rs"

[[test]]
name = "custom_backend"
path = "tests/custom_backend.rs"

[[test]]
name = "layers"
path = "tests/layers.rs"

[[test]]
name = "live"
path = "tests/live.rs"

[[test]]
name = "serde_contract"
path = "tests/serde_contract.rs"

[[test]]
name = "tool_loop"
path = "tests/tool_loop.rs"

[dependencies.base64]
version = "0.23.1"

[dependencies.bytes]
version = "1.12.1"

[dependencies.futures-core]
version = "0.3.34"
features = ["std"]
optional = true
default-features = false

[dependencies.hyper]
version = "1.12.0"
features = [
    "client",
    "http1",
]
optional = true

[dependencies.hyper-rustls]
version = "0.27.10"
features = [
    "http1",
    "http2",
    "tls12",
    "webpki-roots",
]
optional = true
default-features = false

[dependencies.hyper-util]
version = "0.1.21"
features = [
    "client-legacy",
    "http1",
    "tokio",
]
optional = true

[dependencies.rustls]
version = "0.23.45"
features = [
    "std",
    "tls12",
]
optional = true
default-features = false

[dependencies.schemars]
version = "1.2.2"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.151"

[dependencies.tokio]
version = "1.53.2"
features = [
    "fs",
    "io-util",
    "rt",
    "time",
]
optional = true

[dependencies.tracing]
version = "0.1.44"
features = ["std"]
optional = true
default-features = false

[dev-dependencies.futures-util]
version = "0.3.34"
features = ["std"]
default-features = false

[dev-dependencies.tokio]
version = "1.53.2"
features = [
    "fs",
    "io-util",
    "macros",
    "net",
    "rt",
    "rt-multi-thread",
    "time",
]

[lints.clippy]
unwrap_used = "warn"

[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"