{"categories":[{"label":"System","url":"https://skillfed.io/packages/category/system"},{"label":"Debuggers","url":"https://skillfed.io/packages/category/software-development-debuggers"}],"enrichment":{"capability":"Provides interrupt and signal handling mechanisms for Cython code, enabling CTRL-C interruption and other signal management in Cython programs that would otherwise run without checking for interrupts.","skillfed_tags":["cython-extension","signal-handling","interrupt-management"],"use_cases":["Long-running numerical computations in Cython that must respond to CTRL-C without hanging the process.","Building interruptible scientific libraries (e.g., SageMath) where user cancellation is essential.","Wrapping C/C++ algorithms in Cython while maintaining signal safety and clean shutdown behavior.","Implementing custom signal handlers in Cython code that need to coexist with Python's signal machinery.","Debugging Cython code by catching and reporting signals that occur during execution."],"what_it_does":"cysignals is a Cython extension that solves a fundamental problem: Cython code normally skips interrupt checks for speed, making long-running loops impossible to stop with CTRL-C. The package provides decorators and context managers (sig_on/sig_off) that tell Cython to check for pending signals at safe points, allowing interrupts and other OS signals to be handled gracefully. It also manages error recovery and provides hooks for custom signal handling.\n\nThe package is maintained by the SageMath project and targets developers writing performance-critical Cython code who need to remain responsive to user interrupts and system signals. It requires Cython >= 3.1 and Python >= 3.12, with prebuilt wheels for macOS, Linux (including musl), and Windows across multiple architectures. No runtime dependencies means installation is straightforward once the compiled extension is available for your platform.","worth_installing":"Yes, if you are writing Cython code that runs for extended periods and needs to respond to interrupts. The package is actively maintained, has no runtime dependencies, and is essential for any Cython project that must be user-interruptible. The LGPLv3+ license is permissive for linking into proprietary extensions. Install only if you meet the Cython >= 3.1 and Python >= 3.12 requirements."},"id":"cysignals","links":{"html":"https://skillfed.io/packages/cysignals","md":"https://skillfed.io/packages/cysignals.md","pypi":"https://pypi.org/project/cysignals/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-10-30","license_spdx":null,"license_treatment":"copyleft","name":"cysignals","python_support":"supports_current","summary":"Interrupt and signal handling for Cython"},"popularity":{"monthly_downloads":728283,"position":5213,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.12.6"}
