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.1.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.1.0-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file trakbridge_plugin_sdk-1.1.0.tar.gz.

File metadata

  • Download URL: trakbridge_plugin_sdk-1.1.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.1.0.tar.gz
Algorithm Hash digest
SHA256 c285e2a1a6e8cbeef24524b56daef7510b303df90f500812f7d5fc34c18e607a
MD5 e9c1de3a7dd30695c7f8616a3244794f
BLAKE2b-256 d4158f770d4fa91e9bcf61d4390abdcd4961f72f7a14dc0ae2c1d55ff87b3f95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for trakbridge_plugin_sdk-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 492a0c3032da88dd1d40b6ddb8a214e157a0d7d48aacd9ea877570f17d24f779
MD5 7a57dce7a9cd413e0d7db1f6a51ce86f
BLAKE2b-256 66f0c0dddd29a203de8407f7eee18aa34865bc8bb957336e5f518539a9403528

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