[package] name = "rtz" version = "0.7.1" edition = "2021" authors = ["Aaron Roney "] license = "MIT" description = "A tool to easily work with geo lookups via a binary, a library, or a server." readme = "../README.md" homepage = "https://github.com/twitchax/rtz" repository = "https://github.com/twitchax/rtz" keywords = ["cli", "time", "zone", "timezone", "geospatial"] categories = ["command-line-utilities"] rust-version = "1.80" [package.metadata."docs.rs"] features = ["tz-ned", "tz-osm", "admin-osm"] [lib] name = "rtzlib" path = "src/lib.rs" crate-type = ["cdylib", "rlib"] [[bin]] name = "rtz" path = "src/bin.rs" required-features = ["cli"] [features] default = ["cli"] full = ["tz-ned", "tz-osm", "admin-osm", "self-contained", "rtz-core/full", "rtz-build/full"] double-precision = ["rtz-core/double-precision", "rtz-build/double-precision"] unsimplified = ["rtz-core/unsimplified"] extrasimplified = ["rtz-core/extrasimplified"] self-contained = ["rtz-core/self-contained", "rtz-build/self-contained", "include_bytes_aligned"] owned-decode = [] tz-ned = ["rtz-core/tz-ned", "rtz-build/tz-ned"] tz-osm = ["rtz-core/tz-osm", "rtz-build/tz-osm", "chrono-tz", "chrono"] admin-osm = ["rtz-core/admin-osm", "rtz-build/admin-osm"] cli = ["clap"] web = ["full", "tokio", "config", "log", "simple_logger", "schemars", "chrono", "axum", "hyper", "tower", "tower-http", "http", "http-body-util", "utoipa", "utoipa-swagger-ui", "utoipa-redoc", "utoipa-rapidoc", "axum-insights", "tracing"] wasm = ["wasm-bindgen", "wasm-bindgen-futures", "wee_alloc", "js-sys"] force-rebuild = ["rtz-build/force-rebuild"] [dependencies] rtz-core = { path = "../rtz-core", version = "0.1.4"} anyhow = { version = "1.0.72", features = ["backtrace"] } rayon = "1.7.0" geojson = "0.24.1" geo = "0.28.0" chashmap = "2.2.2" async-trait = "0.1.71" rand = "0.8.5" getrandom = { version = "0.2", features = ["js"] } serde = { version = "1.0.126" } serde_json = "1.0.64" bincode = { version = "2.0.0-rc.3", git = "https://github.com/bincode-org/bincode.git", default-features = false, features = ["alloc", "serde"] } include_bytes_aligned = { version = "0.1.3", optional = true } # cli clap = { version = "4.0.29", features = ["derive"], optional = true } # tz-osm chrono-tz ={ version = "0.9.0", features = ["serde"], optional = true } chrono = { version = "0.4.19", features = ["serde"], optional = true } # web tokio = { version = "1.29.1", features = ["rt", "macros", "signal", "parking_lot", "rt-multi-thread"], optional = true } config = { version = "0.14.0", optional = true } log = { version = "0.4.8", features = ["release_max_level_info"], optional = true } simple_logger = { version = "5.0.0", optional = true } schemars = { version = "0.8.6", features = ["chrono"], optional = true } axum = { version = "0.7.5", features = ["macros"], optional = true } hyper = { version = "1.4.1", features = ["full"], optional = true } tower = { version = "0.4.13", features = ["full"], optional = true } tower-http = { version = "0.5.2", features = ["full"], optional = true } http = { version = "1.1.0", optional = true } http-body-util = { version = "0.1.2", optional = true } utoipa = { version = "4.0.0", features = ["axum_extras"], optional = true } utoipa-swagger-ui = { version = "7.1.0", features = ["axum", "vendored"], optional = true } utoipa-redoc = { version = "4.0.0", features = ["axum"], optional = true } utoipa-rapidoc = { version = "4.0.0", features = ["axum"], optional = true } # telemetry axum-insights = { version = "0.4.0", optional = true } tracing = { version = "0.1.40", optional = true } # wasm wasm-bindgen = { version = "0.2.84", optional = true } wasm-bindgen-futures = { version = "0.4.34", optional = true } wee_alloc = { version = "0.4.5", optional = true } js-sys = { version = "0.3.61", optional = true } [dev-dependencies] pretty_assertions = "1.4.0" cities-json = "0.5.5" futures = "0.3.28" criterion = { version = "0.5", features = ["html_reports"] } [build-dependencies] rtz-build = { path = "../rtz-build", version = "0.2.6"} [target.'cfg(not(target_family = "wasm"))'.dependencies] reqwest = { version = "0.12.5", features = ["blocking"] } zip = { version = "2.1.6" } [[bench]] name = "benches" harness = false [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wasm)'] }