Skip to main content

kollabor-plugins

kollabor-plugins is the plugin framework for Kollabor.

It provides plugin discovery, safe instantiation, lifecycle management, status collection, the base plugin class, and SDK helpers. Concrete plugins live in the repo-level plugins/ directory or installed package plugin locations.

Current Role

  • Discover plugin classes from development and installed plugin directories.
  • Instantiate plugins with shared dependencies such as event bus, config, and services.
  • Provide a stable BasePlugin lifecycle for initialization, hook registration, status, config widgets, and shutdown.
  • Collect plugin startup/status information without crashing the host app.
  • Provide utility helpers for safe optional-method calls.

Architecture

Module Responsibility
base.py BasePlugin lifecycle and default methods
discovery.py plugin class discovery
factory.py dependency-aware plugin construction
registry.py plugin registration and lifecycle registry
collector.py status/startup info collection
plugin_sdk.py helper API for plugin authors
plugin_utils.py safe calls, metadata, interface validation

Plugin Shape

from kollabor_plugins import BasePlugin


class MyPlugin(BasePlugin):
    name = "my_plugin"
    version = "1.0.0"
    description = "Adds one useful thing"

    async def initialize(self, args=None, **kwargs):
        return None

    async def register_hooks(self):
        return None

    async def shutdown(self):
        return None

Discovery order:

  1. ./plugins/
  2. Installed package plugin locations.

Lifecycle:

  1. Discover plugin classes.
  2. Instantiate with dependencies.
  3. Call initialize().
  4. Call register_hooks().
  5. Call shutdown() on app exit.

Known Gaps

  • Plugin metadata and config schemas are partly convention-based; stronger typed metadata would help UI and docs generation.
  • Discovery order and dependency injection behavior should be covered by more integration tests across local and installed plugin layouts.
  • Plugin shutdown must remain best-effort and non-blocking; long-running plugin tasks need clearer ownership and cancellation guidance.

Roadmap

Phase 1: Authoring clarity

  • Add a plugin author guide generated from real BasePlugin methods.
  • Document config widget and status-line conventions.
  • Add examples for hook-only, command, fullscreen, and background-task plugins.

Phase 2: Lifecycle hardening

  • Add tests for plugin discovery, instantiation failures, and shutdown failures.
  • Track plugin-owned tasks/resources explicitly.
  • Make startup/status collection easier to inspect from CLI and engine surfaces.

Phase 3: Packaging and marketplace readiness

  • Normalize plugin metadata fields for installed packages.
  • Document compatibility/version expectations for plugins.
  • Prepare a stable manifest format if plugins move toward external distribution.

Development

Targeted validation examples:

python -m py_compile packages/kollabor-plugins/src/kollabor_plugins/*.py
python -m pytest tests/unit/commands/test_all_command_handlers.py -q

Dependencies

  • kollabor-events

License

MIT

Metadata

Release files for kollabor-plugins 0.16.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kollabor-plugins 0.16.3
File Size Uploaded
kollabor_plugins-0.16.3.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kollabor-plugins 0.16.3
File Interpreter ABI Platform
kollabor_plugins-0.16.3-py3-none-any.whl Python 3 none any Details

Total release size: 40.2 kB

Release files / kollabor_plugins-0.16.3.tar.gz

Download URL kollabor_plugins-0.16.3.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
429704b783b434a7e0d1781dfb2b72393893a2ab7a2c74c14ecfcdf56ecd207c
BLAKE2b-256 checksum
How to use checksums
7a2459366d3c70a0e4a6837e7c75726748f05a74d8c510f4336b1296a326dd5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / kollabor_plugins-0.16.3-py3-none-any.whl

Download URL kollabor_plugins-0.16.3-py3-none-any.whl
Size 21.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d1ee16056764339da052e70308498b1b333c1104b19f5b070a97b2c88f26a0be
BLAKE2b-256 checksum
How to use checksums
d87d88adce3a3d814309c82fcb4de76ba42be04c0a5a988cbce88f7ab467af8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release history Release notifications | RSS feed

1.0.1

2 release files

1.0.0

2 release files

0.16.5

2 release files

0.16.4

2 release files

This release

0.16.3 This release

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.7

2 release files

0.15.6

2 release files

0.15.5

2 release files

0.15.4

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.24

2 release files

0.5.23

2 release files

0.5.22

2 release files

0.5.19

2 release files

0.5.18

2 release files

0.5.16

2 release files

0.5.15

2 release files

0.5.14

2 release files

0.5.13

2 release files

0.5.12

2 release files

0.5.11

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.5

2 release files

0.4.22

2 release files

0.4.21

2 release files

0.4.19

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page