[package] name = "sqlx-core" description = "Core of SQLx, the rust SQL toolkit. Not intended to be used directly." version.workspace = true license.workspace = true edition.workspace = true authors.workspace = true repository.workspace = true [package.metadata.docs.rs] features = ["offline"] [features] default = [] migrate = ["sha2", "crc"] any = [] json = ["serde", "serde_json"] # for conditional compilation _rt-async-std = ["async-std", "async-io"] _rt-tokio = ["tokio", "tokio-stream"] _tls-native-tls = ["native-tls"] _tls-rustls = ["rustls", "rustls-pemfile", "webpki-roots"] _tls-none = [] # support offline/decoupled building (enables serialization of `Describe`) offline = ["serde", "either/serde"] [dependencies] # Runtimes async-std = { workspace = true, optional = true } tokio = { workspace = true, optional = true } # TLS native-tls = { version = "0.2.10", optional = true } rustls = { version = "0.21.7", default-features = false, features = ["dangerous_configuration", "tls12"], optional = true } rustls-pemfile = { version = "1.0", optional = true } webpki-roots = { version = "0.25", optional = true } # Type Integrations bit-vec = { workspace = true, optional = true } bigdecimal = { workspace = true, optional = true } rust_decimal = { workspace = true, optional = true } time = { workspace = true, optional = true } ipnetwork = { workspace = true, optional = true } mac_address = { workspace = true, optional = true } uuid = { workspace = true, optional = true } async-io = { version = "1.9.0", optional = true } paste = "1.0.6" ahash = "0.8.7" atoi = "2.0" bytes = "1.1.0" byteorder = { version = "1.4.3", default-features = false, features = ["std"] } chrono = { version = "0.4.19", default-features = false, features = ["clock"], optional = true } crc = { version = "3", optional = true } crossbeam-queue = "0.3.2" digest = { version = "0.10.0", default-features = false, optional = true, features = ["std"] } encoding_rs = { version = "0.8.30", optional = true } either = "1.6.1" futures-channel = { version = "0.3.19", default-features = false, features = ["sink", "alloc", "std"] } futures-core = { version = "0.3.19", default-features = false } futures-io = "0.3.24" futures-intrusive = "0.5.0" futures-util = { version = "0.3.19", default-features = false, features = ["alloc", "sink", "io"] } hex = "0.4.3" log = { version = "0.4.14", default-features = false } memchr = { version = "2.4.1", default-features = false } num-bigint = { version = "0.4.0", default-features = false, optional = true, features = ["std"] } once_cell = "1.9.0" percent-encoding = "2.1.0" regex = { version = "1.5.5", optional = true } serde = { version = "1.0.132", features = ["derive", "rc"], optional = true } serde_json = { version = "1.0.73", features = ["raw_value"], optional = true } sha1 = { version = "0.10.1", default-features = false, optional = true } sha2 = { version = "0.10.0", default-features = false, optional = true } sqlformat = "0.2.0" thiserror = "1.0.30" tokio-stream = { version = "0.1.8", features = ["fs"], optional = true } tracing = { version = "0.1.37", features = ["log"] } smallvec = "1.7.0" url = { version = "2.2.2", default-features = false } bstr = { version = "1.0", default-features = false, features = ["std"], optional = true } hashlink = "0.8.0" indexmap = "2.0" event-listener = "2.5.2" [dev-dependencies] sqlx = { workspace = true, features = ["postgres", "sqlite", "mysql", "migrate", "macros", "time", "uuid"] } tokio = { version = "1", features = ["rt"] }