[package]
name = "trustformers"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "TrustformeRS - Rust port of Hugging Face Transformers"
keywords = ["transformers", "machine-learning", "nlp", "ai", "bert"]
categories = ["science", "algorithms"]
readme = "README.md"

[lints]
workspace = true

[dependencies]
trustformers-core.workspace = true
trustformers-tokenizers.workspace = true
trustformers-models.workspace = true
trustformers-optim.workspace = true
trustformers-training.workspace = true

serde.workspace = true
serde_json.workspace = true
serde_yaml.workspace = true
anyhow.workspace = true
thiserror.workspace = true
async-trait = "0.1"
futures.workspace = true
tokio.workspace = true
reqwest.workspace = true
bytes.workspace = true
indicatif.workspace = true
image = { workspace = true, optional = true }
sha2.workspace = true
hex.workspace = true
dirs.workspace = true
tracing.workspace = true
log = "0.4"
regex.workspace = true
chrono.workspace = true
uuid.workspace = true
axum = { workspace = true, optional = true }
num_cpus.workspace = true
flate2.workspace = true
tar.workspace = true
tokio-stream.workspace = true
url.workspace = true
tower = { version = "0.5", optional = true }
tower-http = { version = "0.6", features = ["cors", "fs"], optional = true }
async-stream = { version = "0.3", optional = true }
lazy_static.workspace = true
clap.workspace = true
colored.workspace = true
fastrand.workspace = true

[dev-dependencies]
rstest.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
tempfile.workspace = true
proptest.workspace = true
rand.workspace = true

[features]
default = ["bert", "async"]
bert = ["trustformers-models/bert"]
roberta = ["trustformers-models/roberta"]
albert = ["trustformers-models/albert"]
gpt2 = ["trustformers-models/gpt2"]
gpt_neo = ["trustformers-models/gpt_neo"]
gpt_j = ["trustformers-models/gpt_j"]
t5 = ["trustformers-models/t5"]
all-models = ["bert", "roberta", "albert", "gpt2", "gpt_neo", "gpt_j", "t5"]
torch = ["trustformers-core/torch", "trustformers-training/torch"]
candle = ["trustformers-core/candle", "trustformers-training/candle"]
async = ["axum", "tower", "tower-http", "async-stream"]
vision = ["image"]
audio = []
