lumid-hooks
Shared plugin contract surface for Lumid projects. Defines the protocols and shared types that downstream projects compose with their own resource vocabulary and project-specific extension points.
What's in scope
Generic protocols and shared types every project agrees on:
PrincipalContext— identity envelope returned byIdentityProvider.ResourceRef—(kind, id, metadata)triple for resource-scoped checks.IdentityProvider— bearer-token to principal resolution.SubmissionGuard— pre-submission gate.PermissionChecker— bulk filter (accessible_ids) and point check (require).ResourceRegistrar— resource lifecycle fan-out (register/deregister).UsageSink[Row]— generic per-row usage emission.HookBindings— runtime-checkable Protocol describing the five shared fields a plugin's bindings object exposes. Hosts gate against this Protocol at load time; structural typing means a plugin satisfies it by having the right field names without importing host packages.BaseBindings— frozen dataclass with the five fields default-factoried to empty tuples. Plugins targeting one host can returnBaseBindings(...)directly; plugins targeting multiple hosts subclassBaseBindingsand add each host's extra field names alongside.
What's out of scope
Project-specific resource types and actions, and project-specific extension
points (e.g. FlowMesh's SupplierResolver). Each project ships its own
Protocol that extends HookBindings plus a BaseBindings subclass with the
project's extra field.
Runtime dependency
pydantic>=2.12.3 for PrincipalContext and ResourceRef. No other runtime
dependencies — plugins can pip install lumid-hooks without pulling in any
project's heavy core stack.
Metadata
Release files for lumid-hooks 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lumid_hooks-0.2.0.tar.gz | 11.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lumid_hooks-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.7 kB
Release files / lumid_hooks-0.2.0.tar.gz
| Download URL | lumid_hooks-0.2.0.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c33d067c238337c16be88708d674448d83642e767bc0724e0ab1b5f6122010d
|
|
BLAKE2b-256 checksum How to use checksums |
34b7f2c4544b4df91ce80908f17cd5645611ec2538ddc6444bc00ad8e5961531
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 May 22, 2026.
Transparency logRelease files / lumid_hooks-0.2.0-py3-none-any.whl
| Download URL | lumid_hooks-0.2.0-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a3e471ee38cfe83eb46199a64c269bc0ad9f81154d820e68d45c604a16e1f2e7
|
|
BLAKE2b-256 checksum How to use checksums |
67ac1b39a49650a27f012b847b6be939866cec39d4aea96d50177ec8861d21ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 May 22, 2026.
Transparency log