Skip to main content

ZEO Creator

The open protocol for continuous editorial and creator operations.

Turn source observations into evolving stories, frozen dossiers, editorial agendas, editions, production briefs, reviewed artifacts, commentary, newsletters and corrections.

CI PyPI Python 3.14+ Zeocore 0.11 License: MIT

Documentation · Quickstart · Examples · API reference


ZEO Creator is an open-source, typed contract and transformation layer for newsrooms, independent publications and creator teams. It supports live, daily, periodic and evergreen work without storing newsroom memory, scheduling jobs, possessing credentials or publishing behind an editor's back.

flowchart LR
    S[Source observations] --> G[Signals and story revisions]
    G --> D[Publication-scoped dossiers]
    D --> A[Agendas and editions]
    A --> B[Briefs, articles, commentary, newsletters]
    B --> X[External producers]
    X --> V[Artifact and editorial review]
    V --> O[Digest-bound proposals]
    O -. runtime approval .-> P[Provider execution]
    P --> M[Performance and corrections]

Why ZEO Creator?

  • Evidence-backed. Every material brief claim resolves to explicit provenance.
  • Continuous. Stories evolve across live, daily, periodic, and evergreen windows.
  • Editorially coherent. Dossiers, agendas, and editions prevent every producer from researching alone.
  • Integrity-aware. Commentary, journalism, corrections, and qualified-human requirements fail closed.
  • Producer-neutral. Public briefs express creative intent; adapters own production-specific lowering.
  • Publication-safe. Organization and publication scope follow every durable artifact.
  • Approval-safe. Artifact, payload, destination, or schedule changes invalidate approval.
  • Provider-neutral. Canonical email operations accept supplied artifacts and never own provider credentials.
  • Runner-ready. The same capabilities work in a bounded agent workflow or managed runtime.
  • Portable. RFC 8785 digests and packaged JSON Schemas support Python, TypeScript, and Go consumers.

Runtime integration

Version 0.5.4 installs Zeocore 0.11.0 with its shared Runtime host. Use the Runtime integration guide to export the provider inventory and prepare the real portfolio request. Creator/Core conformance is verified; Runtime's Go supervision, durable recovery and managed-agent acceptance remain separate integration work.

Install

Install the public zeocreator distribution on Python 3.14 or newer:

uv add "zeocreator==0.5.4"

or:

python -m pip install "zeocreator==0.5.4"

Zeocore 0.11.0 is installed automatically. The distribution is zeocreator, the Python import is zeo_creator, and the CLI is zeo-creator. Earlier Git-only installations used the distribution name zeo-creator; remove that distribution before installing this release, or use a fresh virtual environment.

zeo-creator doctor --json
python -m zeo_creator.examples.create_content_brief
python -m zeo_creator.examples.email_marketing

All examples run without provider credentials or network calls.

First capability

Every capability publishes typed request and response schemas, effects, requirements, examples, projections, and enumerated errors.

from zeo_core.tools import invoke_sync

from zeo_creator.capabilities.create_content_brief import CreateContentBriefResponse
from zeo_creator.registry import capability_registry
from zeo_creator.runtime import make_context

capability = capability_registry().get("creator.create_content_brief@1.0.0")
request = capability.request_model.model_validate(capability.definition.examples[0].request)
result = invoke_sync(
    capability,
    request,
    make_context(capability_name="create_content_brief"),
)

if not isinstance(result.data, CreateContentBriefResponse):
    raise RuntimeError(result.human_message)

print(result.data.brief.content_kind)    # article
print(result.data.brief.content_digest)  # sha256:...

Run the packaged example after installation:

python -m zeo_creator.examples.create_content_brief

In a uv-managed project, prefix Python and CLI commands with uv run.

Capability families

Family Capabilities Responsibility
Research and story research_synthesis, extract_editorial_signals, update_story_revisions, build_story_dossier Normalize evidence into evolving, frozen editorial knowledge
Agenda and production plan_editorial_agenda, plan_edition, plan_content_portfolio, create_content_brief Select publication work and express producer-neutral intent
Commentary identify_engagement_opportunities, compose_commentary, review_commentary Participate selectively with context, stance, expiry and human approval
Newsletters plan_newsletter_issue, compose_newsletter_issue, review_newsletter_issue Produce HTML/plain-text issues from editions and dossiers
Email marketing plan_email_campaign, finalize_email_campaign, propose_email_operation, plan_email_sequence, plan_email_message, compose_email_message, review_email_message, prepare_email_delivery, assess_email_program Design and evaluate exact email programs from supplied inputs
Journalism compose_news_article, review_news_article, prepare_correction Draft attributed reporting and represent corrections with risk gates
Delivery and learning validate_delivery, prepare_distribution, assess_performance Validate bytes and claims, propose effects, and interpret outcomes

All 29 capability IDs are independently composable. There is intentionally no monolithic workflow capability. Scheduling, retries, approval state, persistence, provider execution, and reconciliation belong to the controlling runtime.

