[package] name = "geoarrow" version = "0.4.0-beta.1" authors = ["Kyle Barron "] edition = "2021" license = "MIT OR Apache-2.0" repository = "https://github.com/geoarrow/geoarrow-rs" description = "Rust implementation of GeoArrow" categories = ["science::geo"] rust-version = "1.80" [features] csv = ["dep:geozero", "geozero/with-csv"] flatgeobuf = ["dep:flatgeobuf", "geozero"] flatgeobuf_async = [ "flatgeobuf/http", "dep:async-trait", "dep:bytes", "dep:http-range-client", "dep:object_store", ] gdal = ["dep:gdal"] geos = ["dep:geos"] geozero = [ "dep:arrow-cast", "dep:chrono", "dep:geozero", "dep:half", "dep:indexmap", "dep:lexical-core", ] ipc_compression = ["arrow-ipc/lz4", "arrow-ipc/zstd"] parquet = ["dep:parquet"] parquet_async = [ "parquet", "parquet/async", "dep:async-stream", "dep:futures", "dep:tokio", ] parquet_compression = [ "parquet/snap", "parquet/brotli", "parquet/flate2", "parquet/lz4", "parquet/zstd", ] polylabel = ["dep:polylabel"] postgis = ["dep:chrono", "dep:futures", "dep:sqlx", "geozero"] proj = ["dep:proj"] rayon = ["dep:rayon"] [dependencies] arrow = { version = "53", features = ["ffi"] } arrow-array = { version = "53", features = ["chrono-tz"] } arrow-buffer = "53" arrow-cast = { version = "53", optional = true } arrow-data = "53" arrow-ipc = "53" arrow-schema = "53" async-stream = { version = "0.3", optional = true } async-trait = { version = "0.1", optional = true } byteorder = "1" bytes = { version = "1.5.0", optional = true } chrono = { version = "0.4", optional = true } # Set default-features = false because async not working in wasm right now flatgeobuf = { version = "4.4.0", optional = true, default-features = false } futures = { version = "0.3", optional = true } gdal = { version = "0.17", optional = true } geo = "0.28" geo-index = "0.1.1" geos = { version = "9.0", features = ["v3_10_0", "geo"], optional = true } geozero = { version = "0.14", features = ["with-wkb"], optional = true } half = { version = "2.4.1", optional = true } http-range-client = { version = "0.8", optional = true } indexmap = { version = "2", optional = true } lexical-core = { version = "0.8.5", optional = true } num_enum = "0.7" object_store = { version = "0.11", optional = true } parquet = { version = "53", optional = true, default-features = false, features = [ "arrow", ] } phf = { version = "0.11", features = ["macros"] } polylabel = { version = "3.2.0", optional = true } proj = { version = "0.27.2", optional = true, features = [ "pkg_config", "geo-types", ] } rayon = { version = "1.8.0", optional = true } rstar = "0.12" serde = { version = "1", features = ["derive"] } serde_json = "1" shapefile = "0.6" sqlx = { version = "0.7", optional = true, default-features = false, features = [ "chrono", "json", "postgres", "runtime-tokio", "tls-rustls", ] } thiserror = "1" tokio = { version = "1", default-features = false, optional = true } wkt = "0.11" [dev-dependencies] approx = "0.5.1" bytes = "1.5.0" criterion = { version = "0.5", features = ["html_reports"] } gdal = { version = "0.17", features = ["bindgen"] } geozero = { version = "0.14", features = ["with-wkb"] } sqlx = { version = "0.7", default-features = false, features = ["postgres"] } tokio = { version = "1.9", features = ["macros", "fs", "rt-multi-thread"] } object_store = { version = "0.11", features = ["http", "aws"] } parquet = { version = "53", default-features = false, features = [ "arrow", "object_store", ] } [lib] doctest = true [[example]] name = "gdal" test = false required-features = ["gdal"] [[bench]] name = "area" harness = false required-features = ["flatgeobuf"] [[bench]] name = "from_geo" harness = false [[bench]] name = "geos_buffer" harness = false required-features = ["geos"] [[bench]] name = "nybb" harness = false required-features = ["ipc_compression"] [[bench]] name = "translate" harness = false [[bench]] name = "wkb" harness = false bench = false # TODO fix this benchmark required-features = ["parquet_compression"] [package.metadata.docs.rs] rustdoc-args = ["--cfg", "docsrs"] features = [ "csv", "flatgeobuf", "geos", "geozero", "parquet", "postgis", "rayon", ]