--- id: pysigset version: "0.4.0" license: LGPLv3+ license_treatment: copyleft maintenance: abandoned --- # pysigset — Signal blocking under Linux & OS X License: copyleft · Maintenance: abandoned · Downloads: 90.0K/mo ## What it is and what it does pysigset wraps POSIX signal masking functions (sigprocmask, sigaddset, sigdelset, and others) to let Python developers temporarily block signals during critical sections of code. It provides both low-level access to individual signal set operations and a high-level context manager (suspended_signals) for convenient signal blocking. The package uses ctypes to call libc functions directly, avoiding compilation requirements. It supports Linux and macOS. However, the project has been abandoned since 2021-05-03 and shows no recent activity, raising questions about compatibility with modern Python versions and current system libraries. Use it for: - Block SIGTERM and SIGINT during database transactions or file writes to prevent partial updates. - Temporarily suspend signals while manipulating shared state in multi-threaded applications. - Prevent signal interruption during cleanup code or resource deallocation. - Implement graceful shutdown logic that defers signal handling until a safe point. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides Python access to POSIX signal masking via sigprocmask(2) and related system calls, allowing you to block and unblock signals in critical code sections on Linux and macOS. No. The package is abandoned (last commit 2021-05-03) and untested on modern Python versions. While the core functionality is simple and has no external dependencies, the lack of maintenance creates risk for compatibility issues with current Python, libc, and macOS versions. Consider alternatives or inline ctypes calls if signal masking is critical. ## Install pip install pysigset uv add pysigset poetry add pysigset ## Installing pysigset Before you install: High install friction: the package relies on ctypes access to libc.so.6 (Linux) or libSystem.B.dylib (macOS) and has been abandoned since the last commit on 2021-05-03 with no maintenance activity since then. No runtime dependencies, but platform-specific system library availability is required. License in practice: Licensed under LGPLv3+, a copyleft license. You may use and modify the package freely, but any derivative work must also be distributed under the same or compatible license terms. Quickstart: from signal import SIGINT, SIGTERM from pysigset import suspended_signals with suspended_signals(SIGINT, SIGTERM): # Signals are blocked here pass Requires Linux or macOS; ctypes must be able to locate libc.so.6 (Linux) or libSystem.B.dylib (macOS). Verify before relying: - Whether the package works reliably on current Python versions given no maintenance since 2021-05-03. - Compatibility with modern libc implementations and macOS versions. - Whether ctypes-based access to libc remains stable across system updates. ## Package facts - License: LGPLv3+ (copyleft) - Python support: unspecified - Install friction: high - Maintenance: abandoned - Downloads: 90.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags signal blocking python, sigprocmask wrapper, block signals linux macos, critical section signal handling, POSIX signal masking, suspend signals context manager, signal-handling, posix-systems, abandoned [View on SkillFed](https://skillfed.io/packages/pysigset) · [View on PyPI](https://pypi.org/project/pysigset/)