Typed Python SDK for the MettleDeck local automation API
Project description
MettleDeck Python SDK
Python client for MettleDeck's local automation API. It connects to the desktop application over the loopback interface; it does not expose MettleDeck to the local network.
Installation
pip install mettledeck
MettleDeck must be installed on the same computer. Enable Local automation API under Settings > General > Application. The first connection may ask for approval in the desktop application.
Quick start
from mettledeck import Client, Workspace
with Client.connect() as client:
task = client.create(title="New task", workspace=Workspace.KANBAN)
client.move(task.id, workspace=Workspace.PLANNING, planning_lane=2)
Client.connect() discovers a running application or starts the installed
application. The SDK and application negotiate the newest API version they both
support.
Task operations
| Method | Action |
|---|---|
list_projects() |
List available projects |
project() |
Read columns, tags, and the current revision |
list() |
List tasks, optionally filtered by workspace, column, lane, or tag |
get() |
Read one task, with optional history |
create() |
Create a task, with optional media and attachments |
update() |
Change supplied task fields and leave omitted fields alone |
move() |
Move or reorder a task |
watch_tasks() |
Poll for task snapshots when the project revision changes |
Projects, columns, and tags are read-only in API v1. There is no task or project
deletion endpoint. update() can clear nullable task fields and can remove media
or attachments when those options are supplied explicitly.
All returned models are frozen dataclasses. Unknown response fields are ignored so an older SDK can continue to work with compatible additions to API v1.
Examples
The examples directory contains six small scripts:
create_task.pyupdate_task.pymove_task.pylist_tasks.pyadd_media_and_attachments.pywatch_tasks.py
python -m pip install -e .
python examples/create_task.py
Development
python -m pip install -e ".[dev]"
python -m ruff check .
python -m pytest
python scripts/check_openapi.py
python -m build
python -m twine check dist/*
The API description is in openapi/mettledeck-v1.json.
License
MIT
Copyright 2026 Quantum Oblique.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mettledeck-1.0.0.tar.gz.
File metadata
- Download URL: mettledeck-1.0.0.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e45a84ce57e4109af84ecab6f852c859e16f42fe3352db52ac103e146d849288
|
|
| MD5 |
443036648fe07c40b3f537fbfdbf3c3d
|
|
| BLAKE2b-256 |
b5bc187afc3298608517819168a0e49027011afe5b4ae46007226ccd84264691
|
Provenance
The following attestation bundles were made for mettledeck-1.0.0.tar.gz:
Publisher:
publish.yml on quantumoblique/mettledeck-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mettledeck-1.0.0.tar.gz -
Subject digest:
e45a84ce57e4109af84ecab6f852c859e16f42fe3352db52ac103e146d849288 - Sigstore transparency entry: 2195421472
- Sigstore integration time:
-
Permalink:
quantumoblique/mettledeck-sdk@215b490364c726bdd557351067e5391bed48e364 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/quantumoblique
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@215b490364c726bdd557351067e5391bed48e364 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mettledeck-1.0.0-py3-none-any.whl.
File metadata
- Download URL: mettledeck-1.0.0-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b225c8ca72b700637b845bdb7ee24236ffcdb85c641ea0b69309f9953419aa7f
|
|
| MD5 |
17c1643c0d8f91cf3cb038ad8cb883d5
|
|
| BLAKE2b-256 |
2127cae8731525250f441df96bbe24a190ce4e0d3ce9100b742717f51939c829
|
Provenance
The following attestation bundles were made for mettledeck-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on quantumoblique/mettledeck-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mettledeck-1.0.0-py3-none-any.whl -
Subject digest:
b225c8ca72b700637b845bdb7ee24236ffcdb85c641ea0b69309f9953419aa7f - Sigstore transparency entry: 2195421489
- Sigstore integration time:
-
Permalink:
quantumoblique/mettledeck-sdk@215b490364c726bdd557351067e5391bed48e364 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/quantumoblique
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@215b490364c726bdd557351067e5391bed48e364 -
Trigger Event:
release
-
Statement type: