/cysignals

cysignals: interrupt and signal handling for Cython

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

cysignals: interrupt and signal handling for Cython

https://travis-ci.org/sagemath/cysignals.svg?branch=master https://ci.appveyor.com/api/projects/status/vagqk56cj3ndycp4?svg=true https://readthedocs.org/projects/cysignals/badge/?version=latest

Cython and interrupts

When writing Cython code, special care must be taken to ensure that the code can be interrupted with CTRL-C. Since Cython optimizes for speed, Cython normally does not check for interrupts. For example, code like the following cannot be interrupted in Cython:

while True:
    pass

The cysignals package provides mechanisms to handle interrupts (and other signals and errors) in Cython code.

Requirements

  • Python 2.7 or Python >= 3.4
  • Cython >= 0.28
  • Sphinx >= 1.6 (for building the documentation)
  • PARI/GP (optional; for interfacing with the PARI/GP signal handler)

Links