[package]
edition = "2024"
name = "grain-id"
version = "0.16.0"
build = "build.rs"
exclude = [
"/.github",
"/.gitignore",
"/.vscode",
"/CHANGELOG.md",
"/SPECS.md",
"/.gitmodules",
"/.rustfmt.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Compact, human-readable unique IDs — grain-sized, yet enough for a lifetime"
homepage = "https://github.com/fluo10/grain-id"
readme = "README.md"
keywords = [
"id",
"identifier",
"uuid",
"distributed",
"human-readable",
]
categories = [
"data-structures",
"encoding",
"no-std",
"no-std::no-alloc",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/fluo10/grain-id"
[package.metadata.docs.rs]
all-features = true
[features]
arbitrary = [
"std",
"dep:arbitrary",
]
default = [
"rand",
"std",
]
digest = ["dep:digest"]
prost = ["dep:prost"]
rand = ["dep:rand"]
rusqlite = [
"std",
"dep:rusqlite",
]
schemars = ["dep:schemars"]
sea-orm = [
"std",
"dep:sea-orm",
]
serde = ["dep:serde"]
std = [
"rand?/thread_rng",
"serde?/std",
]
[lib]
name = "grain_id"
path = "src/lib.rs"
[[test]]
name = "default"
path = "tests/default.rs"
[[test]]
name = "digest"
path = "tests/digest.rs"
[[test]]
name = "prost"
path = "tests/prost.rs"
[[test]]
name = "rand"
path = "tests/rand.rs"
[[test]]
name = "schemars"
path = "tests/schemars.rs"
[[test]]
name = "sea_orm"
path = "tests/sea_orm.rs"
[[test]]
name = "serde"
path = "tests/serde.rs"
[dependencies.arbitrary]
version = "1"
optional = true
[dependencies.digest]
version = "0.11"
optional = true
default-features = false
[dependencies.prost]
version = "0.14.1"
features = ["derive"]
optional = true
default-features = false
[dependencies.rand]
version = "0.10.0"
optional = true
default-features = false
[dependencies.rusqlite]
version = "0.40.2"
optional = true
default-features = false
[dependencies.schemars]
version = "1.2.1"
optional = true
default-features = false
[dependencies.sea-orm]
version = "2.0.2"
optional = true
default-features = false
[dependencies.serde]
version = "1.0.219"
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0.12"
default-features = false
[dev-dependencies.chrono]
version = "0.4.42"
[dev-dependencies.jsonschema]
version = "0.52"
[dev-dependencies.libsqlite3-sys]
version = "0.38"
features = ["bundled"]
[dev-dependencies.rand]
version = "0.10.0"
features = ["thread_rng"]
default-features = false
[dev-dependencies.sea-orm]
version = "2.0.2"
features = [
"macros",
"mock",
]
default-features = false
[dev-dependencies.serde]
version = "1.0.219"
features = ["derive"]
default-features = false
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.serde_test]
version = "1.0.177"
[dev-dependencies.sha1]
version = "0.11"
default-features = false
[dev-dependencies.sha2]
version = "0.11"
default-features = false
[dev-dependencies.sha3]
version = "0.12.0"
default-features = false
[dev-dependencies.shake]
version = "0.1.0"
default-features = false
[dev-dependencies.tokio]
version = "1.47.1"
features = [
"macros",
"rt",
]
default-features = false
[build-dependencies.prost-build]
version = "0.14.1"