Living Documentation Utilities
Purpose
living-doc-utilities is the shared Python library of the Living Documentation ecosystem. The living-doc-*
collectors, transforms and generators import it as a pinned PyPI package; it has no CLI and no GitHub Action.
This page gives the overview, a usage tip, and the page to read next.
Contents
Overview
- Contracts (
living_doc_utilities.contracts): typed models of the six documentation contracts, their JSON Schemas, and the helpers every component shares → Documentation contracts - Authoring (
living_doc_utilities.authoring): normalisation, the acceptance-criterion grammar, and the parsers for every authoring surface → Authoring - GitHub (
living_doc_utilities.github): action input and output, a rate limiter, a call decorator that never swallows a failure → GitHub helpers - Inputs (
living_doc_utilities.inputs): a base class for a GitHub Action's inputs → Action inputs and logging - Runtime helpers:
setup_logging()and shared constants → Action inputs and logging - AI-free: every pipeline step is deterministic tooling, with no LLM call → AI-free principle
Usage tip
Python 3.10 or later. Pin the version exactly, and add an extra only for the module that needs it:
pip install "living-doc-utilities==0.6.0" # contracts, authoring, github.utils, inputs
pip install "living-doc-utilities[github]==0.6.0" # adds the GitHub rate limiter and decorators
pip install "living-doc-utilities[html]==0.6.0" # adds the HTML sanitiser
from living_doc_utilities.contracts.io import read_artifact, write_artifact
from living_doc_utilities.contracts.testing import full_sample
write_artifact(full_sample("doc-entities-v1.0.0"), "doc-entities.json")
result = read_artifact("doc-entities.json", expected="doc-entities")
assert result.schema_version == "doc-entities-v1.0.0"
Which module needs which extra: Extras. Pinning rules: Versioning.
Where next
| I want to… | Read |
|---|---|
| find a module and what it needs installed | API |
| read or write a contract file | Documentation contracts |
| parse authored documents | Authoring |
| look up an error or warning code | Errors and warnings |
| set up the repository, run the gates, release | Developer guide |
| contribute a change | Contributing |
Developer guide
Setup, quality gates, regeneration, release and documentation rules: DEVELOPER.md.
Contributing
Issues, branches, pull requests and the AI-free principle: CONTRIBUTING.md.
License
Apache License 2.0; see LICENSE.
Contact
Questions, bugs and feature requests: GitHub Issues.
Metadata
Release files for living-doc-utilities 0.6.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 | |
|---|---|---|---|
| living_doc_utilities-0.6.0.tar.gz | 99.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| living_doc_utilities-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 239.9 kB
Release files / living_doc_utilities-0.6.0.tar.gz
| Download URL | living_doc_utilities-0.6.0.tar.gz |
|---|---|
| Size | 99.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95ef4cdcd1ac20090a4b322ef23b59f0d017b71eecee8d62cd26494943e2fc02
|
|
BLAKE2b-256 checksum How to use checksums |
1d40e4398fad8cb0c1df26881a7aee2f51edb5b057ab49b0f5379a77cd10e6db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / living_doc_utilities-0.6.0-py3-none-any.whl
| Download URL | living_doc_utilities-0.6.0-py3-none-any.whl |
|---|---|
| Size | 140.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6212157984e373738577a3cc31e241185bf08d2e0ed62b1870e24a47ed092da0
|
|
BLAKE2b-256 checksum How to use checksums |
e39055dbcf42f7663b19a3741250e4976fc4620f51ae61fa0d1d67f2c66d3877
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|