Skip to main content

coho-cli

The management CLI and Python SDK for Coho: log in once, set a context, and move content through the pipeline with nouns everybody already knows.

coho login                                  # PKCE in a browser, tokens in the keyring
coho use acme                               # the account; then a project, then a ref
coho project create "Marketing site"        # trunk v0.0.x + dev/qa/stage/prod
coho type put blogPost --file blogPost.json
coho entry create -t blogPost -s hello --set title.en-US=Hello
coho branch create feature/pricing          # and switches to it
coho diff v0.0.x                            # three-dot, conflicts included
coho merge --into v0.0.x -m "New pricing"
coho ref switch v0.0.x                      # back to the trunk
coho tag create v1.4.0 --branch v0.0.x -m "Q3 catalogue"
coho promote qa v1.4.0                      # waits for the snapshot unless --no-wait
coho rollback prod                          # the previous target, conditionally
coho key create --label site-prod --ref prod    # the delivery key, shown once
coho invite create jane@example.com --role member

This repository holds the command. It is a thin layer over coho-management-sdk, the Python library, which lives in its own repository along with the API contracts both implement — so a script can import the library without installing a CLI.

Repository Import / command
The command coho-cms/coho-cli coho
The library coho-cms/coho-management-sdk-python from coho_management_sdk import Coho

The CLI speaks to Coho's BFF with a person's bearer token, exactly like a browser session does. It never sees an authoring credential, which is what makes it safe to publish.

Install

uv tool install coho-cli          # or: pipx install coho-cli

Python 3.11 or newer; uv downloads one if you have none. The package is coho-cli: coho on PyPI is an unrelated project. Install covers building from source.

Documentation

Start with the quickstart. Everything else is in docs/:

Status

Released: 2026.2.0 is the first version out of alpha. The command surface is complete for login, accounts, members, invitations, projects, roles, refs, branches, tags, content types, entries, diff/merge, environments, tiers, delivery keys, export and preview. Two things the server does not yet offer are handled locally and flagged in the docs: project listing (a local registry).

Licence

Apache-2.0. See LICENSE.

Metadata

Release files for coho-cli 2026.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 coho-cli 2026.2.0
File Size Uploaded Provenance Actions
coho_cli-2026.2.0.tar.gz 177.2 kB With provenance Details for coho_cli-2026.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for coho-cli 2026.2.0
File Interpreter ABI Platform Actions
coho_cli-2026.2.0-py3-none-any.whl Python 3 none any Details for coho_cli-2026.2.0-py3-none-any.whl

Total release size: 252.6 kB

Release files / coho_cli-2026.2.0.tar.gz

Download URL coho_cli-2026.2.0.tar.gz
Size 177.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2983ad127639a61a85a176035ac2aa81e18c0aea7035c931857f49de47ba7bcc
BLAKE2b-256 checksum
How to use checksums
61bbfe551b6cb0e00b7df99507228ce7b49796280189a9abd1ac3f37c73702bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / coho_cli-2026.2.0-py3-none-any.whl

Download URL coho_cli-2026.2.0-py3-none-any.whl
Size 75.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c67b0d50a4a5bfb6d99becabd01cb5f6cabf0c67ca3a55f5b2d077d974785a16
BLAKE2b-256 checksum
How to use checksums
11e161947dec0a24016a29b653cf0335537a1c4c4ba8986d25e86ee04641a499
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Security for coho-cli 2026.2.0

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 coho_cli-2026.2.0.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 Nov 4, 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.

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