Knowledge dispatcher for live knowledge systems
Project description
kd
A knowledge dispatcher for live knowledge systems — pull what you need to reason, push your updates back, and stay on top of a live system rather than copying it.
Purpose
kd is a knowledge-network tool, not a data-exchange tool. It is built around a small, primer-shaped idea: the operator reasons on top of live trackers, not alongside copies of them. The primary loop is pull → reason → push updates back. Integrating multiple sources happens in the operator's head — not in kd's data model. Occasional cross-system moves exist, but they are deliberately thin: at the limit, a stub with a similar title and a backref to the original, not a faithful reproduction. kd is not a migration tool or a comprehensive import-export platform; it is a network-of-knowledge dispatcher that speaks YouTrack fluently and will, over time, speak other trackers through narrow domain protocols.
The primer (kd /primer) is the working illustration: a small set of pinned references plus curated notes, living in the workspace, sitting on top of live systems without replacing them. The rest of the tool extends that shape.
SDK-first: the Python library (kd.client) is the primary interface; CLI commands are thin wrappers over it. LLMs constructing commands programmatically are the primary consumer, so syntax clarity and structured output matter more than keystroke economy.
Install
# pipx (recommended)
pipx install kd
# or uv
uv tool install kd
Configure
# Scaffold a project-local config in the current directory.
kd init
# Or set via environment (overrides workspace + global config).
export KD_TOKEN=your_token
export KD_CONNECTION=main
Global config lives at ~/.config/kd/config.yaml; workspace config lives at .kd/config.yaml.
Usage
CLI
# Projects
kd /project list
kd /project show FB
# Issues
kd /issue list --project FB --query "#Unresolved"
kd /issue create "Fix router configuration" -p FB --type Task
kd /issue show FB-1
# Time tracking
kd /time log FB-1 45 --type Development --description "Router reconfiguration"
# Articles
kd /article list --project CMCSA
kd /article push guide.md --project CMCSA --title "Setup Guide" --tag "type:guide"
kd /article pull FB-A-42 > setup.md
# Tags
kd /tag list
kd /tag articles type:case --project CMCSA
# Saved queries
kd /query list
kd /query issues "Sprint 47" --project FB
# Primer (local knowledge, LLM context)
kd /primer/note add "Sprint field is called 'Board'"
kd /primer/article add FB-A-42 --summary "Architecture Overview"
kd /primer show
# Cross-entity search
kd /search "router" --types issue,article --project FB
# Output formats
kd /project list --output json | jq '.[].key'
kd /issue list --output yaml
Python SDK
from kd import YouTrackClient
client = YouTrackClient(
url="https://your-instance.youtrack.cloud",
token="your_token",
)
projects = client.projects.list()
issue = client.issues.create(project="FB", summary="Fix router config")
client.time.log(issue_id="FB-1", minutes=45, work_type="Development")
articles = client.tags.articles(["type:case"], project="CMCSA")
results = client.search.search("router", types=["issue", "article"])
What kd is not
- Not a migration platform. Cross-system moves are lossy cherry-picks: a stub on the target side with a backref to the source, nothing more.
- Not a faithful mirror. kd never claims to be a complete copy of upstream state; it reads what it needs and writes what changed.
- Not a data warehouse. Data lives in the upstream tracker; kd sits on top.
If you need a migration tool or an import-export platform, kd is the wrong tool.
Development
pytest tests/ -v --tb=short
ruff format kd/ tests/
ruff check --fix kd/ tests/
mypy kd/
Updated: 2026-04-13
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 kd_cli-2.0.4.tar.gz.
File metadata
- Download URL: kd_cli-2.0.4.tar.gz
- Upload date:
- Size: 103.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e33f64680f1281829a5a91a3897aeda7883965739e39bce48ba27fc7a5cbcfa2
|
|
| MD5 |
21c00c8e58e817f2bf52992ec33039eb
|
|
| BLAKE2b-256 |
eeb5207a4f2a47ac35f4e86a88b21f99bd24f215713d48e4710db7dc0e58df72
|
Provenance
The following attestation bundles were made for kd_cli-2.0.4.tar.gz:
Publisher:
publish.yml on IntellectSolutionsCom/kd-release
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kd_cli-2.0.4.tar.gz -
Subject digest:
e33f64680f1281829a5a91a3897aeda7883965739e39bce48ba27fc7a5cbcfa2 - Sigstore transparency entry: 1290319562
- Sigstore integration time:
-
Permalink:
IntellectSolutionsCom/kd-release@cfd43b02033b08690be19f05ece5bb5920ea5b88 -
Branch / Tag:
refs/tags/v2.0.4 - Owner: https://github.com/IntellectSolutionsCom
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cfd43b02033b08690be19f05ece5bb5920ea5b88 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kd_cli-2.0.4-py3-none-any.whl.
File metadata
- Download URL: kd_cli-2.0.4-py3-none-any.whl
- Upload date:
- Size: 125.1 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 |
8b7e1020e40a7797d229bf86dd8d8172aaf417b53587afeb3fec18ee73e2e8ea
|
|
| MD5 |
7191f35b25f9d383a56c8ca477d341db
|
|
| BLAKE2b-256 |
f0e2db6fc84cc2e29416ba90cc8471a453c542d8ce554c730908432b316ba952
|
Provenance
The following attestation bundles were made for kd_cli-2.0.4-py3-none-any.whl:
Publisher:
publish.yml on IntellectSolutionsCom/kd-release
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kd_cli-2.0.4-py3-none-any.whl -
Subject digest:
8b7e1020e40a7797d229bf86dd8d8172aaf417b53587afeb3fec18ee73e2e8ea - Sigstore transparency entry: 1290319646
- Sigstore integration time:
-
Permalink:
IntellectSolutionsCom/kd-release@cfd43b02033b08690be19f05ece5bb5920ea5b88 -
Branch / Tag:
refs/tags/v2.0.4 - Owner: https://github.com/IntellectSolutionsCom
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cfd43b02033b08690be19f05ece5bb5920ea5b88 -
Trigger Event:
push
-
Statement type: