A dataset ID in the catalog can be any string, but because of DataLad-catalog storage layout it should not contain "/" (and likely also ":" for Windows compatibility). For this reason, we stop using PIDs directly, and encode them with shortuuid. A shortuuid, initialized with name starting with http(s), is essentially a UUIDv5 with ns:URL, just with a different character encoding (and can be converted back to UUIDv5). We still use UUIDv4 for datasets having PIDs in the pid.datalad.org namespace. It's difficult to tell whether the dichotomy is helpful in anything, but it should not really matter -- the dataset ID could be encoded in many different ways. Closes #3
16 lines
280 B
TOML
16 lines
280 B
TOML
[project]
|
|
name = "pool-to-catalog"
|
|
version = "0.1.0"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"datalad-catalog>=1.1.1",
|
|
"rdflib>=7.4.0",
|
|
"requests-cache>=1.2.1",
|
|
"shortuuid>=1.0.13",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"icecream>=2.1.8",
|
|
"ipython>=9.6.0",
|
|
]
|