...The package ULID provides two functions Generate. One function produces a 128-bit number that can be output (for instance) in the UUID format. One function produces a string in the Base32 format (Crockford variant) - the preferred (canonical) representation of a ULID. Additionally, the Generate_Monotonic function enables the production of a monotonically increasing sequence of ULID numbers within the same millisecond.
Alire crate: https://alire.ada.dev/crates/ulid
Mirror: https://github.com/zertovitch/ulid