ferroid 0.8.4

Flexible ID generators for producing unique, monotonic, and lexicographically sortable IDs.
Documentation
[[bench]]
harness = false
name = "bench"
path = "benches/bench.rs"

[dependencies.crossbeam-utils]
default-features = false
optional = true
version = "0.8"

[dependencies.futures]
default-features = false
optional = true
version = "0.3"

[dependencies.parking_lot]
default-features = false
optional = true
version = "0.12"

[dependencies.pin-project-lite]
default-features = false
optional = true
version = "0.2"

[dependencies.portable-atomic]
default-features = false
version = "1.11"

[dependencies.rand]
default-features = false
features = ["thread_rng"]
optional = true
version = "0.9"

[dependencies.serde]
default-features = false
features = ["derive"]
optional = true
version = "1.0"

[dependencies.smol]
default-features = false
optional = true
version = "2.0"

[dependencies.tokio]
default-features = false
features = ["time", "rt-multi-thread"]
optional = true
version = "1.48"

[dependencies.tracing]
default-features = false
features = ["attributes"]
optional = true
version = "0.1"

[dev-dependencies.criterion]
default-features = false
features = ["async_tokio", "async_smol"]
version = "0.7"

[dev-dependencies.futures]
default-features = false
features = ["alloc"]
version = "0.3"

[dev-dependencies.num_cpus]
default-features = false
version = "1.17"

[dev-dependencies.serde_json]
default-features = false
version = "1.0"

[dev-dependencies.tokio]
default-features = false
features = ["macros", "sync"]
version = "1.48"

[features]
all = ["std", "alloc", "snowflake", "ulid", "thread-local", "basic", "lock", "atomic", "base32", "async-tokio", "async-smol", "serde"]
alloc = []
async-smol = ["std", "alloc", "futures", "dep:smol"]
async-tokio = ["std", "alloc", "futures", "dep:tokio"]
atomic = []
base32 = []
basic = []
cache-padded = ["dep:crossbeam-utils"]
default = []
futures = ["dep:futures", "dep:pin-project-lite"]
lock = ["std", "alloc"]
parking-lot = ["std", "alloc", "dep:parking_lot"]
serde = ["dep:serde"]
snowflake = []
std = ["dep:rand"]
thread-local = ["std", "alloc", "ulid", "basic"]
tracing = ["dep:tracing"]
ulid = []

[lib]
crate-type = ["rlib"]
name = "ferroid"
path = "src/lib.rs"

[package]
authors = ["Nick Angelou <angelou.nick@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["data-structures", "encoding", "asynchronous", "no-std", "development-tools"]
description = "Flexible ID generators for producing unique, monotonic, and lexicographically sortable IDs."
documentation = "https://docs.rs/ferroid"
edition = "2024"
keywords = ["no_std", "id", "snowflake", "ulid", "monotonic"]
license = "MIT OR Apache-2.0"
name = "ferroid"
readme = "README.md"
repository = "https://github.com/s0l0ist/ferroid/blob/main/crates/ferroid"
rust-version = "1.85.1"
version = "0.8.4"

[package.metadata.docs.rs]
features = ["all"]
no-default-features = true