invenio-pidbox
InvenioRDM integration for people and organization profile templates backed by the commonmeta SQLite store.
Features
- Ships people and organization profile templates for InvenioRDM
- Injects template context for /people/ and /organizations/ routes
- Reads ORCID and ROR profiles from the commonmeta SQLite store via commonmeta-py and commonmeta-rs
- Uses the pid_annotations cache layer instead of application-specific people or organizations tables
- Mirrors the profile integration approach used in rogue-scholar
Requirements
- Python 3.14+
- A commonmeta SQLite database readable through commonmeta-rs
The extension resolves profile data from the path configured in PIDBOX_SQLITE_PATH. Internally, commonmeta-rs reads pid_annotations records with source_id 4 for people (ORCID) and source_id 3 for organizations (ROR).
Installation
uv add invenio-pidbox
This package depends on commonmeta-py, commonmeta-rs, and invenio-app-rdm at runtime, so installing invenio-pidbox pulls in the profile backend automatically.
If the profile store lives outside the default commonmeta location, configure PIDBOX_SQLITE_PATH in your Invenio application.
How It Works
When a request path matches /people/ or /organizations/, the extension loads the corresponding commonmeta record from SQLite and exposes template-friendly objects such as person, organization, employment, identifiers, relations, location, orcid, ror, and search_config.
The extension also registers default profile routes and a country_name template filter so it can run against a standard invenio-app-rdm installation.
Development
uv sync --extra tests
uv run pytest
Entry points
| Group | Name | Value |
|---|---|---|
invenio_base.apps |
invenio_pidbox |
invenio_pidbox.ext:InvenioPidbox |
invenio_base.api_apps |
invenio_pidbox |
invenio_pidbox.ext:InvenioPidbox |
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file invenio_pidbox-0.1.0.tar.gz.
File metadata
- Download URL: invenio_pidbox-0.1.0.tar.gz
- Upload date:
- Size: 15.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1083fc7cd747965fb99458fc4e0cb2a2b16bbe8294d08eb9b68f01ac4cc5f2b0
|
|
| MD5 |
b2865e1e06807493cc82db4f6ea9cf00
|
|
| BLAKE2b-256 |
65b8e525c981ee9ff109f31d1640e1cf2c5a68a05210c08aecb17f25ece0240f
|
File details
Details for the file invenio_pidbox-0.1.0-py3-none-any.whl.
File metadata
- Download URL: invenio_pidbox-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf6503d84b9b1a02c3d0149d13d028ec4af8d430349e97f84b768bd7c9478a38
|
|
| MD5 |
b89bca0dd95a3a1aac16898739fbc6b7
|
|
| BLAKE2b-256 |
982e85fcbbdd54a2e9db0ee792b370e52662f06938cb5bff13a7b80262561059
|