Thanks to visit codestin.com
Credit goes to lib.rs

#unique-identifier #generator #identifier

tsid

A Rust library for generating Time-Sorted Unique Identifiers

10 releases

0.3.4 May 20, 2025
0.3.3 May 16, 2025
0.3.1 Aug 6, 2024
0.2.0 Nov 5, 2023
0.0.3 Sep 16, 2023

#661 in Encoding

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

112 downloads per month
Used in 4 crates

MIT license

29KB
725 lines

tsid

TSID generator for rust, this library is reimplementation of java tsid-creator created by Fabio Lima

example workflow

Implementation status:

  • Generate TSID with simple, naive implementation
  • Add basic tests to check compatibility
  • Benchmarks (compare the speed to java library)
  • Publish first usable version to crates.io
  • GitHub actions workflow to CI
  • Serde serialization
  • Thread safety

Rust GitHub Actions

How to use it?

use tsid::create_tsid;

fn main() {
    let tsid = create_tsid();
}

Crate features:

  • bson_as_string - the same as for serde
  • bson - adds From bson conversion
  • chrono - Allow extracting DateTime from TDIS
  • debug - adds debug trait to TSID
  • display - add Display trait to TSID
  • serde_as_string - tells serde to serialize TSID as string (disabling this feature means that serde will serialize to string for human readable formats ant tu u64 otherwise)
  • serde - adds serde dependency and serialization/deserialization

Dependencies

~1.5–3.5MB
~65K SLoC