6 releases
0.1.6 | Mar 1, 2023 |
---|---|
0.1.5 | Mar 1, 2023 |
#2171 in Command line utilities
9KB
135 lines
ruuid
I couldn't find a tool that generates uuid's of various formats conveniently and programatically over the cli and rUUID was born. Necessity is the mother of "I can't find it, I'll make it".
This crate only depends on uuid
and clap
crates.
Installation
Since for uuid version 6, 7 and 8 the uuid
crate needs to be compiled with RUSTFLAGS="--cfg uuid_unstable"
. For you, this means when you install ruuid
, you need to pass
that unless you want compilation errors. For example:
RUSTFLAGS="--cfg uuid_unstable" cargo install ruuid
or
RUSTFLAGS="--cfg uuid_unstable" cargo install --git https://github.com/westernwontons/ruuid
Usage
There are subcommands for each type of supported uuid's. Any uuid formats supported by uuid
are supported by rUUID
as well.
For example, to generate a UUID_V1:
ruuid v1
To generate a version 1 UUID with the braced format:
ruuid v1 -b
You can pass a number to tell ruuid
how many UUIDs you want generated:
ruuid v1 3
The default number of UUIDs generated is 1.
The following UUIDs are supported:
- version 1
- version 3
- version 4
- version 5
- version 6
- version 7
- version 8
Version 1, 3, 5, 6 and 8 need some random bytes to be generated, namely 6 pieces of u8
(except for version 8 which needs 16 u8
s).
These are generated with the help of the rand crate. Honestly I have no ideas whether is sufficient, if it's not, let me know.
Version 3 and 5 implicitly use the DNS namespace. I don't know whether it would be preferable to have that configurable. It's static for know. If you'd like that changed, let me know.
Dependencies
~2–2.8MB
~51K SLoC