blob: 2b0b459d959185ffb62a4bf382e0c9078ed19d84 [file] [edit]
# This file is part of ICU4X. For terms of use, please see the file
# called LICENSE at the top level of the ICU4X source tree
# (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
[package]
name = "icu_segmenter"
description = "Unicode line breaking and text segmentation algorithms for text boundaries analysis"
version.workspace = true
categories.workspace = true
keywords = ["unicode", "segmentation", "text-processing"]
authors.workspace = true
edition.workspace = true
homepage.workspace = true
include.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[package.metadata.docs.rs]
all-features = true
[package.metadata.cargo-all-features]
max_combination_size = 3
[dependencies]
icu_collections = { workspace = true }
icu_provider = { workspace = true }
utf8_iter = { workspace = true }
zerovec = { workspace = true, features = ["alloc", "yoke"] }
smallvec = { workspace = true } # alloc
databake = { workspace = true, optional = true, features = ["derive"] }
serde = { workspace = true, features = ["derive", "alloc"], optional = true }
potential_utf = { workspace = true, features = ["alloc", "zerovec"] }
core_maths = { workspace = true, optional = true }
icu_segmenter_data = { workspace = true, optional = true }
icu_locale_fallback = { workspace = true, optional = true }
[dev-dependencies]
icu = { path = "../../components/icu", default-features = false }
icu_benchmark_macros = { path = "../../tools/benchmark/macros" }
icu_locale_core = { workspace = true }
icu_properties = { path = "../properties", features = ["compiled_data"] }
itertools = { workspace = true }
ndarray = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
criterion = { workspace = true }
[features]
default = ["compiled_data", "auto"]
serde = ["dep:serde", "potential_utf/serde", "zerovec/serde", "icu_collections/serde", "icu_provider/serde"]
datagen = ["serde", "dep:databake", "potential_utf/databake", "zerovec/databake", "icu_collections/databake", "icu_provider/export"]
lstm = ["dep:core_maths"]
unstable = []
auto = ["lstm"] # Enables [try_]new_auto constructors
compiled_data = ["dep:icu_segmenter_data", "dep:icu_locale_fallback", "icu_locale_fallback?/compiled_data", "icu_provider/baked"]
[lib]
bench = false # This option is required for Benchmark CI
[[bench]]
name = "bench"
harness = false
required-features = ["compiled_data", "auto"]
[[test]]
name = "complex_word"
required-features = ["auto"]
[[test]]
name = "cnn"
required-features = []
[lints]
workspace = true