urirun-declarative
AI Cost Tracking
- 🤖 LLM usage: $0.0132 (2 commits)
- 👤 Human dev: ~$538 (5.4h @ $100/h, 30min dedup)
Generated on 2026-07-05 using openrouter/qwen/qwen3-coder-next
Define urirun connector routes declaratively — a spec dict (scheme, target, routes with
method/path/schema) becomes typed URI bindings with no Python handler code. The urirun fetch
adapter then resolves each route. Extracted from urirun.connectors.declarative as a standalone,
dependency-free package.
Pure stdlib (pathlib, typing) — no urirun dependency — so a declarative connector
(e.g. urirun-connector-ksef) can depend on just this, not the whole backend.
Why it's its own package
extraction_audit.py reports it a clean leaf (zero urirun imports, stdlib only). It is a distinct,
reusable capability — spec → bindings — consumed by declarative connectors. Same lift case as
urirun-cdp / urirun-uinput / urirun-openapi-import.
Install
pip install -e . # editable, from this repo
Use
from urirun_declarative import declarative
spec = declarative.load_spec("ksef.routes.yaml")
bindings = declarative.bindings_from_spec(spec)
Back-compat
The old import path still works via a re-export shim in the urirun package:
from urirun.connectors import declarative # → urirun_declarative.declarative (sys.modules shim)
A connector that imports this at module top (e.g. ksef) declares urirun-declarative in its own
dependencies, so it is installed wherever that connector runs.
Tests
PYTHONPATH=../urirun/adapters/python python -m pytest tests/ -q
License
Licensed under Apache-2.0.
Metadata
Release files for urirun-declarative 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| urirun_declarative-0.1.1.tar.gz | 9.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| urirun_declarative-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / urirun_declarative-0.1.1.tar.gz
| Download URL | urirun_declarative-0.1.1.tar.gz |
|---|---|
| Size | 9.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e90ae176ba92fe271f0ef3dc574ecd06be8f44e466e4cd71addcfa084d7813a
|
|
BLAKE2b-256 checksum How to use checksums |
f275e8756b0bdd2068941c0d9e8cedb3af8079488a0cb5215547848a3e7dba32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|
Release files / urirun_declarative-0.1.1-py3-none-any.whl
| Download URL | urirun_declarative-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6059bd28c274cc6707655ed7c0895fed6a81bcb9b4a63272071bedcc8e8a79a1
|
|
BLAKE2b-256 checksum How to use checksums |
d1a26e910efb673192d40a2b476b2e791d1a3ffef6862f9ae228004e216b6d77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|