[package] authors = ["Aljaž Mur Eržen"] description = "Load data from databases to Apache Arrow, the fastest way." documentation = "https://docs.rs/connector_arrow" edition = "2018" license = "MIT" name = "connector_arrow" readme = "../README.md" repository = "https://github.com/aljazerzen/connector_arrow" version = "0.6.0" [lib] crate-type = ["cdylib", "rlib"] name = "connector_arrow" [dependencies] itertools = "0.13" log = "0.4" thiserror = "1" chrono = "0.4" serde_json = "1" # make sure this is in-sync with duckdb arrow = { version = "53", default-features = false } # common optional hex = { version = "0.4", optional = true } fallible-streaming-iterator = { version = "0.1", optional = true } csv = { version = "1", optional = true } bytes = { version = "1", optional = true } byteorder = { version = "1", optional = true } regex = "1.10.3" once_cell = "1.19.0" pac_cell = { version = "0.1.1", optional = true } tokio = { version = "1.36.0", optional = true } tokio-util = { version = "0.7.10", optional = true, features = ["compat"]} futures = { version = "0.3.30", optional = true } [dependencies.postgres] version = "0.19" default-features = false optional = true features = ["with-chrono-0_4", "with-uuid-0_8", "with-serde_json-1"] [dependencies.postgres-protocol] version = "0.6.6" default-features = false optional = true [dependencies.postgres-fallible-iterator] package = "fallible-iterator" version = "0.2" # this dep is bound to postgres's transitive dep optional = true [dependencies.rusqlite] version = "0.32.0" default-features = false optional = true [dependencies.duckdb] version = "1.1.0" default-features = false optional = true [dependencies.mysql] version = "25.0.0" default-features = false optional = true features = ["minimal"] [dependencies.tiberius] version = "0.12.2" default-features = false optional = true [dev-dependencies] env_logger = "0.11" arrow = { version = "53", features = ["prettyprint"], default-features = false } similar-asserts = { version = "1.5.0" } half = "2.3.1" rand = { version = "0.8.5", default-features = false } rand_chacha = "0.3.1" rstest = { version = "0.23.0", default-features = false } url = "2.5.0" [features] all = ["src_sqlite", "src_duckdb", "src_postgres", "src_mysql", "src_tiberius"] src_postgres = [ "postgres", "postgres-protocol", "postgres-fallible-iterator", "csv", "hex", "bytes", "byteorder", ] src_sqlite = ["rusqlite"] src_duckdb = ["duckdb", "fallible-streaming-iterator"] src_mysql = ["mysql", "pac_cell"] src_tiberius = ["tiberius", "tokio", "tokio-util", "futures"] [package.metadata.docs.rs] features = ["all"]