[package] name = "product-os-store" version = "0.0.27" # version - The version of the package. authors = ["Jeremy de Oliveira-Kumar "] # authors - The authors of the package. edition = "2021" # edition - The Rust edition. 2021 rust-version = "1.69" # rust-version - The minimal supported Rust version. min 1.69 description = "Product OS : Store provides a flexible and higher-level framework for defining storage engines / database engines and the actions to read and write to those storage engines / databases. This crate leverages a number of existing crates to achieve this. Support currently for key-value, queue and relational databases. Popular databases supported include Redis and PostgreSQL at this time. You should use Product OS : Store Macros with this crate for best results." # description - A description of the package. # documentation = "" # documentation - URL of the package documentation. readme = "readme.md" # readme - Path to the package’s README file. Use https://www.makeareadme.com/ # homepage = "" # homepage - URL of the package homepage. # repository = "" # repository - URL of the package source repository. license = "AGPL-3.0-only" # license - The package license. # license-file = "license.txt" # license-file - Path to the text of the license. Use https://choosealicense.com/ keywords = ["product-os"] # keywords - Keywords for the package. categories = [] # categories - Categories of the package. https://crates.io/category_slugs # workspace = "" # workspace - Path to the workspace for the package. build = false # build - Path to the package build script. default "build.rs" or specify # links = "" # links - Name of the native library the package links with. exclude = [] # exclude - Files to exclude when publishing. include = [] # include - Files to include when publishing. # publish = [] # publish - Can be used to prevent publishing the package. false to prevent publish, list of registries otherwise # default-run = "" # default-run - The default binary to run by cargo run. autobins = true # autobins - Disables binary auto discovery. autoexamples = true # autoexamples - Disables example auto discovery. autotests = true # autotests - Disables test auto discovery. autobenches = true # autobenches - Disables bench auto discovery. resolver = "2" # resolver - Sets the dependency resolver to use. Use 2 with 2021, 1 prio # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] no-std-compat = { version = "0.4.1", features = ["alloc"], optional = false } cfg-if = { version = "1.0.0", features = [], default-features = false, optional = false } redis = { version = "0.21.4", features = ["tls"], default-features = false, optional = true } redb = { version = "1.4.0", features = [], default-features = false, optional = true } tickv = { version = "1.0.0", features = [], default-features = false, optional = true } sqlx = { version = "0.6.2", features = ["runtime-tokio-rustls", "macros", "all-types"], default-features = false, optional = true } regex = { version = "1.5.4", features = ["std", "unicode-perl"], default-features = false, optional = true } chrono = { version = "0.4.19", default-features = false, optional = true } uuid = { version = "1.1.2", features = ["serde", "v4"], default-features = false, optional = true } futures = { version = "0.3.21", features = [], default-features = false, optional = true } lazy_static = { version = "1.4.0", features = [], default-features = false, optional = true } async-trait = { version = "0.1.53", features = [], default-features = false, optional = true } tracing = { version = "0.1.29", features = [], default-features = false, optional = false } serde = { version = "1.0.132", features = ["derive"], default-features = false, optional = false } # Support for serialize/deserialize objects serde_json = { version = "1.0.73", features = ["alloc"], default-features = false, optional = false } # Support for JSON structures hex = { version = "0.4.3", features = [], default-features = false, optional = true } rand = { version = "0.8.4", features = [] } product-os-configuration = { version = ">= 0.0.1", features = [], default-features = false, optional = false } [patch.crates-io] product-os-configuration = { path = "../product-os-configuration", features = [], default-features = false, optional = false } [features] default = ["no-std-compat/std", "product-os-configuration/default"] key_value_store = ["lazy_static"] redis_key_value_store = ["redis"] memory_key_value_store = ["redb", "regex/unicode-perl"] file_key_value_store = ["redb", "regex/unicode-perl"] queue_store = ["lazy_static"] redis_queue_store = ["redis"] memory_queue_store = ["redb"] file_queue_store = ["redb"] relational_store = ["lazy_static", "async-trait", "chrono", "regex", "hex", "uuid"] postgres_relational_store = ["sql_relational_store", "sqlx/postgres"] sqlite_relational_store = ["sql_relational_store", "sqlx/sqlite"] sql_relational_store = ["relational_store", "sqlx", "hex", "regex", "regex/unicode-perl", "chrono", "uuid", "futures"] document_store = ["lazy_static"] event_store = ["lazy_static"] [workspace]