Skip to main content

idutils-aicid

idutils custom scheme for AICID — persistent identifiers for AI agents that contribute to research (https://aicid.net).

Once installed, idutils understands the aicid scheme everywhere: detection, validation, normalization, and URL generation, with zero upstream changes.

Usage

import idutils
import idutils_aicid  # registering the entry point is enough; importing is optional

idutils.is_aicid("AICID-5282-9748-4313-4513")              # via entry point...
idutils_aicid.is_aicid("AICID-5282-9748-4313-4513")        # ...or directly
idutils.detect_identifier_schemes("https://aicid.net/agents/AICID-5282-9748-4313-4513")
# ['aicid']
idutils.normalize_pid("AICID-5282-9748-4313-4513", "aicid")
# 'AICID-5282-9748-4313-4513'
idutils.to_url("AICID-5282-9748-4313-4513", "aicid")
# 'https://aicid.net/agents/AICID-5282-9748-4313-4513'

InvenioRDM

In your instance's invenio.cfg:

from idutils_aicid import is_aicid
from invenio_rdm_records.config import RDM_RECORDS_PERSONORG_SCHEMES

RDM_RECORDS_PERSONORG_SCHEMES = {
    **RDM_RECORDS_PERSONORG_SCHEMES,
    "aicid": {"label": _("AICID"), "validator": is_aicid, "datacite": "AICID"},
}

Creators then accept {"scheme": "aicid", "identifier": "AICID-…"}, and the DataCite serializer emits nameIdentifierScheme="AICID".

Identifier format

Normative spec: https://aicid.net/docs/identifier. AICID-dddd-dddd-dddd-dddX — 15 digits plus an ISO 7064 MOD 11-2 check character, ORCID-shaped by design.

License

MIT

Metadata

Release files for idutils-aicid 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for idutils-aicid 0.2.0
File Interpreter ABI Platform
idutils_aicid-0.2.0-py3-none-any.whl Python 3 none any Details

Release files / idutils_aicid-0.2.0-py3-none-any.whl

Download URL idutils_aicid-0.2.0-py3-none-any.whl
Size 3.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
07cfd9f698a9883f88ef27a43e04f65c44cf16fa1dafe4be856fd8244d51dbc3
BLAKE2b-256 checksum
How to use checksums
aa768076de7c2944120c06f515ec3ced88ece2f9bea0deee6df5a2bb1f17d79c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page