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.

eccenca Corporate Memory

This is a plugin for eccenca Corporate Memory. You can install it with the cmemc command line client like this:

cmemc admin workspace python install cmem-plugin-uuid

workflow pypi version license poetry ruff mypy copier

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-3.0.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cmem_plugin_uuid-3.0.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cmem_plugin_uuid-3.0.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.14 Linux/6.17.0-1018-azure

File hashes

Hashes for cmem_plugin_uuid-3.0.0.tar.gz
Algorithm Hash digest
SHA256 0dd9e9b8329f9a83513d54ccd92d8d8662212eab3abdabdcc3df8e230e850cb5
MD5 25fc57dcee27f4f577ff54baac5e609d
BLAKE2b-256 99188b6c342e7e51c167ab401acc235ebeb43625ee75595152b9af684c87babe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cmem_plugin_uuid-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.14 Linux/6.17.0-1018-azure

File hashes

Hashes for cmem_plugin_uuid-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da759ee3fab2709244a6e25600c63d99cd7f7426a7036d26435b64b6b7c36e48
MD5 2ce4efef46a6f10f5d6382748a1f1518
BLAKE2b-256 6ebf008356a9849155cf4f80c6f655a2fb1121c2c9a0373635dc6706a362123b

See more details on using hashes here.

Supported by

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