Hey!
I made Sigid — yet another crate for sortable unique IDs. I know the ecosystem already has ulid, uuid, snowflake-style crates, and so on. I just wanted to put together something that fit my own needs. Maybe it'll resonate with some of you too
It has a dependency-free no_std core, support for custom alphabets, prefixes, and checksums, plus full worker-ID coordination for distributed setups — all without extra dependencies or heavyweight components.
It's split into three crates, since not every project needs all of it.
sigid-core — no dependencies, no_std, just encodes/decodes/generates 128-bit IDs as 26-character Crockford Base32 strings (timestamp + worker ID + counter + random).
sigid-flexible — configurable length/alphabet/prefix/checksum on top of the core.
sigid-enterprise — worker-ID coordination, UUID/ULID interop, and a handy inspect() function for pulling metadata back out of an ID.
The bit layout is basically Snowflake-style: 48-bit timestamp + 16-bit worker ID + 14-bit counter + 50-bit random, Base32-encoded, so it's typo-tolerant (the Crockford alphabet auto-corrects O/I/L).
I won't claim it's better or worse than ulid/uuid or other systems — those are solid, well-established libraries. This one was built for my own specific needs, involving a fairly complex visual editor and a database.
I'd genuinely appreciate any feedback, especially if something about the API design looks off — "why didn't you just use X?" is a useful comment too.
Repo: GitHub - dmitrymarison/Sigid: Sigid - Configurable ID generator for Rust (Simple → Flexible → Enterprise) · GitHub
Crates: sigid-core / sigid-flexible / sigid-enterprise on crates.io
Thanks! Cheers!
1 post - 1 participant
Read full topic
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Arxid: keyed, non-enumerable ID obfuscation (ARX-Feistel, no_std, spec-first) | 0 | 15.47 | 05-08-2026 |
| 2 | My state lib PurrGress | 0 | 12.62 | 13-08-2026 |
| 3 | [Show] taetype: Pure Rust font engine with zero unsafe code | 0 | 10.19 | 27-07-2026 |
| 4 | My second crate :D : Karatepe, a localisation library | 0 | 6.84 | 11-08-2026 |
| 5 | Multicalc: Scientific computing for real-time embedded systems in no_std Rust | 0 | 14.36 | 10-08-2026 |
| 6 | Cargo-Rail v0.20: one workspace engine instead of dependency, CI, cache, release, and split-repo glue/plugins | 0 | 10.4 | 30-07-2026 |
| 7 | Siffra - a GPUI calculator that supports dimensional analysis | 0 | 11.04 | 07-08-2026 |
| 8 | Qhull_rayon v0.1.0 | 0 | 10.4 | 11-08-2026 |
| 9 | Mdpager 0.1.0: a small Unix-style Markdown pager | 0 | 16.56 | 08-08-2026 |
| 10 | Unsupported!() macro for compile errors when a code path is used | 0 | 8.18 | 13-08-2026 |