Z Doc Builder Experience by Swarmauri
Project description
ZDX
Z Doc Builder Experience by Swarmauri. Reusable tooling to build and serve MkDocs-based documentation sites for Swarmauri projects.
Features
- Material for MkDocs configuration
- mkdocstrings support for API reference generation
- README harvesting across workspaces
- Dockerfile for containerized deployments
Installation
pip install zdx
Getting Started
- Place your documentation sources in a dedicated directory (e.g.,
docs/swarmauri-sdk). - Customize
mkdocs.ymlandapi_manifest.yamlfor your project. - Install
zdxand use thezdxCLI to build and preview the site.
CLI Usage
Generate from a manifest
zdx generate --docs-dir /path/to/docs --manifest api_manifest.yaml
Build READMEs into pages
zdx readmes --docs-dir /path/to/docs
Serve the site
zdx serve --docs-dir /path/to/docs
Generate and serve together
zdx serve --generate --docs-dir /path/to/docs --manifest api_manifest.yaml
Control failure handling
Use the --on-error flag with any command that installs packages or generates
documentation to decide how strictly zdx reacts to subprocess failures:
zdx generate --on-error warn
Valid values are:
fail– stop immediately if a package installation or API build failswarn– print a warning but keep goingignore– suppress warnings and continue
You can also define the ZDX_FAILURE_MODE environment variable to set the
default for every invocation. For example, the provided Docker assets default to
warn so that optional packages do not abort a deployment.
API Manifest
zdx uses a YAML manifest to decide which Python packages to document and how
those pages are organized. Each project keeps its manifest alongside the docs
sources. This repository includes manifests for:
| Path | Purpose |
|---|---|
infra/docs/swarmauri-sdk/api_manifest.yaml |
Generates API docs for the SDK packages. |
infra/docs/peagen/api_manifest.yaml |
Drives documentation for the peagen tool. |
infra/docs/tigrbl/api_manifest.yaml |
Builds docs for the tigrbl project. |
pkgs/community/zdx/api_manifest.yaml |
Template manifest for new sites. |
Manifest Schema
An api_manifest.yaml file defines a list of targets. Each target produces
Markdown pages under docs/api/<name>/ and a corresponding navigation entry in
the MkDocs configuration.
targets:
- name: Core
package: swarmauri_core
search_path: /pkgs/core
include:
- swarmauri_core.*
exclude:
- "*.tests.*"
Every field controls a different part of the generation process:
| Field | Description |
|---|---|
name |
Label used for the top‑level navigation item and the folder under docs/api/. |
search_path |
Directory containing the source package(s). The generator scans this path for modules. |
package |
Root import name when documenting a single package. Omit when using discover. |
discover |
When true, automatically finds all packages under search_path and builds docs for each. Generates separate folders and nav entries per package. |
include |
Glob patterns of fully qualified modules to include. Classes from matching modules get individual Markdown files. |
exclude |
Glob patterns of modules to skip. Use to drop tests or experimental code from the docs. |
For each module that survives the include/exclude filters, zdx writes a page
per public class. Pages land in
docs/api/<name>/<module path>/<Class>.md and a simple index.md is created if
one does not exist. The navigation section for the target is appended to
mkdocs.yml, ensuring the new pages appear in the rendered site.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zdx-0.2.3.dev2.tar.gz.
File metadata
- Download URL: zdx-0.2.3.dev2.tar.gz
- Upload date:
- Size: 19.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
430d0bcbc5168e24014d48a85fdd1bc0642045b0038bca80f5f0405ad7d42765
|
|
| MD5 |
42ae2e4c445f20ebc1fe88fdd602e7af
|
|
| BLAKE2b-256 |
53739521df4d6d970844e42d001534a57eeef48ce10ab9b9d3ef4689028c8738
|
File details
Details for the file zdx-0.2.3.dev2-py3-none-any.whl.
File metadata
- Download URL: zdx-0.2.3.dev2-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c1ee557781b44c3e9f6e4ba6eff45464c33b9b6c2960dd7923d9674d0bc4e67
|
|
| MD5 |
a04d7287918a19b9b11817544948daa7
|
|
| BLAKE2b-256 |
6195e10a1e9d0b6bfbff6ad5903c84a3c71086af4f22e04e71c2ef8a9e262af4
|