$npx skillfedfor your agent

interruptingcow

A watchdog that interrupts long running code.

SkipPyPI SystemReleased Feb 2018169.3K downloads / moMITSource build

Decision gist · record as of 2026-08-14

sdist only — interruptingcow-0.8.tar.gz · builds from source
v0.8 · released 2018-02-27

No. The package is abandoned (last release 2018, no maintenance for 3090 days) with no active support. While it has no known vulnerabilities and the MIT license is permissive, the signal-based approach is fundamentally limited to the main thread and incompatible with modern async patterns. For new projects, use a maintained alternative like `timeout-decorator`, `signal-timeout`, or language-native async timeout mechanisms.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Only works on the main thread; uses SIGALRM signal, so incompatible with code that also uses SIGALRM (including certain profilers).
  • High install friction: the package is abandoned (last release 2018-02-27, 3090 days ago) with no recent maintenance signal.
  • No runtime dependencies, but the stale codebase and lack of active support are significant concerns for new projects.

License · maintenance · safety

MIT (permissive) — MIT license (permissive) means you can use, modify, and distribute this package freely with minimal restrictions, though you must include the license notice.

last release 2018-02-27 (3090 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 169,283 downloads/mo, #10,422 on PyPI

Verify before relying

from interruptingcow import timeout

try:
    with timeout(5):
        # slow operation
        pass
except RuntimeError:
    print('operation timed out')
  • Whether the package works reliably on modern Python versions (classifiers list 2.7 and 3.5, but no recent testing reported).
  • Whether nested timeouts and quota sharing work as documented on current Python releases.
  • Compatibility with async/await and modern concurrency patterns.
Same gist for agents: .md · .json

What it is and what it does

Interruptingcow provides a context manager and decorator to enforce execution timeouts in Python by raising an exception when code runs longer than a specified duration. It uses the operating system's SIGALRM signal to interrupt execution, allowing you to gracefully handle slow operations or infinite loops.

The package supports nested timeouts (where inner timeouts can be smaller than outer ones) and quota-based time allocation, letting you share a fixed time budget across multiple invocations. However, it only works on the main thread and cannot coexist with other code that uses SIGALRM signals, making it unsuitable for multi-threaded applications or certain profiling scenarios.

Use it for

  • Enforce maximum execution time for web request handlers or API endpoints that might hang.
  • Implement a time budget across multiple loop iterations, falling back to cheaper operations when time runs out.
  • Wrap potentially infinite or very slow operations in a decorator to prevent them from blocking the entire program.
  • Create nested timeout scopes where an outer timeout bounds the total runtime of multiple inner operations.
  • Debug or test code that may hang by catching timeout exceptions and logging diagnostic information.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Skip

No.

The package is abandoned (last release 2018, no maintenance for 3090 days) with no active support. While it has no known vulnerabilities and the MIT license is permissive, the signal-based approach is fundamentally limited to the main thread and incompatible with modern async patterns. For new projects, use a maintained alternative like `timeout-decorator`, `signal-timeout`, or language-native async timeout mechanisms.

Install

interruptingcow on PyPI

Before you install

High install friction: the package is abandoned (last release 2018-02-27, 3090 days ago) with no recent maintenance signal. No runtime dependencies, but the stale codebase and lack of active support are significant concerns for new projects.

Only works on the main thread; uses SIGALRM signal, so incompatible with code that also uses SIGALRM (including certain profilers).

License in practice

MIT license (permissive) means you can use, modify, and distribute this package freely with minimal restrictions, though you must include the license notice.

Quickstart

from interruptingcow import timeout

try:
    with timeout(5):
        # slow operation
        pass
except RuntimeError:
    print('operation timed out')

Verify before relying

  • Whether the package works reliably on modern Python versions (classifiers list 2.7 and 3.5, but no recent testing reported).
  • Whether nested timeouts and quota sharing work as documented on current Python releases.
  • Compatibility with async/await and modern concurrency patterns.

Package facts

LicenseMIT permissive
Python supportNot specified
Install frictionHigh. Source build required
Runtime dependenciesNone
MaintenanceAbandoned 3,090 days since the last release
First released
Downloads169,283 / month, #10,422 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.5Topic :: Software Development :: DebuggersTopic :: System :: BenchmarkTopic :: System :: MonitoringTopic :: Utilities

Evidence: interruptingcow-0.8.tar.gz

Tags

Capabilities
timeout decorator pythoninterrupt long running codesignal-based timeoutpython code execution timeoutwatchdog timernested timeoutstime quota allocation
Topics
signal-basedabandoned
PyPI keywords
debugwatchdogtimerinterrupt

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 › “interrupt long running code”

  • interruptingcowInterrupts long-running Python code by raising an exception after a…
  • cysignalsProvides interrupt and signal handling mechanisms for Cython code,…
  • stopitProvides context managers and decorators to enforce timeouts on code…

Give your agent the search over MCP, or paste the wish link into any chat.

More System packages

filelock Worth it
PyPI · Libraries · released Aug 2026

Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.

MITpure Python · 3.10+
717.1Mdownloads / mo
distro Worth it
PyPI · Python Modules · released Dec 2023

Distro provides a reliable, machine-readable API to query the Linux or BSD distribution name, version, codename, and other OS platform details, replacing Python's deprecated `platform.linux_distribution` function.

Install it if you need to detect or report the Linux/BSD distribution your code runs on.

Apache-2.0pure Python · 3.6+
417.9Mdownloads / mo
psutil Worth it
PyPI · Libraries · released Jan 2026

psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.

permissive licensecompiled wheel · 3.6+
387.6Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo
aiofile Worth it
PyPI · Libraries · released Aug 2026

Provides asynchronous file I/O operations for asyncio programs, with automatic selection of the best available backend (io_uring, libaio, thread-based, or pure Python) depending on your system.

Apache-2.0pure Python · 3.11+
75.4Mdownloads / mo
portalocker Worth it
PyPI · Libraries · released Aug 2026

Portalocker provides cross-platform file locking with support for exclusive and shared locks, plus Redis-based distributed locks and process-aware PID file locking.

Install it if you need file or process coordination; the optional extras (pywin32, redis) are only required for specific lock types.

BSD-3-Clausepure Python · 3.10+
65.1Mdownloads / mo

See also async-interrupt · cysignals · stopit · pytest-timeout · wrapt-timeout-decorator · async-timeout · codetiming · jaraco.context · wait-for2 · pytest-timeouts