Releases: TSignalDev/tsignal-python
Releases · TSignalDev/tsignal-python
Release v0.4.4
Key Changes
API Improvements
- Added wait_for_stop() method: Provides a clearer API for waiting for the worker to stop.
- Replaced direct calls to _tsignal_stopping.wait() withwait_for_stop() for better encapsulation.
Code Quality Enhancements
- Improved code formatting.
- Removed unnecessary duplicate code.
- Enhanced consistency in whitespace handling.
Documentation Updates
- Updated README.md, API documentation, and usage examples.
Release v0.4.0
TSignal v0.4.0: First Public Release
Features
- Pure Python signal/slot implementation with no external dependencies
- Full asyncio integration for async/await support
- Thread-safe signal emissions and slot execution
- Flexible connection types (AUTO, DIRECT, QUEUED)
- Worker thread pattern support via @t_with_worker
- Property support with thread-safe access via @t_property
- Weak reference support for automatic connection cleanup
- One-shot connections for single-use slots
Core Components
- Signal/Slot System (
@t_signal
,@t_slot
,@t_with_signals
) - Worker Thread Pattern (
@t_with_worker
) - Thread-safe Properties (
@t_property
)
Examples
- Basic signal/slot usage
- Async slot integration
- Thread-safe worker patterns
- Stock monitoring console and GUI applications
Requirements
- Python 3.10+
- No external dependencies for core functionality
- Optional: Kivy for GUI examples
Documentation
Full documentation available in the /docs directory:
- API Reference
- Usage Guide
- Examples Guide
- Testing Guide
- Logging Guidelines