[package] name = "ya-gcp" version = "0.11.3" authors = ["Renar Narubin "] edition = "2021" description = "APIs for using Google Cloud Platform services" readme = "README.md" repository = "https://github.com/standard-ai/ya-gcp" license = "MIT OR Apache-2.0" keywords = ["gcp", "gcs", "pubsub", "google", "cloud"] categories = ["api-bindings", "asynchronous"] documentation = "https://docs.rs/ya-gcp" [badges] maintenance = { status = "actively-developed" } [[example]] name = "pubsub_stream" path = "examples/pubsub_stream.rs" required-features = ["pubsub"] [[example]] name = "storage_get_object" path = "examples/storage_get_object.rs" required-features = ["storage"] [[example]] name = "bigtable" path = "examples/bigtable.rs" required-features = ["bigtable"] [features] default = ["rustls-native-certs"] rustls-native-certs = ["dep:rustls-native-certs", "tonic?/tls-roots"] webpki-roots = ["dep:webpki-roots", "tonic?/tls-webpki-roots"] # an internal feature used by services running grpc grpc = ["tonic", "prost", "prost-types", "tower", "derive_more"] bigtable = ["async-stream", "grpc", "prost", "tower"] pubsub = ["grpc", "uuid", "async-stream", "pin-project", "tokio/sync"] storage = ["tame-gcs", "tower"] # whether to include service emulator implementations. useful for testing emulators = ["tempdir", "tokio/process"] [dependencies] cfg-if = "1" futures = "0.3" http = "0.2" humantime-serde = "1" hyper = "0.14" hyper-rustls = "0.24.2" paste = "1" rand = "0.8" rustls = "0.21.8" serde = { version = "1", features = ["derive"] } thiserror = "1" tokio = { version = "1.34", features = ["time"] } tracing = "0.1.37" yup-oauth2 = "8.3.0" async-stream = { version = "0.3", optional = true } derive_more = { version = "0.99", optional = true } pin-project = { version = "1.0.11", optional = true } prost = { version = "0.12.3", optional = true } prost-types = { version = "0.12.3", optional = true } rustls-native-certs = { version = "0.6.3", optional = true } tame-gcs = { version = "0.10.0", optional = true } tempdir = { version = "0.3", optional = true } tonic = { version = "0.10.2", optional = true } tower = { version = "0.4", features = ["make"], optional = true } uuid = { version = "1.6", features = ["v4"], optional = true } webpki-roots = { version = "0.25.3", optional = true } [dev-dependencies] approx = "0.5" async-stream = "0.3" quickcheck = "1" quickcheck_macros = "1" serde_json = "1" structopt = "0.3" # for examples tokio = { version = "1.34.0", features = ["rt-multi-thread", "time", "test-util"] } tracing-subscriber = { version = "0.3", features = ["env-filter"] } tracing-tree = "0.2" [package.metadata.docs.rs] rustdoc-args = ["--cfg", "docsrs"] all-features = true