# 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()`](https://docs.python.org/3/library/uuid.html#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`
<br>
## 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](https://www.rfc-editor.org/rfc/rfc4122):
- 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`
<br>
## UUID4
UUID version 4 specifies a random UUID. This plugin is equivalent to the standard CMEM UUID operator without input value.
<br>
## 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](https://www.rfc-editor.org/rfc/rfc4122):
- 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`
<br>
## 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`
<br>
## 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.
<br>
## 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.
<br>
## UUID1 to UUID6
Generate a UUID version 6 from a UUID version 1. The input needs to be a valid UUIDv1
hexdecimal string.
<br>
## UUID Version
Outputs the UUID version from a UUID input string.
<br>
## 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](https://www.rfc-editor.org/rfc/rfc4122) and the
[proposed updates](https://www.ietf.org/archive/id/draft-peabody-dispatch-new-uuid-format-01.html).
### 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](https://www.rfc-editor.org/rfc/rfc4122).
Default value: _32-character lowercase hexadecimal string_
ID: `to_format`
Raw data
{
"_id": null,
"home_page": "https://github.com/eccenca/cmem-plugin-uuid",
"name": "cmem-plugin-uuid",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11,<4.0",
"maintainer_email": "",
"keywords": "eccenca Corporate Memory,plugin,UUID",
"author": "eccenca GmbH",
"author_email": "cmempy-developer@eccenca.com",
"download_url": "https://files.pythonhosted.org/packages/ad/e7/e2da6f43ea47bd71036012a883399333775459833eb4e2c66d3009f10c8c/cmem_plugin_uuid-1.0.0.tar.gz",
"platform": null,
"description": "# cmem-plugin-uuid\n\nCreate universally unique identifiers (UUIDs) versions 1, 3, 4, 5, 6, 7 and 8 in transformations.\n\n## Installation\n\n`cmemc -c my-cmem admin workspace python install cmem-plugin-uuid`\n\n## UUID1\n\nUUID1 version is generated from a host ID, sequence number, and the current time.\n\n### Parameters\n\n#### Node\n\nNode value in the form \"01:23:45:67:89:AB\", \"01-23-45-67-89-AB\", or \"0123456789AB\".\nIf not given, [`uuid.getnode()`](https://docs.python.org/3/library/uuid.html#uuid.getnode) is used to \nattempt to obtain the hardware address. If this is unsuccessful a random 48-bit number is chosen.\n\nDefault value: _None_ \nID: `node`\n\n#### Clock sequence\n\nIf clock sequence is given, it is used as the sequence number, otherwise a random 14-bit sequence number is chosen.\n\nDefault value: _None_ \nID: `clock_seq`\n\n<br>\n\n## UUID3\n\nUUID version 3 is a reproducible UUID based on the MD5 hash of a namespace identifier (which is a UUID) and a name\n(which is a string).\n\n\n### Parameters\n\n#### Namespace\n\nThe namespace can be entered manually or selected from the namespace UUIDs defined in\n[RFC 4122](https://www.rfc-editor.org/rfc/rfc4122):\n\n- Namespace DNS: 6ba7b810-9dad-11d1-80b4-00c04fd430c8 (*namespace_dns*)\n- Namespace URL: 6ba7b811-9dad-11d1-80b4-00c04fd430c8 (*namespace_url*)\n- Namespace OID: 6ba7b812-9dad-11d1-80b4-00c04fd430c8 (*namespace_oid*)\n- Namespace X500: 6ba7b814-9dad-11d1-80b4-00c04fd430c8 (*namespace_x500*)\n\nIf none of the predefined namespace UUIDs is selected, the input namespace is either directly\ninterpreted as a UUID, or used to derive a UUID (see parameter _Namespace as UUID_). If no namespace is given,\nthe output is the same as that of the standard CMEM UUID operator with input value.\n\nDefault value: _none_ \nID: `namespace`\n\n#### Use input as namespace\n\nIf enabled, the input value is used for the namespace.\n\nDefault value: _False_ \nID: `input_as_namespace`\n\n#### Namespace as UUID\n\nApplies only if none of the pre-defined namespaces is selected. If enabled, the namespace string\nneeds to be a valid UUID. Otherwise, the namespace UUID is a UUIDv1 derived from the MD5 \nhash of the namespace string.\n\nDefault value: _False_ \nID: `namespace_as_uuid`\n\n<br>\n\n\n## UUID4\n\nUUID version 4 specifies a random UUID. This plugin is equivalent to the standard CMEM UUID operator without input value.\n\n<br>\n\n\n## UUID5\n\nUUID version 5 is a reproducible UUID based on the SHA1 hash of a namespace identifier (which is a UUID) and a\nname (which is a string).\n\n### Parameters\n\n#### Namespace\n\nThe namespace can be entered manually or selected from the namespace UUIDs defined in\n[RFC 4122](https://www.rfc-editor.org/rfc/rfc4122):\n\n- Namespace DNS: 6ba7b810-9dad-11d1-80b4-00c04fd430c8 (*namespace_dns*)\n- Namespace URL: 6ba7b811-9dad-11d1-80b4-00c04fd430c8 (*namespace_url*)\n- Namespace OID: 6ba7b812-9dad-11d1-80b4-00c04fd430c8 (*namespace_oid*)\n- Namespace X500: 6ba7b814-9dad-11d1-80b4-00c04fd430c8 (*namespace_x500*)\n\nIf none of the predefined namespace UUIDs is selected, the input namespace is either directly\ninterpreted as a UUID, or used to derive a UUID (see parameter _Namespace as UUID_).\n\nDefault value: _none_ \nID: `namespace`\n\n#### Namespace as UUID\n\nApplies only if none of the pre-defined namespaces is selected. If enabled, the namespace string\nneeds to be a valid UUID. Otherwise, the namespace UUID is a UUIDv1 derived from the SHA1 \nhash of the namespace string.\n\nDefault value: _False_ \nID: `namespace_as_uuid`\n\n<br>\n\n## UUID6\n\nUUID6 version is generated from a host ID, sequence number, and the current time.\nUUID version 6 is a field-compatible version of UUIDv1, reordered for improved DB locality. \n\n### Parameters\n\n#### Node\n\nNode value in the form \"01:23:45:67:89:AB\", \"01-23-45-67-89-AB\", or \"0123456789AB\".\nIf not given, a random 48-bit sequence number is chosen.\n\nDefault value: _None_ \nID: `node`\n\n#### Clock sequence\n\nIf clock sequence is given, it is used as the sequence number, otherwise a random 14-bit number is chosen.\n\nDefault value: _None_ \nID: `clock_seq`\n\n<br>\n\n## UUID7\n\nUUID version 7 features a time-ordered value field derived from the\nwidely implemented and well known Unix Epoch timestamp source, the\nnumber of milliseconds since midnight 1 Jan 1970 UTC, leap seconds\nexcluded, as well as improved entropy characteristics over versions\n1 or 6.\n\n<br>\n\n## UUID8\n\nUUID version 8 features a time-ordered value field derived from the\nwidely implemented and well known Unix Epoch timestamp source, the\nnumber of nanoseconds since midnight 1 Jan 1970 UTC, leap seconds\nexcluded.\n\n<br>\n\n## UUID1 to UUID6\n\nGenerate a UUID version 6 from a UUID version 1. The input needs to be a valid UUIDv1\nhexdecimal string.\n\n<br>\n\n## UUID Version\n\nOutputs the UUID version from a UUID input string.\n\n<br>\n\n## UUID Convert\n\nConvert a UUID from one format to another. The plugin accepts strings in the correct format, however, the log will show\na warning if the input does not comply with the standard specified in [RFC 4122](https://www.rfc-editor.org/rfc/rfc4122) and the \n[proposed updates](https://www.ietf.org/archive/id/draft-peabody-dispatch-new-uuid-format-01.html).\n\n### Parameters\n\n#### From\n\nThe input format\n\nOptions:\n\n- **UUID/32-character hexadecimal string** (*uuid_hex*):\n\n A standard UUID or a UUID as a 32-character lowercase hexadecimal string.\n- **128-bit integer** (_int_):\n\n The UUID as a 128-bit integer.\n- **URN** (_urn_):\n\n The UUID as a URN.\n\nDefault value: _UUID/32-character lowercase hexadecimal string_ \nID: `from_format`\n\n#### To\n\nThe output format\n\nOptions:\n\n- **UUID** (_uuid_):\n\n A standard UUID.\n- **32-character lowercase hexadecimal string** (_hex_):\n\n The UUID as a 32-character lowercase hexadecimal string.\n- **128-bit integer** (_int_):\n\n The UUID as a 128-bit integer.\n- **URN** (_urn_):\n\n The UUID as a URN as specified in [RFC 4122](https://www.rfc-editor.org/rfc/rfc4122).\n\nDefault value: _32-character lowercase hexadecimal string_ \nID: `to_format`\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Create universally unique identifiers (UUIDs) versions 1, 3, 4, 5, 6, 7 and 8 in transformations.",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://github.com/eccenca/cmem-plugin-uuid"
},
"split_keywords": [
"eccenca corporate memory",
"plugin",
"uuid"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "dd212e1160dd8f1cdacbeb7c4b87b68230f627ca4477939afb488d8a90b073d1",
"md5": "4174be0257f1866e19a88118427a719c",
"sha256": "e40f0e4b7546c9309cdca298ae5dc1e6106550e50e9e09e60d64b7cd762f52e5"
},
"downloads": -1,
"filename": "cmem_plugin_uuid-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4174be0257f1866e19a88118427a719c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11,<4.0",
"size": 11252,
"upload_time": "2024-02-12T10:48:51",
"upload_time_iso_8601": "2024-02-12T10:48:51.181137Z",
"url": "https://files.pythonhosted.org/packages/dd/21/2e1160dd8f1cdacbeb7c4b87b68230f627ca4477939afb488d8a90b073d1/cmem_plugin_uuid-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ade7e2da6f43ea47bd71036012a883399333775459833eb4e2c66d3009f10c8c",
"md5": "090368feede5460248f42b287dcafe57",
"sha256": "06a22b76eb28dbaf42c7c69f60a05230f5f33c3bd638410eb0735e39cc8aa81c"
},
"downloads": -1,
"filename": "cmem_plugin_uuid-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "090368feede5460248f42b287dcafe57",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11,<4.0",
"size": 11317,
"upload_time": "2024-02-12T10:48:52",
"upload_time_iso_8601": "2024-02-12T10:48:52.793335Z",
"url": "https://files.pythonhosted.org/packages/ad/e7/e2da6f43ea47bd71036012a883399333775459833eb4e2c66d3009f10c8c/cmem_plugin_uuid-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-12 10:48:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "eccenca",
"github_project": "cmem-plugin-uuid",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "cmem-plugin-uuid"
}