meadows-protocol
Pure declaration of the MEADOWS protocol: envelope, event names, JWT claims, permissions, labels. No behavior. See
MEADOWS-migration-intent.mdsection 3.1.
What this package contains
envelope.py—Messagemodel,MessageTypeenum,QuotedMessage, mention/everyone parsingevents.py—EventNameconstants (the closed set of Socket.IO events)jwt.py—JWTClaimsmodel,JWTRole,build_claims()helperpermissions.py—AVAILABLE_PERMISSIONS(single source of truth)labels.py—Labeltriplet(origin, label, semver); reserved origins:meadows,systemcodec.py— reference encoder/decoder, subordinated to the models (not the source of truth)
Install
cd meadows-protocol
uv pip install -e .
Test
uv run pytest -q
Usage
from meadows.protocol import (
Message,
MessageType,
EventName,
JWTClaims,
JWTRole,
build_claims,
Label,
AVAILABLE_PERMISSIONS,
)
The protocol boundary (section 3.2 sort rule)
The system contracts what it itself must understand. What only bots and humans need to understand stays opaque.
In protocol: envelope fields, event names, JWT claims, system-message bodies, the label signaling mechanism.
Not in protocol: the content payload of ordinary messages (opaque Markdown), domain schemas (SLO results, export formats, todo shapes).
Labels (section 3.5)
A sender declares a body-sort via a triplet: Label("meadows", "interactive-form", "1.0.0").
origin: who declares this label. Reserved:meadows,system. Extensible to bot/UI names later.label: the sort name.semver: version of this label's contract.
Forms is the first concrete use case (postponed to iteration 4).
Metadata
Release files for meadows-protocol 0.1.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 | |
|---|---|---|---|
| meadows_protocol-0.1.0.tar.gz | 57.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meadows_protocol-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.2 kB
Release files / meadows_protocol-0.1.0.tar.gz
| Download URL | meadows_protocol-0.1.0.tar.gz |
|---|---|
| Size | 57.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a372fc366a41cec9325b8162a4655d973e7bbb76a049ddc377e0e99af55acf89
|
|
BLAKE2b-256 checksum How to use checksums |
297b23c02408b437648d365a78b2063edf90aa0c69669dfc77c556d410bd6a6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / meadows_protocol-0.1.0-py3-none-any.whl
| Download URL | meadows_protocol-0.1.0-py3-none-any.whl |
|---|---|
| Size | 12.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
19e9b8a0cfc4b7fbea7c9efeaf2ff9b094c9d3736c97399ddbab7a561b19f32b
|
|
BLAKE2b-256 checksum How to use checksums |
ef8b9d36818a52734819872c6e6b8f3a3400452f875502873465d81ac94e0648
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|