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 clients 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-1.1.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

cmem_plugin_uuid-1.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cmem_plugin_uuid-1.1.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.11.11 Linux/6.8.0-1021-azure

File hashes

Hashes for cmem_plugin_uuid-1.1.0.tar.gz
Algorithm Hash digest
SHA256 b26bca27e89cf4e94b783910d90d4202ad4e1a7cc2076bf8f933f65d511e6340
MD5 e0bdc1191f04b54279457b6485baf0e3
BLAKE2b-256 9c2be9650edfe33ec3288b1366b8233e3dd7e59467489430b70a3085d5ae95e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cmem_plugin_uuid-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.11.11 Linux/6.8.0-1021-azure

File hashes

Hashes for cmem_plugin_uuid-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6674e8decaab07b7475e80ad45e0a1558e21ff0a37a880292039a396cfd46ae7
MD5 3e1d67cce8e5aeef3670bdd58f2e3384
BLAKE2b-256 470cd42f1650f3c34e6c75abd474b199579cd671d041593eb24b88eacaff9490

See more details on using hashes here.

Supported by

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