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.1.0.tar.gz (5.0 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.1.0-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for signalkit-1.1.0.tar.gz
Algorithm Hash digest
SHA256 937ae960d1ee21a0d6d6a9c4a273dca48d96988b572db20f1e7b78bdc4bd7bf8
MD5 f0d6ea6737b61316714e406a4d90f589
BLAKE2b-256 9ba2091d7c166ec6e9ddefd4bb1374e8ac03b4b49899ea4afd30a590dd057479

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signalkit-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.2 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a8120983645593c048930d1528d47ac056d88c5531db67d9cc925f0db448d12
MD5 b956ae5ebf7062e5ca1c18213e276480
BLAKE2b-256 40b5ef69d40ad74f3f904ba49feb6d5e84fea6beb1717d564826ffb1793dad1c

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