# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "odict"
version = "3.2.2"
build = false
exclude = [
    "benches/*",
    "tests/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A blazingly-fast dictionary file format for human languages"
homepage = "https://odict.org"
readme = false
license = "MIT"
repository = "https://github.com/TheOpenDictionary/odict"

[features]
alias = ["config"]
charabia = ["dep:charabia"]
config = ["dep:dirs"]
default = [
    "sql",
    "config",
]
html = ["markdown"]
http = [
    "dep:reqwest",
    "dep:reqwest-middleware",
    "dep:reqwest-retry",
    "dep:regex",
    "dep:futures-util",
    "config",
]
js = ["uuid/js"]
markdown = ["dep:pulldown-cmark"]
search = [
    "dep:tantivy",
    "config",
]
sql = ["dep:sea-query"]
tokenize = [
    "tokenize-latin",
    "tokenize-chinese",
    "tokenize-japanese",
    "tokenize-thai",
    "tokenize-korean",
    "tokenize-khmer",
    "tokenize-swedish",
    "tokenize-german",
]
tokenize-chinese = [
    "tokenize-latin",
    "charabia/chinese-segmentation",
]
tokenize-german = [
    "tokenize-latin",
    "charabia/german-segmentation",
]
tokenize-japanese = [
    "tokenize-latin",
    "charabia/japanese",
]
tokenize-khmer = [
    "tokenize-latin",
    "charabia/khmer",
]
tokenize-korean = [
    "tokenize-latin",
    "charabia/korean",
]
tokenize-latin = ["dep:charabia"]
tokenize-swedish = [
    "tokenize-latin",
    "charabia/swedish-recomposition",
]
tokenize-thai = [
    "tokenize-latin",
    "charabia/thai",
]

[lib]
name = "odict"
crate-type = [
    "cdylib",
    "staticlib",
    "lib",
]
path = "src/lib.rs"

[dependencies.brotli]
version = "8.0.2"

[dependencies.byteorder]
version = "1.5.0"

[dependencies.charabia]
version = "0.9.9"
optional = true
default-features = false

[dependencies.dirs]
version = "6.0.0"
optional = true

[dependencies.futures-util]
version = "0.3"
optional = true

[dependencies.indexmap]
version = "2.12.1"
features = [
    "serde",
    "rayon",
]

[dependencies.pulldown-cmark]
version = "0.13.0"
optional = true

[dependencies.quick-xml]
version = "0.38.4"
features = ["serialize"]

[dependencies.rayon]
version = "1.11.0"

[dependencies.regex]
version = "1.12.2"
optional = true

[dependencies.reqwest]
version = "0.12.24"
features = [
    "rustls-tls",
    "http2",
    "stream",
]
optional = true
default-features = false

[dependencies.reqwest-middleware]
version = "0.4.2"
optional = true

[dependencies.reqwest-retry]
version = "0.8.0"
optional = true

[dependencies.rkyv]
version = "0.8.12"
features = [
    "indexmap-2",
    "uuid-1",
]

[dependencies.sea-query]
version = "0.32.7"
optional = true

[dependencies.serde]
version = "1.0.228"
features = ["serde_derive"]

[dependencies.serde_json]
version = "1.0.145"

[dependencies.structural-convert]
version = "0.13.0"

[dependencies.strum]
version = "0.27.2"
features = ["derive"]

[dependencies.tantivy]
version = "0.25.0"
optional = true

[dependencies.thiserror]
version = "2.0.17"

[dependencies.url]
version = "2.5.7"

[dependencies.uuid]
version = "1.18.1"
features = [
    "v4",
    "fast-rng",
    "macro-diagnostics",
]

[dev-dependencies.criterion]
version = "0.8.0"
features = [
    "async_tokio",
    "html_reports",
]

[dev-dependencies.insta]
version = "1.44.3"

[dev-dependencies.map-macro]
version = "0.3.0"

[dev-dependencies.regex]
version = "1.12.2"

[dev-dependencies.tempfile]
version = "3.23.0"

[dev-dependencies.tokio]
version = "1.48.0"
features = [
    "rt",
    "macros",
]

[dev-dependencies.wiremock]
version = "0.6.5"
