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-0.1.2.tar.gz (2.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-0.1.2-py3-none-any.whl (2.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for signalkit-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7f35ac10fb117e9a1477cd6d1b9f9d018f3ea34820ced3fde69fb22d56351326
MD5 d4f023dac063c03f80966ff8d476296f
BLAKE2b-256 c50208ae3a0ebbcfab4164979b742c23800e2746509ef4efce1ca047059af585

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for signalkit-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 189f2225280b2070d317f259e8e4f2318af76c2ef11002c3c0183a8d288611e3
MD5 40ee43a0e7e369f0524cda32f795b7ba
BLAKE2b-256 c7b01e81b6a54de0ca8550be6c20090ff1a5b2b78714426fb26b3e130bac12e1

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