Skip to main content

Z Doc Builder Experience by Swarmauri

Project description

Swarmauri Logo

PyPI - Downloads Hits PyPI - Python Version PyPI - License PyPI - zdx


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

  1. Place your documentation sources in a dedicated directory (e.g., docs/swarmauri-sdk).
  2. Customize mkdocs.yml and api_manifest.yaml for your project.
  3. Install zdx and use the zdx CLI 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 fails
  • warn – print a warning but keep going
  • ignore – 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zdx-0.2.3.dev2.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zdx-0.2.3.dev2-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

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

Hashes for zdx-0.2.3.dev2.tar.gz
Algorithm Hash digest
SHA256 430d0bcbc5168e24014d48a85fdd1bc0642045b0038bca80f5f0405ad7d42765
MD5 42ae2e4c445f20ebc1fe88fdd602e7af
BLAKE2b-256 53739521df4d6d970844e42d001534a57eeef48ce10ab9b9d3ef4689028c8738

See more details on using hashes here.

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

Hashes for zdx-0.2.3.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 1c1ee557781b44c3e9f6e4ba6eff45464c33b9b6c2960dd7923d9674d0bc4e67
MD5 a04d7287918a19b9b11817544948daa7
BLAKE2b-256 6195e10a1e9d0b6bfbff6ad5903c84a3c71086af4f22e04e71c2ef8a9e262af4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page