Woodglue
JSON-RPC 2.0 server with auto-generated docs, built on lythonic.
Architecture
┌─────────────────────────────────────────────────┐
│ woodglue │
│ HTTP server · JSON-RPC · Auth · UI · Docs │
├─────────────────────────────────────────────────┤
│ lythonic │
│ Namespaces · DAGs · Caching · Triggers │
└─────────────────────────────────────────────────┘
lythonic provides the core runtime: namespaces for organizing methods, DAG-based orchestration, result caching, and scheduled triggers.
woodglue adds the serving layer: a Tornado HTTP server, JSON-RPC 2.0 dispatch, bearer token authentication, a built-in browser UI, and automatic docs generation (llms.txt, OpenAPI, per-method markdown).
Features
- JSON-RPC 2.0 with multi-namespace routing (
billing.create_invoice,analytics.query) - Auto-generated docs:
llms.txtindex, per-method markdown, OpenAPI 3.0.3 - Built-in UI for API browsing, trigger management, and DAG visualization
- Bearer token authentication
- Typed async client with auto-resolved return types via
x-global-ref - YAML-driven namespace configuration with per-method tags
- DAG orchestration with scheduled triggers (via lythonic)
Quick Start
pip install woodglue
Define a namespace with methods:
from lythonic.compose.namespace import Namespace
from pydantic import BaseModel
class GreetIn(BaseModel):
name: str
class GreetOut(BaseModel):
message: str
def greet(input: GreetIn) -> GreetOut:
return GreetOut(message=f"Hello, {input.name}!")
ns = Namespace()
ns.register(greet, tags=["api"])
Start the server:
wgl start
Endpoints:
POST /rpc-- JSON-RPC 2.0GET /docs/llms.txt-- LLM-friendly method indexGET /docs/openapi.json-- OpenAPI 3.0.3 specGET /ui/-- browser UI
Documentation
Release files for woodglue 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| woodglue-0.0.6.tar.gz | 732.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| woodglue-0.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 803.0 kB
Release files / woodglue-0.0.6.tar.gz
| Download URL | woodglue-0.0.6.tar.gz |
|---|---|
| Size | 732.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2bc1bdf13974e322699b340e574508d16348c673dabc888b1ef0339771337782
|
|
BLAKE2b-256 checksum How to use checksums |
0169913852f9541da5c6bb06f0a4e73fb0a71b06b84ac0ce18acac718ef2fa19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 9, 2026.
Transparency logRelease files / woodglue-0.0.6-py3-none-any.whl
| Download URL | woodglue-0.0.6-py3-none-any.whl |
|---|---|
| Size | 70.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c9bf300824bf86cabf27c083c6d7cd82df39344fa7c121aaeecbed307560b09
|
|
BLAKE2b-256 checksum How to use checksums |
9ed5ef265e291128ff37ac6753b7a497585790485ad7d53795c6b6ae5a117870
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 9, 2026.
Transparency log