pysigset
Signal blocking under Linux & OS X
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Linux or macOS; ctypes must be able to locate libc.so.6 (Linux) or libSystem.B.dylib (macOS).
- 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 · maintenance · safety
LGPLv3+ (copyleft) — 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.
last release 2021-05-03 (1929 days) · last repo commit 2021-05-03 · 12 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 90,001 downloads/mo, #13,622 on PyPI
Alternatives
Verify before relying
from signal import SIGINT, SIGTERM
from pysigset import suspended_signals
with suspended_signals(SIGINT, SIGTERM):
# Signals are blocked here
pass- 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.
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 on this page. Verify before relying on it.
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
pysigset on PyPI
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.
Requires Linux or macOS; ctypes must be able to locate libc.so.6 (Linux) or libSystem.B.dylib (macOS).
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
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 | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 1,929 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 90,001 / month, #13,622 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)Operating System :: MacOS :: MacOS XOperating System :: POSIX :: LinuxProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Software Development :: Libraries |
Evidence: pysigset-0.4.0.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “signal blocking python”
- pysigsetProvides Python access to POSIX signal masking via sigprocmask(2) and…
- pynetgearpyNetgear provides a Python API to communicate with Netgear routers…
- multitaskingConverts Python methods into non-blocking, concurrent tasks using…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also cpuset-py3 · lib-cli-exit-tools · cysignals · pytest-timeouts · aiosignal · psygnal · pyPPG · neurokit2 · pyobjc-framework-FSEvents · pyobjc-framework-CryptoTokenKit