google_maps 3.9.1

An unofficial Google Maps Platform client library for the Rust programming language.
Documentation
[package]
name = "google_maps"
version = "3.9.1"
authors = ["Dylan Bowker <dylan.bowker@arkiteq.io>"]
edition = "2021"
rust-version = "1.76.0"
license = "MIT OR Apache-2.0"
description = "An unofficial Google Maps Platform client library for the Rust programming language."
documentation = "https://docs.rs/google_maps"
repository = "https://github.com/leontoeides/google_maps"
readme = "README.md"
keywords = ["directions", "distance", "elevation", "geocoding", "timezone"]
categories = ["api-bindings"]
publish = true

[lib]
doctest = false

# =============================================================================
# Features
# =============================================================================

[features]
default = [
	"address_validation",
	"directions",
	"distance_matrix",
	"elevation",
	"geocoding",
	"roads",
	"time_zone",
	"places-new",
	"reqwest",
	"reqwest-default-tls",
	"reqwest-http2",
	"reqwest-brotli",
	"decimal-serde",
]

# Core APIs
tracing-instrumentation = []
address_validation = ["bon", "getset", "strum", "strum_macros"]
directions = ["chrono", "chrono-tz"]
distance_matrix = ["chrono", "chrono-tz"]
elevation = []
geocoding = []
roads = []
time_zone = ["chrono", "chrono-tz"]

# Places API (Legacy)
places = ["chrono", "chrono-tz"]
autocomplete = []

# Places API (New)
places-new = [
	"places-new-core",
	"places-new-autocomplete",
	"places-new-nearby-search",
	"places-new-place-details",
	"places-new-place-photos",
	"places-new-text-search",
]
places-new-core = ["bon", "getset", "strum", "strum_macros", "rust_iso3166", "icu_locale", "jiff", "iso_currency", "url"]
places-new-autocomplete = ["places-new-core", "uuid"]
places-new-nearby-search = ["places-new-core"]
places-new-place-details = ["places-new-core", "uuid"]
places-new-place-photos = ["places-new-core"]
places-new-text-search = ["places-new-core"]
places-new-ascii-art = ["artem", "image"]

# Geo
geo = ["geo-types"]
polyline = ["dep:polyline"]

# Reqwest Core
reqwest = ["dep:reqwest", "dep:backon", "dep:futures", "dep:stream_throttle"]
enable-reqwest = ["reqwest"]

# Reqwest TLS
reqwest-default-tls = ["reqwest/default-tls"]
reqwest-native-tls = ["reqwest/native-tls"]
reqwest-native-tls-vendored = ["reqwest/native-tls-vendored"]
reqwest-native-tls-alpn = ["reqwest/native-tls-alpn"]
reqwest-rustls-tls = ["reqwest/rustls-tls"]
reqwest-rustls-tls-manual-roots = ["reqwest/rustls-tls-manual-roots"]
reqwest-rustls-tls-webpki-roots = ["reqwest/rustls-tls-webpki-roots"]
reqwest-rustls-tls-native-roots = ["reqwest/rustls-tls-native-roots"]

# Reqwest Options
reqwest-http2 = ["reqwest/http2"]
reqwest-blocking = ["reqwest/blocking"]
reqwest-charset = ["reqwest/charset"]
reqwest-cookies = ["reqwest/cookies"]
reqwest-gzip = ["reqwest/gzip"]
reqwest-brotli = ["reqwest/brotli"]
reqwest-zstd = ["reqwest/zstd"]
reqwest-deflate = ["reqwest/deflate"]
reqwest-json = ["reqwest/json", "reqwest-middleware/json"]
reqwest-multipart = ["reqwest/multipart", "reqwest-middleware/multipart"]
reqwest-stream = ["reqwest/stream"]
reqwest-socks = ["reqwest/socks"]
reqwest-hickory-dns = ["reqwest/hickory-dns"]

# Reqwest Middleware
reqwest-middleware = ["dep:reqwest-middleware", "dep:http", "dep:anyhow"]
enable-reqwest-middleware = ["reqwest-middleware"]
reqwest-middleware-multipart = ["reqwest-middleware/multipart", "reqwest-multipart"]
reqwest-middleware-json = ["reqwest-middleware/json", "reqwest-json"]
reqwest-middleware-charset = ["reqwest-middleware/charset", "reqwest-charset"]
reqwest-middleware-http2 = ["reqwest-middleware/http2", "reqwest-http2"]
reqwest-middleware-rustls-tls = ["reqwest-middleware/rustls-tls", "reqwest-rustls-tls"]

# Decimal
decimal-serde = ["rust_decimal/serde"]
decimal-serde-float = ["rust_decimal/serde-float"]
decimal-serde-str = ["rust_decimal/serde-str"]
decimal-serde-arbitrary-precision = ["rust_decimal/serde-arbitrary-precision"]
decimal-serde-with-float = ["rust_decimal/serde-with-float"]
decimal-serde-with-str = ["rust_decimal/serde-with-str"]
decimal-serde-with-arbitrary-precision = ["rust_decimal/serde-with-arbitrary-precision"]

# =============================================================================
# Dependencies
# =============================================================================

[dependencies]
# Core
miette = "7.6"
percent-encoding = "2.3"
phf = { version = "0.13", features = ["macros"] }
rust_decimal = { version = "1", features = ["serde", "serde-float"] }
rust_decimal_macros = "1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
tracing = { version = "0.1", features = ["log"] }

# Time (directions, distance_matrix, places, time_zone)
chrono = { version = "0.4", optional = true, default-features = false, features = ["clock", "serde", "std"] }
chrono-tz = { version = "0.10", optional = true, features = ["serde"] }

# Builders (address_validation, places-new)
bon = { version = "3.8", optional = true }
getset = { version = "0.1", optional = true }
strum = { version = "0.27", optional = true, features = ["derive"] }
strum_macros = { version = "0.27", optional = true }

# Places API (New)
icu_locale = { version = "2.1", optional = true, features = ["serde"] }
iso_currency = { version = "0.5", optional = true, features = ["with-serde"] }
jiff = { version = "0.2", optional = true, features = ["serde"] }
rust_iso3166 = { version = "0.1", optional = true }
url = { version = "2.5", optional = true, features = ["serde"] }
uuid = { version = "1.18", optional = true, features = ["serde", "v4"] }

# ASCII Art
artem = { version = "3.0", optional = true }
image = { version = "0.25", optional = true, features = ["jpeg", "png", "webp"] }

# HTTP Client
backon = { version = "1.6", optional = true, default-features = false, features = ["tokio-sleep"] }
futures = { version = "0.3", optional = true }
reqwest = { version = "0.12", optional = true, default-features = false }
stream_throttle = { version = "0.5", optional = true }

# HTTP Middleware
anyhow = { version = "1.0", optional = true }
http = { version = "1", optional = true }
reqwest-middleware = { version = "0.4", optional = true }

# Geo
geo-types = { version = "0.7", optional = true, features = ["serde"] }
polyline = { version = "0.11", optional = true }

[badges]
maintenance = { status = "passively-maintained" }