Shared plugin contract surface for Lumid projects
Project description
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.
Project details
Release history Release notifications | RSS feed
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 lumid_hooks-0.1.0.tar.gz.
File metadata
- Download URL: lumid_hooks-0.1.0.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ae85cef586645391f21ea3d912de1bf2be77b6b6dd0690f3841bb238fa0315a
|
|
| MD5 |
a864853ec9d34d1d000485e03ba85974
|
|
| BLAKE2b-256 |
1fb4d660b386d13051669eae4c9056154c638302a1eea39fccb569075ed07243
|
Provenance
The following attestation bundles were made for lumid_hooks-0.1.0.tar.gz:
Publisher:
release.yml on mlsys-io/lumid.hooks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lumid_hooks-0.1.0.tar.gz -
Subject digest:
0ae85cef586645391f21ea3d912de1bf2be77b6b6dd0690f3841bb238fa0315a - Sigstore transparency entry: 1517702136
- Sigstore integration time:
-
Permalink:
mlsys-io/lumid.hooks@cc91d2c9a6a463a3966923b6d72c8d571736ac41 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mlsys-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cc91d2c9a6a463a3966923b6d72c8d571736ac41 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file lumid_hooks-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lumid_hooks-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cfd8f3ed36001711b70290a5043a213322deaced1046d4583a4739f11cb00a6
|
|
| MD5 |
0dfab21e5d686156574c17cc40785918
|
|
| BLAKE2b-256 |
857084678eb357151f84fd78e6ce8270a42180a2605a3a3168492201feed76bf
|
Provenance
The following attestation bundles were made for lumid_hooks-0.1.0-py3-none-any.whl:
Publisher:
release.yml on mlsys-io/lumid.hooks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lumid_hooks-0.1.0-py3-none-any.whl -
Subject digest:
8cfd8f3ed36001711b70290a5043a213322deaced1046d4583a4739f11cb00a6 - Sigstore transparency entry: 1517702228
- Sigstore integration time:
-
Permalink:
mlsys-io/lumid.hooks@cc91d2c9a6a463a3966923b6d72c8d571736ac41 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/mlsys-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cc91d2c9a6a463a3966923b6d72c8d571736ac41 -
Trigger Event:
workflow_dispatch
-
Statement type: