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.0b1.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.0b1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cmem_plugin_uuid-3.0.0b1.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.0b1.tar.gz
Algorithm Hash digest
SHA256 3eff567d00dd5359f4f9a479b337dd86d670175fec82ad21c183f6444f8df48e
MD5 3ec3d883088e4562c3f2a929811d0e8a
BLAKE2b-256 4686c50c60f0cddaea5db11f2ab92afa857a3e97a0e20106ee49c7558ebef2dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cmem_plugin_uuid-3.0.0b1-py3-none-any.whl
  • Upload date:
  • Size: 12.9 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.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 4dadc9cb687e9cec1078ee37b50e46be1317d485841c07daaab5cd77b37f09c0
MD5 681eae4066fe05bcadd11201c4c0ef06
BLAKE2b-256 7273c389a03e08e55cb8273de237e0a1db2c5feca60902077cc9fac09f14976d

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