Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Sigid: a zero-dependency, no_std, three-layer unique ID generator

Дата публикации: 11-08-2026 19:06:03


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

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Arxid: keyed, non-enumerable ID obfuscation (ARX-Feistel, no_std, spec-first)015.4705-08-2026
2My state lib PurrGress012.6213-08-2026
3[Show] taetype: Pure Rust font engine with zero unsafe code010.1927-07-2026
4My second crate :D : Karatepe, a localisation library06.8411-08-2026
5Multicalc: Scientific computing for real-time embedded systems in no_std Rust014.3610-08-2026
6Cargo-Rail v0.20: one workspace engine instead of dependency, CI, cache, release, and split-repo glue/plugins010.430-07-2026
7Siffra - a GPUI calculator that supports dimensional analysis011.0407-08-2026
8Qhull_rayon v0.1.0010.411-08-2026
9Mdpager 0.1.0: a small Unix-style Markdown pager016.5608-08-2026
10Unsupported!() macro for compile errors when a code path is used08.1813-08-2026

Классификация: . Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 14.69. Источник: users.rust-lang.org.