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.5.0" # contracts, authoring, github.utils, inputs
pip install "living-doc-utilities[github]==0.5.0" # adds the GitHub rate limiter and decorators
pip install "living-doc-utilities[html]==0.5.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.5.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.5.0.tar.gz | 94.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| living_doc_utilities-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 228.9 kB
Release files / living_doc_utilities-0.5.0.tar.gz
| Download URL | living_doc_utilities-0.5.0.tar.gz |
|---|---|
| Size | 94.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b04a5ad46a6011b373cdd36864027fb5e71ba3ff69017da7526b3755cb30f5a
|
|
BLAKE2b-256 checksum How to use checksums |
af6ecc4b19030a71b7245d4abd43d00cf053b627a74a793e2565f3eb9a7e0feb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / living_doc_utilities-0.5.0-py3-none-any.whl
| Download URL | living_doc_utilities-0.5.0-py3-none-any.whl |
|---|---|
| Size | 134.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
88bef0dfc05db6f2eea7c6bf97fafc1952790577169ab406eb9b62ac266ae918
|
|
BLAKE2b-256 checksum How to use checksums |
47aad3d4ca2a112b5b1c473730470c0b121bb61c563f7421437bf774d10d0df8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|