[package]
name = "modelsocket"
version = "0.2.1"
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 = [
"native-tls",
], optional = true }
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 }
[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"