[package]
name = "tinyjuice"
version = "0.2.1"
edition = "2024"
license = "GPL-3.0-only"
description = "Pluggable token compression for OpenHuman."
repository = "https://github.com/tinyhumansai/tinyjuice"
readme = "README.md"
keywords = ["llm", "tokens", "compression", "openhuman", "context"]
categories = ["text-processing"]
[dependencies]
async-trait = "0.1"
dirs = "6"
hex = "0.4"
log = "0.4"
once_cell = "1"
regex = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.11"
thiserror = "2"
tokio = { version = "1", features = ["sync", "rt"] }
unicode-segmentation = "1"
unicode-width = "0.2"
[dependencies.tree-sitter]
version = "0.26"
optional = true
[dependencies.tree-sitter-python]
version = "0.25"
optional = true
[dependencies.tree-sitter-rust]
version = "0.24"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.23"
optional = true
[dev-dependencies]
criterion = "0.5"
tempfile = "3"
tokio = { version = "1", features = ["macros", "rt", "test-util"] }
[[bench]]
name = "compression"
harness = false
[features]
default = ["tokenjuice-treesitter"]
tokenjuice-treesitter = [
"dep:tree-sitter",
"dep:tree-sitter-python",
"dep:tree-sitter-rust",
"dep:tree-sitter-typescript",
]