Skip to main content

wikiops-sdk

wikiops-sdk is the public SDK for the WikiOps ecosystem.

It defines the shared language used by the WikiOps host, documentation plugins, and document providers. The package is intentionally small and focused: it provides portable domain models, public extension contracts, and compatibility rules, but it does not implement orchestration, a CLI, concrete providers, or concrete plugins.

What This Repository Contains

  • Provider-agnostic domain models for documentation planning and application.
  • Public protocols and Pydantic models for plugins and providers.
  • Compatibility helpers for SDK, plugin, provider, and Python runtime versions.
  • A strict automated test suite that validates the public SDK behavior.
  • A dedicated docs/ directory with conceptual guides and API reference material.

What This Repository Does Not Contain

  • The WikiOps host application.
  • A CLI.
  • A scheduler or orchestrator.
  • Provider implementations such as Azure DevOps Wiki or Confluence.
  • Documentation plugin implementations.

In the intended ecosystem, the relationship is:

plugin -> sdk <- host
provider -> sdk <- host

The SDK is the stable contract layer in the middle.

Why This Exists

WikiOps treats documentation as code. The long-term goal is to automate how Markdown-based documentation is read, transformed, generated, and persisted across multiple wiki systems while keeping business logic, provider infrastructure, and orchestration decoupled.

This SDK gives all participants a common model for concepts such as:

  • DocumentRef
  • Document
  • ChangeSet
  • ExecutionContext
  • ProviderCapability
  • ApplyResult

Repository Layout

src/wikiops_sdk/
  compat.py
  contracts/
  domain/
docs/
tests/

Documentation Map

Start here depending on your role:

For plugin authors:

  1. docs/getting-started.md
  2. docs/concepts.md
  3. docs/guides/write-a-plugin.md
  4. docs/api/contracts.md
  5. docs/api/domain.md

For provider authors:

  1. docs/getting-started.md
  2. docs/concepts.md
  3. docs/guides/write-a-provider.md
  4. docs/api/contracts.md
  5. docs/api/domain.md

For host authors:

  1. docs/architecture.md
  2. docs/concepts.md
  3. docs/compatibility.md
  4. docs/reference/constraints.md

Import Paths

The top-level package mainly exposes compatibility helpers:

from wikiops_sdk import ensure_plugin_api_compatible

Contracts and domain models are intentionally imported from subpackages:

from wikiops_sdk.contracts import DocumentationPlugin, DocumentProvider, PluginManifest
from wikiops_sdk.domain import ChangeSet, DocumentRef, ExecutionContext

Host Documentation

This repository documents the SDK only. The WikiOps host application should maintain its own documentation for orchestration, runtime loading, command-line workflows, and deployment concerns.

Status

The current SDK implementation is intentionally narrow and precise:

  • Markdown is the only built-in content format.
  • The current operation model supports create, update, and create-child flows.
  • Compatibility defaults to a same_major policy.
  • The SDK is designed to be provider-agnostic and orchestration-agnostic.

Tests

The repository ships with a strict test suite and coverage thresholds.

poetry install --with tests
poetry run pytest

The tests also serve as executable examples of the current public API.

Metadata

Release files for wikiops-sdk 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wikiops-sdk 1.2.0
File Size Uploaded
wikiops_sdk-1.2.0.tar.gz 13.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wikiops-sdk 1.2.0
File Interpreter ABI Platform
wikiops_sdk-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.5 kB

Release files / wikiops_sdk-1.2.0.tar.gz

Download URL wikiops_sdk-1.2.0.tar.gz
Size 13.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f33cdbbebdbe18e1609fbe929962d18993d220243e03487df13fa825f2b4f297
BLAKE2b-256 checksum
How to use checksums
0799dc65d985e4b3c53588c9d552c9cdbb8a3e19228d4dfa82986958ec0459bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release files / wikiops_sdk-1.2.0-py3-none-any.whl

Download URL wikiops_sdk-1.2.0-py3-none-any.whl
Size 15.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3311863883ad4523bc62b3d46479908bbd5bf6aae16577c52ec6ca36364f88da
BLAKE2b-256 checksum
How to use checksums
1e10a20beb1b1c0345821939b5b08fb3b49f29887e03f292a61db3877ff01908
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page