#unique-identifier #identifier #ulid #sortable #uuid

ulys

a Universally Unique Lexicographically Sortable Identifier implementation, with a checksum

2 releases (1 stable)

31.0.0 Aug 7, 2024
0.1.0 Jul 24, 2024

#752 in Encoding

Download history 53/week @ 2024-07-18 54/week @ 2024-07-25 84/week @ 2024-08-01 41/week @ 2024-08-08 2/week @ 2024-08-15

128 downloads per month

MIT license

17KB
301 lines

ulys

Build Status Crates.io docs.rs

This lib is inspired from the Rust implementation of the ulid project which provides Universally Unique Lexicographically Sortable Identifiers.

Quickstart

use ulys::Ulys;

// Generate a ulys
let ulys = Ulys::new();

// Generate a string for a ulys
let s = ulys.to_string();

// Create from a String
let res = Ulys::from_string(&s);

assert_eq!(ulys, res.unwrap());

Crate Features

  • serde: Enables serialization and deserialization of Ulys types via serde. ULYSs are serialized using their canonical 26-character representation as defined in the ULID standard. An optional ulys_as_u128 module is provided, which enables serialization through an Ulys's inner u128 primitive type. See the documentation and serde docs for more information.
  • uuid: Implements infallible conversions between ULYSs and UUIDs from the uuid crate via the std::convert::From trait.

Dependencies

~0.4–1.1MB
~25K SLoC