{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/3"}],"enrichment":{"capability":"Psygnal implements the observer pattern with a Qt-style signals API, allowing objects to emit events that connected callbacks can listen to, with optional type checking and threading support.","skillfed_tags":["event-driven","observer-pattern","reactive"],"use_cases":["Build reactive UIs or data models where UI components need to respond to state changes without tight coupling.","Create plugin systems where plugins register callbacks to be notified of application events.","Monitor mutations to data structures (lists, dicts, sets) and trigger side effects like logging or validation.","Implement evented dataclasses that automatically notify listeners when fields are modified.","Coordinate multi-threaded applications where one thread needs to signal completion or state changes to others."],"what_it_does":"Psygnal is a pure Python event system that lets you define signals on objects and connect callback functions to them. When a signal is emitted, all connected callbacks are invoked with the signal's arguments. It mimics Qt's signals-and-slots API but requires no Qt dependency, and includes optional runtime type checking to catch mismatched callback signatures.\n\nThe library also provides higher-level conveniences: an @evented decorator that automatically emits signals when dataclass fields change (compatible with standard dataclasses, attrs, and pydantic), and evented container types (EventedList, EventedDict, EventedSet) that emit signals on mutation. It has no external dependencies and is compiled with mypyc for performance, though a pure Python fallback is available.","worth_installing":"Yes. Psygnal is production-stable, dependency-free, actively maintained, and solves a common architectural need (decoupled event notification) with a clean, familiar API. The zero-dependency design and low install friction make it a safe choice for projects of any size. No known security issues."},"id":"psygnal","links":{"html":"https://skillfed.io/packages/psygnal","md":"https://skillfed.io/packages/psygnal.md","pypi":"https://pypi.org/project/psygnal/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-01-04","license_spdx":null,"license_treatment":"permissive","name":"psygnal","python_support":"supports_current","summary":"Fast python callback/event system modeled after Qt Signals"},"popularity":{"monthly_downloads":4126967,"position":2376,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.15.1"}
