Skip to main content

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 locations
  • BaseOutputPlugin — receive CoT events, deliver them somewhere
  • BaseInboundPlugin — accept pushed data (HTTP push / active connect)
  • PluginConfigField / PluginConfigMixin — declarative config with UI generation and sensitive-field encryption
  • trakbridge_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.0 with --hash pinning

License

Apache-2.0

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

trakbridge_plugin_sdk-1.0.0.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trakbridge_plugin_sdk-1.0.0-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

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

Hashes for trakbridge_plugin_sdk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2fab568f72de4a13f66911fb37f1c9e7aed607a511270e6788f71b0f4e11f93d
MD5 f4060a935e42e3e2a1d14daed2ff2984
BLAKE2b-256 6896159c3cfb61a8d96c17071a518b958071297fa556d39eb5bbea43d8969785

See more details on using hashes here.

File details

Details for the file trakbridge_plugin_sdk-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for trakbridge_plugin_sdk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e7f3e2c9ba0fd1fce2aa35dd84491848ff7f56187912fb148b4d4855a36f13a
MD5 25ad8841347147d647fccdb6333dfe5a
BLAKE2b-256 f7da41dcd20c84871040276ef94a604a2768eb2ff48c72410cb8ccae188e9e1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page