modelsocket 0.4.5

A Rust library for ModelSocket, a protocol for efficiently integrating with LLMs
Documentation
[package]
name = "modelsocket"
version = "0.4.5"
edition = "2021"
description = "A Rust library for ModelSocket, a protocol for efficiently integrating with LLMs"
license = "Apache-2.0"
keywords = ["modelsocket", "ai", "llm"]

[lib]
crate-type = ["cdylib", "rlib"]

[features]
default = ["client"]
client = [
    "dep:anyhow",
    "dep:futures",
    "dep:futures-util",
    "dep:http",
    "dep:serde_json",
    "dep:thiserror",
    "dep:tokio",
    "dep:tokio-tungstenite",
    "dep:tracing",
    "dep:url",
    "dep:uuid",
]
python = ["client", "dep:pyo3", "dep:once_cell"]

[dependencies]
serde = { version = "1", features = ["derive"] }
anyhow = { version = "1.0.100", optional = true }
futures = { version = "0.3", optional = true }
futures-util = { version = "0.3", optional = true }
http = { version = "1", optional = true }
serde_json = { version = "1", optional = true }
thiserror = { version = "1", optional = true }
tokio = { version = "1", features = ["full"], optional = true }
tokio-tungstenite = { version = "0.23.1", features = [
    "rustls-tls-native-roots",
], optional = true }
rustls = { version = "0.23", default-features = false, features = [
    "ring",
    "std",
    "logging",
    "tls12",
] }
tracing = { version = "0.1", optional = true }
url = { version = "2.5", optional = true }
uuid = { version = "1.9", features = ["v4"], optional = true }
pyo3 = { version = "0.27", features = [
    "extension-module",
    "abi3-py39",
], optional = true }
once_cell = { version = "1.19", optional = true }
async-trait = "0.1.89"

[dev-dependencies]
anyhow = "1.0.100"
clap = { version = "4.5.51", features = ["derive", "env"] }
colorize = "0.1.0"
futures = "0.3"
meval = "0.2.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
tracing-subscriber = "0.3.20"