[package] name = "nlprule" # BUILD_BINDINGS_COMMENT # name = "nlprule-core" # BUILD_BINDINGS_UNCOMMENT version = "0.6.4" authors = ["Benjamin Minixhofer "] edition = "2018" license = "MIT OR Apache-2.0" description = "A fast, low-resource Natural Language Processing and Error Correction library." repository = "https://github.com/bminixhofer/nlprule" keywords = ["text", "spelling", "language-processing", "nlp", "grammar"] categories = ["science", "text-processing"] [dependencies] serde = { version = "1.0", features = ["derive", "rc"] } bincode = "1.3" bimap = { version = "0.6", features = ["serde"] } log = "0.4" lazy_static = "1.4" thiserror = "1" either = { version = "1.6", features = ["serde"] } itertools = "0.10" enum_dispatch = "0.3" unicase = "2.6" derivative = "2.2" fst = "0.4" fs-err = "2.5" aho-corasick = "0.7" half = { version = "1.7", features = ["serde"] } srx = { version = "^0.1.3", features = ["serde"] } once_cell = "1" cfg-if = "1" rayon-cond = "0.1" rayon = "1.5" # regex backends onig = { version = "6.1", default_features = false, optional = true } fancy-regex = { version = "0.5", optional = true } # needed for the bin targets clap = { version = "3.0.0-beta.1", optional = true } env_logger = { version = "0.8", optional = true } # needed for compilation regex-syntax = { version = "0.6", optional = true } serde-xml-rs = { version = "0.4", optional = true } xml-rs = { version = "0.8", optional = true } roxmltree = { version = "0.14.0", optional = true } serde_json = { version = "1", optional = true } [dev-dependencies] quickcheck = "1.0" quickcheck_macros = "1.0" criterion = "0.3" [build-dependencies] serde_json = "1" fs-err = "2.5" [[bench]] name = "load" harness = false [features] default = ["regex-onig"] regex-onig = ["onig"] # to switch to the fancy-regex engine, disable default features and add this feature regex-fancy = ["fancy-regex"] # this enables both regex backends at the same time and makes sure they are equivalent # used only for compilation and tests regex-all-test = ["regex-onig", "regex-fancy"] # needed for the bin test targets and to compile nlprule binaries, you'll usually not need these bin = ["clap", "env_logger"] compile = [ "regex-syntax", "serde-xml-rs", "xml-rs", "roxmltree", "serde_json", "srx/from_xml", "regex-all-test", ] [[bin]] name = "compile" required-features = ["compile", "bin"] [[bin]] name = "test" required-features = ["bin"] [[bin]] name = "run" required-features = ["bin"] [[bin]] name = "test_disambiguation" required-features = ["bin"]