id-forge 1.0.0

Typed, high-performance unique ID generation for Rust. UUID v4/v7, ULID, Snowflake, NanoID, and custom epoch-based schemes in one zero-dependency library. Monotonic, distributed-safe, sortable variants.
Documentation
[package]
name = "id-forge"
version = "1.0.0"
edition = "2021"
rust-version = "1.75"
readme = "README.md"
license = "Apache-2.0 OR MIT"

authors = [
    "James Gober <me@jamesgober.com>"
]

description = "Typed, high-performance unique ID generation for Rust. UUID v4/v7, ULID, Snowflake, NanoID, and custom epoch-based schemes in one zero-dependency library. Monotonic, distributed-safe, sortable variants."

keywords = [
    "uuid",
    "ulid",
    "snowflake",
    "nanoid",
    "id"
]

categories = [
    "algorithms",
    "data-structures",
    "no-std"
]

documentation = "https://docs.rs/id-forge"
repository = "https://github.com/jamesgober/id-forge"
homepage = "https://github.com/jamesgober/id-forge"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]

[dev-dependencies]

[[example]]
name = "basic"
required-features = ["uuid", "ulid", "snowflake", "nanoid"]

[[example]]
name = "bench"
required-features = ["uuid", "ulid", "snowflake", "nanoid"]

[[example]]
name = "uuid_v4"
required-features = ["uuid"]

[[example]]
name = "uuid_v7"
required-features = ["uuid"]

[[example]]
name = "ulid_monotonic"
required-features = ["ulid"]

[[example]]
name = "snowflake_distributed"
required-features = ["snowflake"]

[[example]]
name = "snowflake_clock_skew"
required-features = ["snowflake"]

[[example]]
name = "nanoid_short_url"
required-features = ["nanoid"]

[[example]]
name = "nanoid_validate"
required-features = ["nanoid"]

[[test]]
name = "smoke"
required-features = ["uuid", "ulid", "snowflake", "nanoid"]

[features]
default = ["std", "uuid", "ulid", "snowflake", "nanoid"]
std = []
uuid = ["std"]
ulid = ["std"]
snowflake = ["std"]
nanoid = ["std"]

[profile.release]
opt-level = 3
lto = "thin"