[package]
name = "ica-rs"
version = "0.6.9"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default = ["ica", "tailchat"]
ica = [
    "dep:ed25519",
    "dep:ed25519-dalek",
    "dep:hex",
    "dep:rust_socketio",
    "dep:base64",
]
tailchat = ["dep:rust_socketio", "dep:md-5", "dep:reqwest"]

[dependencies]

# ica
base64 = { version = "0.22", optional = true }
ed25519 = { version = "2.2", optional = true }
ed25519-dalek = { version = "2.1", optional = true }
hex = { version = "0.4", optional = true }

# tailchat
reqwest = { version = "0.12.4", optional = true, features = ["multipart"] }
md-5 = { version = "0.10.6", optional = true }

# ica & tailchat (socketio)
rust_socketio = { version = "0.6.0", features = ["async"], optional = true }

# data
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
chrono = "0.4"
toml = "0.8"
colored = "2.1"

# runtime
tokio = { version = "1.37", features = ["full"] }
futures-util = "0.3.30"
pyo3 = { version = "0.21.2", features = ["experimental-async"] }
anyhow = { version = "1.0", features = ["backtrace"] }
# async 这玩意以后在搞
# pyo3-async = "0.3.2"
# pyo3-asyncio = { version = "0.20.0", features = ["attributes", "tokio-runtime"] }

# log
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["time"] }
