diff --git a/Cargo.toml b/Cargo.toml index 5fe1ee75..76f78fa9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,3 +2,62 @@ resolver = "2" members = ["api", "cli", "core", "duckdb", "pgstac", "python", "server"] default-members = ["api", "cli", "core", "server"] + +[workspace.dependencies] +arrow = "52" +arrow-array = "52" +arrow-cast = "52" +arrow-json = "52" +arrow-schema = "52" +assert-json-diff = "2" +assert_cmd = "2" +async-stream = "0.3" +axum = "0.7" +bb8 = "0.8" +bb8-postgres = "0.8" +bytes = "1" +chrono = "0.4" +clap = "4" +duckdb = "1.0" +futures = "0.3" +gdal = "0.17" +gdal-sys = "0.10" +geo = "0.28" +geo-types = "0.7" +geoarrow = "0.3" +geojson = "0.24" +http = "1" +jsonschema = "0.20" +log = "0.4" +mime = "0.3" +mockito = "1" +object_store = "0.11" +parquet = { version = "52", default-features = false } +pgstac = { version = "0.2.1", path = "pgstac" } +pyo3 = "0.22" +pythonize = "0.22" +quote = "1" +reqwest = "0.12" +rstest = "0.22" +rustls = { version = "0.23", default-features = false } +serde = "1" +serde_json = "1" +serde_urlencoded = "0.7" +stac = { version = "0.10.0", path = "core" } +stac-api = { version = "0.6.0", path = "api" } +stac-duckdb = { version = "0.0.2", path = "duckdb" } +stac-server = { version = "0.3.1", path = "server" } +syn = "2" +tempdir = "0.3" +thiserror = "1" +tokio = "1.37" +tokio-postgres = "0.7" +tokio-postgres-rustls = "0.12" +tokio-stream = "0.1" +tokio-test = "0.4" +tower = "0.5" +tower-http = "0.5" +tracing = "0.1" +tracing-subscriber = "0.3" +url = "2.3" +webpki-roots = "0.26" diff --git a/api/Cargo.toml b/api/Cargo.toml index d6979d2e..35102194 100644 --- a/api/Cargo.toml +++ b/api/Cargo.toml @@ -21,26 +21,26 @@ client = [ geo = ["dep:geo", "stac/geo"] [dependencies] -async-stream = { version = "0.3", optional = true } -chrono = "0.4" -futures = { version = "0.3", optional = true } -http = { version = "1", optional = true } -reqwest = { version = "0.12", features = ["json"], optional = true } -geo = { version = "0.28", optional = true } -geojson = "0.24" -serde = "1" -serde_json = "1" -serde_urlencoded = "0.7" -stac = { version = "0.10.0", path = "../core" } -thiserror = "1" -tokio = { version = "1.23", optional = true } -url = "2.3" +async-stream = { workspace = true, optional = true } +chrono = { workspace = true } +futures = { workspace = true, optional = true } +http = { workspace = true, optional = true } +reqwest = { workspace = true, features = ["json"], optional = true } +geo = { workspace = true, optional = true } +geojson = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +serde_urlencoded = { workspace = true } +stac = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true, optional = true } +url = { workspace = true } [dev-dependencies] -geojson = "0.24" -mockito = "1" -tokio = { version = "1.23", features = ["rt", "macros"] } -tokio-test = "0.4" +geojson = { workspace = true } +mockito = { workspace = true } +tokio = { workspace = true, features = ["rt", "macros"] } +tokio-test = { workspace = true } [package.metadata.docs.rs] all-features = true diff --git a/cli/Cargo.toml b/cli/Cargo.toml index e0b29b98..06c191e5 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -19,39 +19,39 @@ pgstac = ["stac-server/pgstac", "dep:pgstac"] python = ["dep:pyo3", "pgstac"] [dependencies] -axum = "0.7" -clap = { version = "4", features = ["derive"] } -duckdb = { version = "1", optional = true } # We have this dependency only to allow us to bundle it -object_store = "0.11" -pgstac = { version = "0.2.1", path = "../pgstac", optional = true } -pyo3 = { version = "0.22", optional = true } -reqwest = "0.12" -serde = "1" -serde_json = "1" -stac = { version = "0.10.0", path = "../core", features = [ +axum = { workspace = true } +clap = { workspace = true, features = ["derive"] } +duckdb = { workspace = true, optional = true } # We have this dependency only to allow us to bundle it +object_store = { workspace = true } +pgstac = { workspace = true, optional = true } +pyo3 = { workspace = true, optional = true } +reqwest = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +stac = { workspace = true, features = [ "geoparquet-compression", "object-store-all", "reqwest", "validate", ] } -stac-api = { version = "0.6.0", path = "../api", features = ["client"] } -stac-duckdb = { version = "0.0.2", path = "../duckdb", optional = true } -stac-server = { version = "0.3.1", path = "../server", features = ["axum"] } -thiserror = "1" -tokio = { version = "1.23", features = [ +stac-api = { workspace = true, features = ["client"] } +stac-duckdb = { workspace = true, optional = true } +stac-server = { workspace = true, features = ["axum"] } +thiserror = { workspace = true } +tokio = { workspace = true, features = [ "macros", "io-std", "rt-multi-thread", "fs", ] } -tokio-stream = "0.1" -tracing = "0.1" -tracing-subscriber = "0.3" -url = "2" +tokio-stream = { workspace = true } +tracing = { workspace = true } +tracing-subscriber = { workspace = true } +url = { workspace = true } [dev-dependencies] -assert_cmd = "2" -tokio-test = "0.4" +assert_cmd = { workspace = true } +tokio-test = { workspace = true } [lib] crate-type = ["lib", "cdylib"] diff --git a/core/Cargo.toml b/core/Cargo.toml index bd326b7f..e0a2a4f7 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -47,37 +47,37 @@ validate = ["dep:jsonschema", "dep:reqwest", "dep:tokio"] validate-blocking = ["validate", "tokio/rt"] [dependencies] -arrow-array = { version = "52", optional = true } -arrow-cast = { version = "52", optional = true } -arrow-json = { version = "52", optional = true } -arrow-schema = { version = "52", optional = true } -bytes = "1" -chrono = { version = "0.4", features = ["serde"] } -gdal = { version = "0.17", optional = true } -gdal-sys = { version = "0.10", optional = true } -geo = { version = "0.28", optional = true } -geo-types = { version = "0.7", optional = true } -geoarrow = { version = "0.3", optional = true } -geojson = "0.24" -jsonschema = { version = "0.20", optional = true } -log = "0.4" -mime = "0.3" -object_store = { version = "0.11", optional = true } -parquet = { version = "52", default-features = false, optional = true } -reqwest = { version = "0.12", optional = true, features = ["json", "blocking"] } -serde = { version = "1", features = ["derive"] } -serde_json = { version = "1", features = ["preserve_order"] } -thiserror = "1" -tokio = { version = "1", optional = true } -url = "2" +arrow-array = { workspace = true, optional = true } +arrow-cast = { workspace = true, optional = true } +arrow-json = { workspace = true, optional = true } +arrow-schema = { workspace = true, optional = true } +bytes = { workspace = true } +chrono = { workspace = true, features = ["serde"] } +gdal = { workspace = true, optional = true } +gdal-sys = { workspace = true, optional = true } +geo = { workspace = true, optional = true } +geo-types = { workspace = true, optional = true } +geoarrow = { workspace = true, optional = true } +geojson = { workspace = true } +jsonschema = { workspace = true, optional = true } +log = { workspace = true } +mime = { workspace = true } +object_store = { workspace = true, optional = true } +parquet = { workspace = true, optional = true } +reqwest = { workspace = true, features = ["json", "blocking"], optional = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true, features = ["preserve_order"] } +thiserror = { workspace = true } +tokio = { workspace = true, optional = true } +url = { workspace = true } [dev-dependencies] -assert-json-diff = "2" -bytes = "1" -rstest = "0.22" -tempdir = "0.3" -tokio = { version = "1", features = ["macros"] } -tokio-test = "0.4" +assert-json-diff = { workspace = true } +bytes = { workspace = true } +rstest = { workspace = true } +tempdir = { workspace = true } +tokio = { workspace = true, features = ["macros"] } +tokio-test = { workspace = true } [package.metadata.docs.rs] all-features = true diff --git a/duckdb/Cargo.toml b/duckdb/Cargo.toml index 1c015f16..e974455e 100644 --- a/duckdb/Cargo.toml +++ b/duckdb/Cargo.toml @@ -11,14 +11,14 @@ keywords = ["geospatial", "stac", "metadata", "geo", "raster"] categories = ["science", "data-structures"] [dependencies] -arrow = "52" -duckdb = "1.0" -geoarrow = { version = "0.3" } -parquet = "52" -stac = { version = "0.10.0", path = "../core", features = ["geoarrow"] } -stac-api = { version = "0.6.0", path = "../api" } -thiserror = "1" +arrow = { workspace = true } +duckdb = { workspace = true } +geoarrow = { workspace = true } +parquet = { workspace = true } +stac = { workspace = true, features = ["geoarrow"] } +stac-api = { workspace = true } +thiserror = { workspace = true } [dev-dependencies] duckdb-test = { path = "duckdb-test" } -geo = "0.28" +geo = { workspace = true } diff --git a/duckdb/duckdb-test/Cargo.toml b/duckdb/duckdb-test/Cargo.toml index 5fe565a9..f612d5e2 100644 --- a/duckdb/duckdb-test/Cargo.toml +++ b/duckdb/duckdb-test/Cargo.toml @@ -10,5 +10,5 @@ test = false doctest = false [dependencies] -quote = "1" -syn = { version = "2", features = ["full", "extra-traits"] } +quote = { workspace = true } +syn = { workspace = true, features = ["full", "extra-traits"] } diff --git a/pgstac/Cargo.toml b/pgstac/Cargo.toml index 82bcf576..b374b4ae 100644 --- a/pgstac/Cargo.toml +++ b/pgstac/Cargo.toml @@ -14,24 +14,21 @@ categories = ["database", "data-structures", "science"] tls = ["dep:rustls", "dep:tokio-postgres-rustls", "dep:webpki-roots"] [dependencies] -geojson = "0.24" -rustls = { version = "0.23", optional = true, features = [ - "ring", - "std", -], default-features = false } -serde = "1" -serde_json = "1" -stac = { version = "0.10.0", path = "../core" } -stac-api = { version = "0.6.0", path = "../api" } -thiserror = "1" -tokio-postgres = { version = "0.7", features = ["with-serde_json-1"] } -tokio-postgres-rustls = { version = "0.12", optional = true } -webpki-roots = { version = "0.26", optional = true } +geojson = { workspace = true } +rustls = { workspace = true, features = ["ring", "std"], optional = true } +serde = { workspace = true } +serde_json = { workspace = true } +stac = { workspace = true } +stac-api = { workspace = true } +thiserror = { workspace = true } +tokio-postgres = { workspace = true, features = ["with-serde_json-1"] } +tokio-postgres-rustls = { workspace = true, optional = true } +webpki-roots = { workspace = true, optional = true } [dev-dependencies] pgstac-test = { path = "pgstac-test" } -tokio = { version = "1.23", features = ["rt-multi-thread", "macros"] } -tokio-test = "0.4" +tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } +tokio-test = { workspace = true } [package.metadata.docs.rs] all-features = true diff --git a/pgstac/pgstac-test/Cargo.toml b/pgstac/pgstac-test/Cargo.toml index 43bc32db..199a32bb 100644 --- a/pgstac/pgstac-test/Cargo.toml +++ b/pgstac/pgstac-test/Cargo.toml @@ -10,6 +10,6 @@ test = false doctest = false [dependencies] -quote = "1" -syn = { version = "2", features = ["full", "extra-traits"] } -tokio-postgres = { version = "0.7" } +quote = { workspace = true } +syn = { workspace = true, features = ["full", "extra-traits"] } +tokio-postgres = { workspace = true } diff --git a/python/Cargo.toml b/python/Cargo.toml index 2749ab7b..a1f926db 100644 --- a/python/Cargo.toml +++ b/python/Cargo.toml @@ -13,16 +13,16 @@ name = "stacrs" crate-type = ["cdylib"] [dependencies] -geojson = "0.24" -pyo3 = { version = "0.22", features = ["extension-module"] } -pythonize = "0.22" -serde = "1" -serde_json = "1" -stac = { path = "../core", features = [ +geojson = { workspace = true } +pyo3 = { workspace = true, features = ["extension-module"] } +pythonize = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +stac = { workspace = true, features = [ "geoparquet-compression", "object-store-all", "reqwest", "validate-blocking", ] } -stac-api = { path = "../api", features = ["client"] } -tokio = { version = "1", features = ["rt"] } +stac-api = { workspace = true, features = ["client"] } +tokio = { workspace = true, features = ["rt"] } diff --git a/server/Cargo.toml b/server/Cargo.toml index 64d1a2c5..8ea7e53c 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -16,31 +16,29 @@ axum = ["dep:axum", "dep:bytes", "dep:mime", "dep:tower-http"] pgstac = ["dep:pgstac", "dep:bb8", "dep:bb8-postgres", "dep:tokio-postgres"] [dependencies] -axum = { version = "0.7", optional = true } -bb8 = { version = "0.8", optional = true } -bb8-postgres = { version = "0.8", optional = true } -bytes = { version = "1", optional = true } -http = "1" -mime = { version = "0.3", optional = true } -pgstac = { version = "0.2.0", path = "../pgstac", features = [ - "tls", -], optional = true } -serde = "1" -serde_json = "1" -serde_urlencoded = "0.7" -stac = { version = "0.10.0", path = "../core" } -stac-api = { version = "0.6.0", path = "../api", features = ["geo"] } -thiserror = "1" -tokio-postgres = { version = "0.7", optional = true } -tower-http = { version = "0.5", features = ["cors"], optional = true } -url = "2" +axum = { workspace = true, optional = true } +bb8 = { workspace = true, optional = true } +bb8-postgres = { workspace = true, optional = true } +bytes = { workspace = true, optional = true } +http = { workspace = true } +mime = { workspace = true, optional = true } +pgstac = { workspace = true, features = ["tls"], optional = true } +serde = { workspace = true } +serde_json = { workspace = true } +serde_urlencoded = { workspace = true } +stac = { workspace = true } +stac-api = { workspace = true, features = ["geo"] } +thiserror = { workspace = true } +tokio-postgres = { workspace = true, optional = true } +tower-http = { workspace = true, features = ["cors"], optional = true } +url = { workspace = true } [dev-dependencies] -serde_json = "1" -stac = { version = "0.10", path = "../core", features = ["validate"] } -tokio = { version = "1.37", features = ["macros"] } -tokio-test = "0.4" -tower = { version = "0.5", features = ["util"] } +serde_json = { workspace = true } +stac = { workspace = true, features = ["validate"] } +tokio = { workspace = true, features = ["macros"] } +tokio-test = { workspace = true } +tower = { workspace = true, features = ["util"] } [package.metadata.docs.rs] all-features = true