[package]
name = "globuid"
version = "0.1.0"
edition = "2024"
license = "Apache-2.0"
authors = ["GlobUid Contributors"]
description = "A globally unique ID generator with pluggable algorithms and transport layer"
documentation = "https://docs.rs/globuid"
homepage = "https://github.com/lispking/globuid"
repository = "https://github.com/lispking/globuid"
readme = "README.md"
keywords = ["snowflake", "ulid", "nanoid", "id-generator", "distributed"]
categories = ["algorithms", "web-programming"]
[features]
default = []
http = ["axum", "tower", "tower-http"]
grpc = ["tonic", "prost"]
full = ["http", "grpc"]
[dependencies]
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "1"
tracing = "0.1"
getrandom = "0.3"
axum = { version = "0.7", optional = true }
tower = { version = "0.5", optional = true }
tower-http = { version = "0.6", features = ["cors"], optional = true }
tonic = { version = "0.12", optional = true }
prost = { version = "0.13", optional = true }
clap = { version = "4", features = ["derive"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
[dev-dependencies]
reqwest = { version = "0.12", features = ["json"] }
[build-dependencies]
tonic-build = "0.12"
[lib]
path = "src/lib.rs"
[[bin]]
name = "globuid"
path = "src/bin/globuid.rs"