Skip to main content

Structured, UUID-based signal orchestration utilities for Python using Blinker

Project description

SignalKit

SignalKit is a lightweight utility library that builds on Blinker to provide structured, UUID-based signal-response orchestration.

Features

  • Typed signal events using Pydantic
  • Safe response correlation via request IDs
  • Decorators to simplify consistent handler behavior
  • High performance, minimal dependencies

Install

pip install -e .

Usage Example

from pydantic import BaseModel, Field
import uuid
from signalkit.core import CoolSignal, SignalEvent

class MyEvent(SignalEvent):
    value: str

signal = CoolSignal()

def handler(sender, event: MyEvent):
    if event.value == "hello":
        return "matched!"

signal.connect(handler)
event = MyEvent(value="hello")
result = signal.send(signal, event=event)
print(result)  # "matched!"

Note

SignalKit works with any Pydantic model that has a request_id field. For more complex validation and parsing, simply extend SignalEvent with your own fields.

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

signalkit-1.0.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

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

signalkit-1.0.0-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file signalkit-1.0.0.tar.gz.

File metadata

  • Download URL: signalkit-1.0.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for signalkit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c2bce5283802122303ab916413af09b320ef9d495740116b0b96204199f466e6
MD5 632dfe8bfe8513dfa9acb782bf38202e
BLAKE2b-256 e466a7794dbceb3f4cba8fff40456071b3a8abd8a6479116b6a0bf7413a4049a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signalkit-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 2.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for signalkit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91377b1ac85c118f4d0937703454a5bd0ce10936ca8598c96256869244471937
MD5 625d28d1d14d404868b28d489b89e00d
BLAKE2b-256 bcb2b75bbc703b3c184d577b13f94c1ed7a2a1b52d6f2f6790de42e6001c3a56

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