org-id
org-id is a small Python package for working with org-id.guide organisation identifiers.
It supports:
- loading a bundled snapshot of the
org-id.guideregistry - looking up and searching list metadata
- parsing and validating identifier strings
- creating normalized identifiers for known registers
- falling back to hashed IDs when no structured identifier is available
Install
uv pip install org-id
Usage
from org_id import Registry, make_id, make_org_id, parse_org_id
registry = Registry.default()
entry = registry.get("GB-COH")
assert entry is not None
assert entry.code == "GB-COH"
identifier = make_org_id("16957965", register="GB-COH", registry=registry)
assert identifier == "GB-COH-16957965"
fallback = make_id("openlobbying", "Samizdata Ltd", reg_nr=None)
parsed = parse_org_id("GB-COH-16957965")
assert parsed.scheme == "GB-COH"
assert parsed.identifier == "16957965"
If a register is missing from the bundled org-id.guide list, creation still proceeds and emits a warning. Deprecated registers also continue with a warning.
Search
registry = Registry.default()
gb_company_lists = registry.search(country="GB", structure="company")
best_gb_company_list = registry.best(country="GB", structure="company")
search() sorts higher-quality entries first.
Refreshing the bundled snapshot
Fetch a fresh copy of download.json and write it to a file:
uv run org-id-refresh ./download.json
To update the bundled package snapshot in this repo:
uv run org-id-refresh ./src/org_id/data/download.json
Development
uv run pytest
Publishing
This repo includes a GitHub Actions workflow at .github/workflows/publish.yml.
It will:
- run the test suite
- build the package with
uv build - publish to PyPI when you push a tag like
v0.1.0
Metadata
Release files for org-id 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| org_id-0.1.1.tar.gz | 173.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| org_id-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 349.4 kB
Release files / org_id-0.1.1.tar.gz
| Download URL | org_id-0.1.1.tar.gz |
|---|---|
| Size | 173.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
400a773882ee53348b98dfcb308cf422a907ad1d081739d0d21aaf0851074df7
|
|
BLAKE2b-256 checksum How to use checksums |
a6d1f525025f3b181ce694ee8a243f5452a298d0fbca6c14caf3670faedc0d9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 19, 2026.
Transparency logRelease files / org_id-0.1.1-py3-none-any.whl
| Download URL | org_id-0.1.1-py3-none-any.whl |
|---|---|
| Size | 175.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e6e3c3955860ea32ba98b526b6220f97fc66dd983c05b5ae3acbaa4d87a571ac
|
|
BLAKE2b-256 checksum How to use checksums |
c7854c0ffd0011f32fc7d5ca7ca9ef04b2516ee297711a841941c475fcd394b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 19, 2026.
Transparency log