Skip to main content

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.guide registry
  • 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

org_id-0.1.1.tar.gz (173.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

org_id-0.1.1-py3-none-any.whl (175.7 kB view details)

Uploaded Python 3

File details

Details for the file org_id-0.1.1.tar.gz.

File metadata

  • Download URL: org_id-0.1.1.tar.gz
  • Upload date:
  • Size: 173.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for org_id-0.1.1.tar.gz
Algorithm Hash digest
SHA256 400a773882ee53348b98dfcb308cf422a907ad1d081739d0d21aaf0851074df7
MD5 54d8883e30eb97b06f55f091dd590332
BLAKE2b-256 a6d1f525025f3b181ce694ee8a243f5452a298d0fbca6c14caf3670faedc0d9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for org_id-0.1.1.tar.gz:

Publisher: publish.yml on openlobbying/org-id

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file org_id-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: org_id-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 175.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for org_id-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e6e3c3955860ea32ba98b526b6220f97fc66dd983c05b5ae3acbaa4d87a571ac
MD5 7488035958989cfdf9d6e3283e658829
BLAKE2b-256 c7854c0ffd0011f32fc7d5ca7ca9ef04b2516ee297711a841941c475fcd394b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for org_id-0.1.1-py3-none-any.whl:

Publisher: publish.yml on openlobbying/org-id

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

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