Producer contract

ContentBrief carries creator intent in a public envelope: content kind, objective, audience, source document, evidence claims, brand references, target channels, and declarative delivery requirements. Qualified content kinds are extensible—article, video.short, image.carousel, or a private namespace.

A producer returns an ArtifactManifest containing one or more artifact descriptors, byte-digest proofs, claim references, and typed attestations. ZEO Creator validates the envelope and preserves opaque ExtensionPayload data but does not interpret a producer's private schema.

The editorial kernel

SourceObservation records what was retrieved and how complete it was. EditorialSignal explains why it may matter. StoryRevision preserves a story's verified facts, disputed claims, unknowns and status through time. StoryDossier freezes that state for one publication, and EditorialAgenda plus EditionPlan turn dossiers into coherent publication decisions.

One dossier can support a breaking update, a daily briefing, a video brief, a social reply and a later newsletter section without silently sharing voice, policy or approval across publications. See the continuous editorial model.

flowchart LR
    C[ZEO Creator] --> B[ContentBrief]
    B --> A[Your adapter]
    A --> P[Your production engine]
    P --> M[ArtifactManifest]
    M --> C

Export schemas

Schemas ship inside the wheel, so non-Python consumers do not need the source tree:

zeo-creator contracts list --json
zeo-creator contract-schema --name=content-brief --version=1
zeo-creator contracts export --output=./schemas

Each catalog entry includes the schema's RFC 8785 canonical SHA-256 digest. Package, capability, and contract versions evolve independently; the compatibility policy defines when each one changes.

The authority boundary

ZEO Creator proposes destination-specific operations; each binds an explicit channel and destination, selected artifacts, content document, optional accessibility text and extension, and schedule. It never executes them. A runner resolves connection references, checks policy, obtains approval, mints bounded effect authority, executes through an authorized connector, and retains a secret-safe receipt.

Reference workflow

Credential-free examples model two isolated publications and a caller-defined portfolio containing articles, short video, image carousels, and newsletter issues. The fixture proves research, planning, briefs, artifact bundles, reviews, multi-channel proposals, and separate performance assessments without encoding any private production taxonomy.

python -m zeo_creator.examples.complete_content_portfolio

Explore reference/examples, follow the portfolio tutorial, or read the production adapter guide.

Development

make setup       # install the locked environment
make verify      # lint, strict typing, tests, references, docs, package checks
make examples    # run every credential-free example
make docs-serve  # serve documentation locally
make doctor      # verify Python, Zeocore, manifests, and projections

The repository enforces architectural import boundaries and tests installed wheel behavior. See architecture, canonical digests, and contributing.

Status

Version 0.5.4 adds the shared Runtime host integration while preserving all 29 capability IDs, independently reviewed email v4 contracts and 135 portable receipt cases. This remains an early 0.x API: pin the package and contract versions. Release publication does not establish live HubSpot/Kit interoperability; execution and account qualification belong to the host.

MIT licensed.

Email campaigns and sequences

Email marketing adds immutable campaigns, linear sequence revisions, dual-format messages, audience summaries and exact delivery packages. Runtime and Newsroom collect observations before Creator invocation; Zeocore and ZEOconnect own provider lowering and execution. Existing newsletter v1 schemas and capabilities remain compatible.

Run uv run python examples/email_marketing.py for three isolated publications. The example uses fake HubSpot-shaped and Kit-shaped hosts; it does not establish live interoperability. The public Zeocore email operation contract is still a dependency, and example operation IDs are explicitly simulated. The same example is installed as python -m zeo_creator.examples.email_marketing.

Metadata

Release files for zeocreator 0.5.4

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

Source distribution (sdist)

Source distribution for zeocreator 0.5.4
File Size Uploaded Provenance
zeocreator-0.5.4.tar.gz 2.1 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for zeocreator 0.5.4
File Interpreter ABI Platform
zeocreator-0.5.4-py3-none-any.whl Python 3 none any Details

Total release size: 4.5 MB

Release files / zeocreator-0.5.4.tar.gz

Download URL zeocreator-0.5.4.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
28c134b963f08e452ad7e71a00a596fe9e025624cb0e922cb721cb1a90b7ddaf
BLAKE2b-256 checksum
How to use checksums
d0e27f7ab9f526e4d3b4223ad9032f598c36278b15697ec214c7aff4591072bf
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 Sep 10, 2026.

Transparency log

Release files / zeocreator-0.5.4-py3-none-any.whl

Download URL zeocreator-0.5.4-py3-none-any.whl
Size 2.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a416ee081f2eb6fe6984908a6963814bd7bc4c2ab5450729f2d52bc22c9434a4
BLAKE2b-256 checksum
How to use checksums
90e82f5a36818b7640900c254d4a717363868367b331a0c5761781b16c450904
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 Sep 10, 2026.

Transparency log

Security for zeocreator 0.5.4

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for zeocreator-0.5.4.tar.gz

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 Sep 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.5.4 This release

2 release files Full provenance

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