Public SDK types for authoring Blondie plugins (backlog backends, CI providers, LLM tools).
Project description
blondie-types
Public SDK types for authoring Blondie plugins. Plugins import every Blondie type they need from this single package.
- Distribution name (PyPI):
blondie-types - Import name:
blondie - Contents: ABCs, dataclasses, enums, error classes, capability constants, and API protocols. No runtime code.
- Dependencies: stdlib +
pydantic+typing_extensions.
The Blondie runtime depends on blondie-types; blondie-types does not
depend on the runtime. Plugins develop, test, and ship outside the
Blondie repo with blondie-types as their only Blondie-side dependency.
Quick start
pip install blondie-types
from blondie import (
BacklogBackend,
BackendProvider,
Plugin,
PluginTool,
Task,
TaskStatus,
ToolProvider,
)
class MyTool(PluginTool):
name = "my_tool"
description = "A tiny example."
async def execute(self, **kwargs) -> str:
self.api.journal.info("hello from my_tool")
return "ok"
class MyPlugin(Plugin):
def provides(self):
return [ToolProvider(MyTool)]
Top-level exports
| Symbol | Kind | Module |
|---|---|---|
Plugin |
ABC | blondie.plugins |
Provider |
ABC | blondie.plugins |
BackendProvider |
dataclass | blondie.plugins |
CIProviderProvider |
dataclass | blondie.plugins |
ToolProvider |
dataclass | blondie.plugins |
RegistrationContext |
dataclass | blondie.plugins |
PluginInfo |
dataclass | blondie.plugins |
PluginEvent |
dataclass | blondie.plugins |
PLUGIN_API_VERSION |
int | blondie.plugins |
PluginTool |
ABC | blondie.tools |
ToolAPI |
Protocol | blondie.tools |
BacklogBackend |
ABC | blondie.backlog |
BackendAPI |
Protocol | blondie.backlog |
Task, Sprint, Comment |
dataclass | blondie.backlog |
Priority, TaskStatus |
enum | blondie.backlog |
TaskFormatter |
ABC | blondie.backlog |
CredentialSpec |
dataclass | blondie.backlog |
BackendError (+ family) |
exception | blondie.backlog |
CAP_* |
constants | blondie.backlog |
CIProvider |
ABC | blondie.ci |
CIAPI |
Protocol | blondie.ci |
Journal |
Protocol | blondie.journal |
The flat from blondie import X form is preferred; per-area submodules
are also exposed for selective import.
Versioning
The SDK follows Semantic Versioning. Two version numbers travel together:
- The distribution version in
pyproject.toml(visible asblondie.__version__, sourced from package metadata) — bumped on every release. - The plugin contract version
blondie.PLUGIN_API_VERSION— bumped on every breaking change to the public surface re-exported fromblondie.
Release notes live in CHANGELOG.md (Keep-a-Changelog format). The release flow is automated:
# 1. Land your changes; describe them under '## [Unreleased]' in CHANGELOG.md.
# 2. From the repo root, run one of:
poe bump-types --patch # bug fixes
poe bump-types --minor # additive change
poe bump-types --major # breaking change (also bump PLUGIN_API_VERSION)
poe bump-types --to 1.2.3 # explicit target
# 3. The script edits pyproject.toml and CHANGELOG.md. Review:
git diff packages/blondie-types/
# 4. Commit, tag, push:
git commit -am "[#NNN] blondie-types vX.Y.Z"
git tag blondie-types-vX.Y.Z
git push && git push origin blondie-types-vX.Y.Z
The tag triggers .github/workflows/blondie-types-publish.yml, which
publishes to PyPI via OIDC trusted publishing and creates a matching
GitHub Release with the CHANGELOG section as release notes and the
sdist + wheel attached as assets.
License
MIT
Project details
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 blondie_types-0.1.0.tar.gz.
File metadata
- Download URL: blondie_types-0.1.0.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
115a8d2bb23a3cb239ae7a3efcb7f28f81fc5d065e8f117d279610595d682901
|
|
| MD5 |
31f1765da09e77a1eb6acd486fe7eb73
|
|
| BLAKE2b-256 |
21edd5f7555d3661479700dd21878ef56815b8553bf4bd102f7b4dd2c6a07c18
|
Provenance
The following attestation bundles were made for blondie_types-0.1.0.tar.gz:
Publisher:
blondie-types-publish.yml on iva2k/blondie
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blondie_types-0.1.0.tar.gz -
Subject digest:
115a8d2bb23a3cb239ae7a3efcb7f28f81fc5d065e8f117d279610595d682901 - Sigstore transparency entry: 1398994157
- Sigstore integration time:
-
Permalink:
iva2k/blondie@46271c1e239a42a97b2c7708553de31cd9e3698e -
Branch / Tag:
refs/tags/blondie-types-v0.1.0 - Owner: https://github.com/iva2k
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
blondie-types-publish.yml@46271c1e239a42a97b2c7708553de31cd9e3698e -
Trigger Event:
push
-
Statement type:
File details
Details for the file blondie_types-0.1.0-py3-none-any.whl.
File metadata
- Download URL: blondie_types-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.6 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 |
6b9db310981e20e41b953f7e6fff4ba54cc1b6c72be93340ed0ddb0f6e135447
|
|
| MD5 |
21d811ac3987dc5374fb744f3bb34df3
|
|
| BLAKE2b-256 |
2796433f11181d2002f05b84e487558c2fafc777ee0e07f8ed62f7a720133c72
|
Provenance
The following attestation bundles were made for blondie_types-0.1.0-py3-none-any.whl:
Publisher:
blondie-types-publish.yml on iva2k/blondie
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blondie_types-0.1.0-py3-none-any.whl -
Subject digest:
6b9db310981e20e41b953f7e6fff4ba54cc1b6c72be93340ed0ddb0f6e135447 - Sigstore transparency entry: 1398994166
- Sigstore integration time:
-
Permalink:
iva2k/blondie@46271c1e239a42a97b2c7708553de31cd9e3698e -
Branch / Tag:
refs/tags/blondie-types-v0.1.0 - Owner: https://github.com/iva2k
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
blondie-types-publish.yml@46271c1e239a42a97b2c7708553de31cd9e3698e -
Trigger Event:
push
-
Statement type: