# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # cargo publish --allow-dirty --registry crates-io -p liberty-db [workspace] members = ["macros", "dev", "dev/utils", "dev/include/liberty2json"] [workspace.package] version = "0.7.4" license = "MIT" edition = "2021" authors = ["Junzhuo "] keywords = ["eda", "liberty", "database", "parser"] readme = "README.md" repository = "https://github.com/zao111222333/liberty-db/" documentation = "https://docs.rs/liberty-db" categories = ["development-tools"] [package] name = "liberty-db" description = "A fully defined liberty data structure, efficient parser & formatter" include = ["/src", "/examples", "/docs/header.html", "README.md"] version.workspace = true edition.workspace = true license.workspace = true keywords.workspace = true authors.workspace = true readme.workspace = true repository.workspace = true documentation.workspace = true categories.workspace = true # Enable katex in documentation # RUSTDOCFLAGS="--html-in-header docs/header.html" cargo doc --no-deps --open [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs", "--html-in-header", "docs/header.html"] [features] default = ["fast_hash", "hashmatch", "vec2map"] fast_hash = ["dep:ahash"] # use str's hash to do match, rather than directly match str hashmatch = ["liberty-macros/hashmatch"] # better parse performance, but no error information when occuring duplicated id vec2map = ["liberty-macros/vec2map"] __test_runtime_assert = [] [workspace.dependencies] log = { version = "0.4", features = ["std", "serde"] } simple_logger = "5.0" serde = { version = "1.0", features = ["derive"] } bson = "2.13.0" serde_json = "1.0" thiserror = "2.0" strum = "0.26" strum_macros = "0.26" itertools = "0.13" arcstr = { version = "1.2", features = ["serde"] } ordered-float = { version = "4.5", features = ["serde"] } fast-float2 = "0.2" walkdir = "2" similar = { version = "2.6", features = ["inline"]} console = "0.15" nom = "7.1" derivative = "2.2" ryu = "1.0" itoa = "1.0" biodivine-lib-bdd = { version = "0.5.22", features = ["serde"] } mut_set = "0.5.9" # mut_set = { version="0.5.2", features = ["__dbg_disable_mem_layout"] } # mut_set = { path = "../mut_set" } duplicate = "2.0.0" num-traits = "0.2" cfg-if = "1.0.0" criterion = { version = "0.5", features = ["html_reports"] } sysinfo = "0.32" chrono = "0.4.38" # faster hash ahash = { version = "0.8", features = ["no-rng"]} # group name matching use faster but less DOS resistance foldhash # but that's okay since the matching is static and any error will # be find during compiling with `#[deny(unreachable_patterns)]` foldhash = "0.1.3" # nohash-hasher = "0.2.0" dev_utils = { path = "dev/utils" } hashmatch = "0.1.1" [dependencies] liberty-macros = "0.7.4" ahash = { workspace = true, optional = true } foldhash.workspace = true log.workspace = true serde.workspace = true thiserror.workspace = true strum.workspace = true strum_macros.workspace = true itertools.workspace = true arcstr.workspace = true ordered-float.workspace = true fast-float2.workspace = true nom.workspace = true # derivative.workspace = true ryu.workspace = true itoa.workspace = true biodivine-lib-bdd.workspace = true mut_set.workspace = true duplicate.workspace = true num-traits.workspace = true cfg-if.workspace = true hashmatch.workspace = true [dev-dependencies] dev_utils.workspace = true simple_logger.workspace = true criterion.workspace = true bson.workspace = true