Skip to main content

outline-py

Python client and CLI for the Outline API.

PyPI distribution: outline-python Import package: outline_py CLI command: outline-py

outline-py provides:

  • A typed synchronous Python client
  • A typed asynchronous Python client
  • A Typer-based CLI
  • Full current Outline API surface coverage, plus typed convenience commands for common workflows

Install

uv sync --extra dev

For consumers:

pip install outline-python

Setup

uv venv .venv
uv sync --extra dev
source .venv/bin/activate

Python usage

from outline_py import OutlineClient

with OutlineClient(api_key="ol_api_...", base_url="https://app.getoutline.com/api") as client:
    response = client.documents.search(query="hiring", limit=10)
    print(response.data)

Async Python usage

import asyncio

from outline_py import AsyncOutlineClient


async def main() -> None:
    async with AsyncOutlineClient(api_key="ol_api_...") as client:
        response = await client.documents.search(query="hiring", limit=10)
        print(response.data)


asyncio.run(main())

CLI usage

The CLI exposes two layers:

  1. Typed commands for common workflows
  2. Full API coverage through grouped --payload commands
outline-py common whoami
outline-py common search "hiring" --limit 10
outline-py common doc-info hDYep1TPAM
outline-py common doc-show hDYep1TPAM
outline-py common collection-create Engineering
outline-py common share-create 3b6d8f9a-...

The grouped commands remain available for the full surface:

outline-py auth info
outline-py documents search --payload '{"query":"hiring","limit":10}'
outline-py collections create --payload '{"name":"Engineering"}'

Configuration can be provided through flags or environment variables:

export OUTLINE_API_KEY="ol_api_..."
export OUTLINE_BASE_URL="https://app.getoutline.com/api"
outline-py documents info --payload '{"id":"doc_123"}'
outline-py common doc-info doc_123

The --payload value uses the Python client's snake_case parameter names.

Development

uv run ruff check .
uv run pytest
uv build

Release

The repository includes a GitHub Actions workflow at .github/workflows/workflow.yaml that publishes to PyPI when you push a tag matching v*.

Example:

git tag v0.1.2
git push origin v0.1.2

For publishing to work, configure PyPI Trusted Publishing for the singularcurio/outline-py GitHub repository.

Metadata

Release files for outline-python 0.1.2

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

Source distribution (sdist)

Source distribution for outline-python 0.1.2
File Size Uploaded Provenance Actions
outline_python-0.1.2.tar.gz 56.1 kB With provenance Details for outline_python-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for outline-python 0.1.2
File Interpreter ABI Platform Actions
outline_python-0.1.2-py3-none-any.whl Python 3 none any Details for outline_python-0.1.2-py3-none-any.whl

Total release size: 90.1 kB

Release files / outline_python-0.1.2.tar.gz

Download URL outline_python-0.1.2.tar.gz
Size 56.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f4bb6dcd4a1ea3fe0ddc8de5d9420af97c896cdaf0889c2cb6135ce2f734064a
BLAKE2b-256 checksum
How to use checksums
1901b0ff376dda48f80a02bfdd43fde666ffd9a360737a6d4489ed58834ea2ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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

Transparency log

Release files / outline_python-0.1.2-py3-none-any.whl

Download URL outline_python-0.1.2-py3-none-any.whl
Size 34.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c72659b5276e4afaa41ab32002701fc60f830dc078c216401dbe715a5c365b45
BLAKE2b-256 checksum
How to use checksums
9c715dc9feacb45e4a42a41e9240631758c768cb5449d654ebbcf58462930d22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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

Transparency log

Security for outline-python 0.1.2

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 outline_python-0.1.2.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 Apr 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.1.2 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