Skip to main content

Create universally unique identifiers (UUIDs) versions 1, 3, 4, 5, 6, 7 and 8 in transformations.

Project description

cmem-plugin-uuid

Create universally unique identifiers (UUIDs) versions 1, 3, 4, 5, 6, 7 and 8 in transformations.

Installation

cmemc -c my-cmem admin workspace python install cmem-plugin-uuid

UUID1

UUID1 version is generated from a host ID, sequence number, and the current time.

Parameters

Node

Node value in the form "01:23:45:67:89:AB", "01-23-45-67-89-AB", or "0123456789AB". If not given, uuid.getnode() is used to attempt to obtain the hardware address. If this is unsuccessful a random 48-bit number is chosen.

Default value: None
ID: node

Clock sequence

If clock sequence is given, it is used as the sequence number, otherwise a random 14-bit sequence number is chosen.

Default value: None
ID: clock_seq


UUID3

UUID version 3 is a reproducible UUID based on the MD5 hash of a namespace identifier (which is a UUID) and a name (which is a string).

Parameters

Namespace

The namespace can be entered manually or selected from the namespace UUIDs defined in RFC 4122:

  • Namespace DNS: 6ba7b810-9dad-11d1-80b4-00c04fd430c8 (namespace_dns)
  • Namespace URL: 6ba7b811-9dad-11d1-80b4-00c04fd430c8 (namespace_url)
  • Namespace OID: 6ba7b812-9dad-11d1-80b4-00c04fd430c8 (namespace_oid)
  • Namespace X500: 6ba7b814-9dad-11d1-80b4-00c04fd430c8 (namespace_x500)

If none of the predefined namespace UUIDs is selected, the input namespace is either directly interpreted as a UUID, or used to derive a UUID (see parameter Namespace as UUID). If no namespace is given, the output is the same as that of the standard CMEM UUID operator with input value.

Default value: none
ID: namespace

Use input as namespace

If enabled, the input value is used for the namespace.

Default value: False
ID: input_as_namespace

Namespace as UUID

Applies only if none of the pre-defined namespaces is selected. If enabled, the namespace string needs to be a valid UUID. Otherwise, the namespace UUID is a UUIDv1 derived from the MD5 hash of the namespace string.

Default value: False
ID: namespace_as_uuid


UUID4

UUID version 4 specifies a random UUID. This plugin is equivalent to the standard CMEM UUID operator without input value.


UUID5

UUID version 5 is a reproducible UUID based on the SHA1 hash of a namespace identifier (which is a UUID) and a name (which is a string).

Parameters

Namespace

The namespace can be entered manually or selected from the namespace UUIDs defined in RFC 4122:

  • Namespace DNS: 6ba7b810-9dad-11d1-80b4-00c04fd430c8 (namespace_dns)
  • Namespace URL: 6ba7b811-9dad-11d1-80b4-00c04fd430c8 (namespace_url)
  • Namespace OID: 6ba7b812-9dad-11d1-80b4-00c04fd430c8 (namespace_oid)
  • Namespace X500: 6ba7b814-9dad-11d1-80b4-00c04fd430c8 (namespace_x500)

If none of the predefined namespace UUIDs is selected, the input namespace is either directly interpreted as a UUID, or used to derive a UUID (see parameter Namespace as UUID).

Default value: none
ID: namespace

Namespace as UUID

Applies only if none of the pre-defined namespaces is selected. If enabled, the namespace string needs to be a valid UUID. Otherwise, the namespace UUID is a UUIDv1 derived from the SHA1 hash of the namespace string.

Default value: False
ID: namespace_as_uuid


UUID6

UUID6 version is generated from a host ID, sequence number, and the current time. UUID version 6 is a field-compatible version of UUIDv1, reordered for improved DB locality.

Parameters

Node

Node value in the form "01:23:45:67:89:AB", "01-23-45-67-89-AB", or "0123456789AB". If not given, a random 48-bit sequence number is chosen.

Default value: None
ID: node

Clock sequence

If clock sequence is given, it is used as the sequence number, otherwise a random 14-bit number is chosen.

Default value: None
ID: clock_seq


UUID7

UUID version 7 features a time-ordered value field derived from the widely implemented and well known Unix Epoch timestamp source, the number of milliseconds since midnight 1 Jan 1970 UTC, leap seconds excluded, as well as improved entropy characteristics over versions 1 or 6.


UUID8

UUID version 8 features a time-ordered value field derived from the widely implemented and well known Unix Epoch timestamp source, the number of nanoseconds since midnight 1 Jan 1970 UTC, leap seconds excluded.


UUID1 to UUID6

Generate a UUID version 6 from a UUID version 1. The input needs to be a valid UUIDv1 hexdecimal string.


UUID Version

Outputs the UUID version from a UUID input string.


UUID Convert

Convert a UUID from one format to another. The plugin accepts strings in the correct format, however, the log will show a warning if the input does not comply with the standard specified in RFC 4122 and the proposed updates.

Parameters

From

The input format

Options:

  • UUID/32-character hexadecimal string (uuid_hex):

    A standard UUID or a UUID as a 32-character lowercase hexadecimal string.

  • 128-bit integer (int):

    The UUID as a 128-bit integer.

  • URN (urn):

    The UUID as a URN.

Default value: UUID/32-character lowercase hexadecimal string
ID: from_format

To

The output format

Options:

  • UUID (uuid):

    A standard UUID.

  • 32-character lowercase hexadecimal string (hex):

    The UUID as a 32-character lowercase hexadecimal string.

  • 128-bit integer (int):

    The UUID as a 128-bit integer.

  • URN (urn):

    The UUID as a URN as specified in RFC 4122.

Default value: 32-character lowercase hexadecimal string
ID: to_format

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmem_plugin_uuid-1.0.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

cmem_plugin_uuid-1.0.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file cmem_plugin_uuid-1.0.0.tar.gz.

File metadata

  • Download URL: cmem_plugin_uuid-1.0.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.7 Linux/6.2.0-1019-azure

File hashes

Hashes for cmem_plugin_uuid-1.0.0.tar.gz
Algorithm Hash digest
SHA256 06a22b76eb28dbaf42c7c69f60a05230f5f33c3bd638410eb0735e39cc8aa81c
MD5 090368feede5460248f42b287dcafe57
BLAKE2b-256 ade7e2da6f43ea47bd71036012a883399333775459833eb4e2c66d3009f10c8c

See more details on using hashes here.

File details

Details for the file cmem_plugin_uuid-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: cmem_plugin_uuid-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.7 Linux/6.2.0-1019-azure

File hashes

Hashes for cmem_plugin_uuid-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e40f0e4b7546c9309cdca298ae5dc1e6106550e50e9e09e60d64b7cd762f52e5
MD5 4174be0257f1866e19a88118427a719c
BLAKE2b-256 dd212e1160dd8f1cdacbeb7c4b87b68230f627ca4477939afb488d8a90b073d1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page