SDK for building TrakBridge plugins: base classes, config field system, and runtime provider registry
Project description
TrakBridge Plugin SDK
Base classes and runtime contracts for building TrakBridge plugins.
from trakbridge_sdk import BaseGPSPlugin
class MyTracker(BaseGPSPlugin):
@property
def plugin_name(self) -> str:
return "my_tracker"
async def fetch_locations(self, session):
...
What's in the box
BaseGPSPlugin— poll an external source, emit locationsBaseOutputPlugin— receive CoT events, deliver them somewhereBaseInboundPlugin— accept pushed data (HTTP push / active connect)PluginConfigField/PluginConfigMixin— declarative config with UI generation and sensitive-field encryptiontrakbridge_sdk.configure(...)— runtime provider registry the host application uses to inject its services (encryption, plugin metadata, circuit breaker, CoT service)
See docs/plugin_contract.md for the full plugin contract and examples/ for working plugins of all three types.
Development
pip install -e ".[dev]"
pytest
Publishing checklist (deferred follow-ups)
- Move repository from git.emfour.net to GitHub (public release)
- Configure PyPI Trusted Publishing (OIDC from GitHub Actions), enable 2FA, no long-lived tokens
- Publish 1.0.0 to PyPI via a GitHub release (
.github/workflows/publish.yml) - Switch TrakBridge core dependency from the internal git URL to
trakbridge-plugin-sdk==1.0.0with--hashpinning
License
Apache-2.0
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 trakbridge_plugin_sdk-1.0.0.tar.gz.
File metadata
- Download URL: trakbridge_plugin_sdk-1.0.0.tar.gz
- Upload date:
- Size: 22.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fab568f72de4a13f66911fb37f1c9e7aed607a511270e6788f71b0f4e11f93d
|
|
| MD5 |
f4060a935e42e3e2a1d14daed2ff2984
|
|
| BLAKE2b-256 |
6896159c3cfb61a8d96c17071a518b958071297fa556d39eb5bbea43d8969785
|
File details
Details for the file trakbridge_plugin_sdk-1.0.0-py3-none-any.whl.
File metadata
- Download URL: trakbridge_plugin_sdk-1.0.0-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e7f3e2c9ba0fd1fce2aa35dd84491848ff7f56187912fb148b4d4855a36f13a
|
|
| MD5 |
25ad8841347147d647fccdb6333dfe5a
|
|
| BLAKE2b-256 |
f7da41dcd20c84871040276ef94a604a2768eb2ff48c72410cb8ccae188e9e1c
|