Standalone Python compatibility implementation of Backlog.md
Project description
backlog-md-py
backlog-md-py is a standalone Python implementation of the local-file
Backlog.md task workflow. It keeps
Backlog.md projects as Markdown files on disk, while providing a Python CLI,
Python helper functions, SDK-free MCP server, singleton daemon for multi-agent
setups, browser board, and optional Textual TUI.
Use it when you want Backlog.md-compatible project tracking from Python tooling or local agents without requiring a Node or Bun runtime.
Status And Safety
This project is stable starting with the 1.0 release line. The audited compatibility inventory reports the documented local-file CLI, Python helper, MCP, daemon, browser-board, and TUI surfaces as implemented for the current baseline. The supported 1.x contract is the behavior represented in the compatibility inventory, stability policy, and parity docs.
The source of truth remains the backlog/ Markdown directory in each project.
Before live mutation in a consuming project, run copied-repository smoke tests
and review the resulting diff. See the stability policy
for the supported contract and release gate.
Do not alias backlog-py to backlog unless the target project has made an
explicit project cutover decision.
Quick Start
For released versions, install from PyPI:
python -m pip install backlog-md-py
For unreleased commits, install from GitHub:
python -m pip install "git+https://github.com/rmusser01/backlog-md-py.git"
Run the CLI against a Backlog.md project:
backlog-py --help
backlog-py --cwd /path/to/project task list --plain
backlog-py --cwd /path/to/project board
backlog-py --cwd /path/to/project browser --port 6420 --no-open
backlog-py compat status
For a safe first run, start with a scratch project:
mkdir -p /tmp/backlog-md-py-demo
backlog-py --cwd /tmp/backlog-md-py-demo init --defaults --no-git
backlog-py --cwd /tmp/backlog-md-py-demo task create "Try backlog-md-py" --plain
backlog-py --cwd /tmp/backlog-md-py-demo board
Interfaces At A Glance
- CLI:
backlog-py --cwd /path/to/project ... - Python module entry point:
python -m backlog_py ... - Python helpers: import from
backlog_py.mcpandbacklog_py.storage.project - MCP stdio:
backlog-py-mcp - Multi-agent singleton daemon:
backlog-py daemon ensure - Orchestration coordination:
backlog-py --cwd /path/to/project orchestration status - Browser board:
backlog-py --cwd /path/to/project browser --port 6420 - Optional TUI: install
backlog-md-py[tui], then runbacklog-py --cwd /path/to/project tui
The plain CLI and MCP tools are the recommended automation surfaces. The browser board and TUI are human-facing project navigation surfaces.
Agent And MCP Use
backlog-py-mcp is included by default and provides SDK-free MCP stdio mode:
backlog-py-mcp
For multi-agent environments, prefer one local singleton daemon and let MCP clients connect through it:
backlog-py daemon ensure
backlog-py daemon status --json
See integration.md for CLI, Python helper, and MCP configuration, and singleton-daemon.md for daemon setup and rollback guidance.
How It Fits Together
All interfaces resolve a Backlog.md project, parse Markdown-backed records, and delegate mutations to shared core services that preserve unowned Markdown sections and serialize writes with local filesystem locks. The daemon is a process-reuse and coordination layer, not a separate database. The optional SQLite index is disposable read acceleration; Markdown remains authoritative.
See architecture.md for a contributor-oriented system map.
Documentation
Start with the documentation index. The most commonly used references are:
- Getting started
- Integration guide
- Architecture guide
- Stability policy
- Singleton daemon guide
- Cutover validation checklist
- Browser release validation
- Changelog
- Contributing guide
- Release process
- Release checklist
Development
Use Python 3.11, 3.12, or 3.13. Create a local virtual environment with uv
and install editable development dependencies:
uv venv --python 3.13 .venv
source .venv/bin/activate
uv pip install -e ".[dev]"
Run the focused agent-critical gate or the full test suite:
uv run --extra dev python -m pytest tests/test_agent_critical_matrix.py -v
uv run --extra dev python -m pytest tests -v
See CONTRIBUTING.md for the contributor workflow and architecture.md for the source layout.
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 backlog_md_py-1.0.1.tar.gz.
File metadata
- Download URL: backlog_md_py-1.0.1.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ada087548d52d043df0c2226ece46449b73a116e20676f87be273e012de59976
|
|
| MD5 |
6fcd68e65845a38ee5612d478490511e
|
|
| BLAKE2b-256 |
2c877fa09d2ab5c110b52d9b4a92e272864685e57e51b70da232af719f66a652
|
Provenance
The following attestation bundles were made for backlog_md_py-1.0.1.tar.gz:
Publisher:
release.yml on rmusser01/backlog-md-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
backlog_md_py-1.0.1.tar.gz -
Subject digest:
ada087548d52d043df0c2226ece46449b73a116e20676f87be273e012de59976 - Sigstore transparency entry: 2064490330
- Sigstore integration time:
-
Permalink:
rmusser01/backlog-md-py@2ee9ae455e55b2d6a65ac5ff356a41b4bb194219 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/rmusser01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2ee9ae455e55b2d6a65ac5ff356a41b4bb194219 -
Trigger Event:
push
-
Statement type:
File details
Details for the file backlog_md_py-1.0.1-py3-none-any.whl.
File metadata
- Download URL: backlog_md_py-1.0.1-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc0623fd369c95c3e2db3c790171614639321d9bf2d6003fc5fbbd5842cf9902
|
|
| MD5 |
ade37b69f688a01ea9e26f05c08a5496
|
|
| BLAKE2b-256 |
3f662f016731a2a1643010943c372062a6791d882d6d596b154bf46ac61c5446
|
Provenance
The following attestation bundles were made for backlog_md_py-1.0.1-py3-none-any.whl:
Publisher:
release.yml on rmusser01/backlog-md-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
backlog_md_py-1.0.1-py3-none-any.whl -
Subject digest:
fc0623fd369c95c3e2db3c790171614639321d9bf2d6003fc5fbbd5842cf9902 - Sigstore transparency entry: 2064490343
- Sigstore integration time:
-
Permalink:
rmusser01/backlog-md-py@2ee9ae455e55b2d6a65ac5ff356a41b4bb194219 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/rmusser01
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2ee9ae455e55b2d6a65ac5ff356a41b4bb194219 -
Trigger Event:
push
-
Statement type: