Interrupt and signal handling for Cython
Project description
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 >= 3.6
Cython >= 0.28
Sphinx >= 1.6 (for building the documentation)
PARI/GP (optional; for interfacing with the PARI/GP signal handler)
Links
cysignals on the Python package index: https://pypi-hypernode.com/project/cysignals/
cysignals code repository and issue tracker on GitHub: https://github.com/sagemath/cysignals
full cysignals documentation on Read the Docs: http://cysignals.readthedocs.io/
Changelog
1.11.2 (2021-12-15)
Drop assembly code added after 1.10.3 that is not portable.
1.11.0 (2021-11-26)
Drop Python 2 support; bump minimum Python version to 3.6. [#142]
Fixed compilation with glib 3.34. [#151]
Improved testing. [#139, #152, #154]
1.10.3 (2021-03-16)
Improved installation of cysignals with pip install -e. [#130]
Fixed compilation of OpenMP modules that also use cysignals. [#128]
Fixed segmentation fault that could occur when sig_occurred() is called recursively during garbage collection. [#127]
Improved error reporting of signals that occurred inside sig_on() as opposed to outside them.
Fixed bug in the cysignals_example package. [#113]
For changes in previous releases, see the best source available is to compare git tags: https://github.com/sagemath/cysignals/tags
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for cysignals-1.11.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc0b39e0549fe3c420d9592cbe562b056d909dbec7d553c710520db424f4da47 |
|
MD5 | 3c11bbdfdd1d657dec3f6c90112b63bf |
|
BLAKE2b-256 | 4e4dd43a6125087d4e6118a9e30723dafa91da586a332c22c994429316702cb2 |
Hashes for cysignals-1.11.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 527518ee88fae25aa1a32a2bee9c2179c2797f9eea6ec5bbc23d4a2d29d65d69 |
|
MD5 | 4949ea23736492655721563e8487382c |
|
BLAKE2b-256 | b56473af705c7e9c4664b70d02176055a10a74314c58cf8867b9b644315b6079 |
Hashes for cysignals-1.11.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca139d0db33febda85ec63a3e26c87fbe373783b1761715a8e73133bfda5211a |
|
MD5 | fd1908f0197bdb19f6662dd1256ce777 |
|
BLAKE2b-256 | d388a00a67445d444e5839991f4c0ce0cec9e93d461a7ea2731f9d9cdb591210 |
Hashes for cysignals-1.11.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf0a5fa6dfa6a8938e7169ac73908e21da26bef08bdeb7a33f5b5d0b3213cd50 |
|
MD5 | d556a07968e35c5d468624445144f573 |
|
BLAKE2b-256 | 818ff11e90c827c03f022a33fea68a6c2d711bd3c6442acc3240a0a27582b624 |
Hashes for cysignals-1.11.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82fa94f480f8d4cc21255b04dec0be048500bba78091ede7ce06b7fea47565b8 |
|
MD5 | ed5f29666b5c49f10e9aaa64f4f2e4e9 |
|
BLAKE2b-256 | bf168c2434ecf891b968cc1fc844ab12f1db91c93b8b5163d0fdd32832cb47fa |
Hashes for cysignals-1.11.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 267c3d83482c714f3e3cbca34040a2e9d1d4752902451e152373d918ca031998 |
|
MD5 | e4f6e47c5c540d8b6f474888b5218ef4 |
|
BLAKE2b-256 | 94b66a93d1a88124320f2724ef70096d38f1aecb0e4b5b8dbca50d1d6ba9de1a |
Hashes for cysignals-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e9e7a98ac9c341a7416265ef06279f9d7d1fa3e94ea1221a601d459d4a1a857 |
|
MD5 | b18bcf358c1f352165dfab0f510fc09a |
|
BLAKE2b-256 | be3f512c0b0b0a61b8a01037ee097b921c46add92ee7d2dc058d10775f375808 |
Hashes for cysignals-1.11.2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2cce048794e18e0dcd95b0aa5bc550f01b93141164f9be07f4ec1e28506d5f9 |
|
MD5 | d213d64e95f5147f7a374d71eefa1a60 |
|
BLAKE2b-256 | fea8e97b4d8558c8f34bb84177ff545a5a0701efe0d0e594b9bf0ba3929c52ba |
Hashes for cysignals-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84abb9759c355714662a337ded609b07d874eb78e0edab5ee218131ad961f47f |
|
MD5 | 22dcf9a1da990cffdf10685886e7f131 |
|
BLAKE2b-256 | 7439cff27e1dba4ee0bd0939c8ab16472f98693fc9736b539bdd87350bb0b75e |
Hashes for cysignals-1.11.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc974fc6fd4967916c49bd1a9e65a6bd28c240f90c0abbba4bb014cab52a9110 |
|
MD5 | dcc7702bb3b1e207b4a3fd60698853e3 |
|
BLAKE2b-256 | 3907aa01cf42bccfe9d98159b64d7e0ac130b6ab4c11eaa73dc08bf6d89dbbe1 |
Hashes for cysignals-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa5f6843a0d41e614f18163ecaf616ff0ece7a74a89ede4ba1c77561cd1b8de5 |
|
MD5 | b23a1034f1fdc2d1fb410e608f62812c |
|
BLAKE2b-256 | cd6a7da3fcac7014b2dfd8822f4f242ba5d09bbeb21a3e450581ea951a4717c6 |
Hashes for cysignals-1.11.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 833d7c85e634ea3aa7b16e5db71f4c6b3c4f5cbe96d8df9c479568564b808146 |
|
MD5 | e5ebd627d4e898dd7836dae85297f81a |
|
BLAKE2b-256 | 312ba242966b22c75d638851b0216b0338792d1cbc81a430504671ca2afad3fd |
Hashes for cysignals-1.11.2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa99a00da716c3b30b1b8a14c9c5193e666fe1b8f2225110049527522766646d |
|
MD5 | 0edb9b7c2dd6e357364c6ab4ab456bce |
|
BLAKE2b-256 | aa073a347cdab9b280ef27e322e317f3856eddf22b36e8975e37ebbfcf933f2c |
Hashes for cysignals-1.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 143dcbe624bc99ecaf6a1e520a0afda6388e68487b4212704f18c250d9d8d2f3 |
|
MD5 | 8ac0cde895895f622bac65781d6c98bd |
|
BLAKE2b-256 | 185972c2b0edfc4e6fd164d11eaa428ef3724b6ef8125a31a5fb899b4656bcb3 |
Hashes for cysignals-1.11.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b5b3fd42fed6d2d1d8ca5d37e0c9ce9966dc7e9d0a9ec879c44de2bb1e76b3c |
|
MD5 | 03f462d7eaa4706d77c0c94e70f2bcec |
|
BLAKE2b-256 | b391b19e9944940a2a118547693ce2a0e8c44402902028255229526ce6220076 |
Hashes for cysignals-1.11.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2bd95b9f569a36ab020a701fd08d6cfce10c8db2a3cb0c4aad4ce3fb790f93d |
|
MD5 | fee1b2045f912738b60035b2fddcb162 |
|
BLAKE2b-256 | cde6bf93c4c9f9c40b1231df65f0a485344b881e12f23ba2aa2aec34bec74b17 |
Hashes for cysignals-1.11.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eab8038bb5e9ee1c7a7cfc28bf9a9b02101c924b9424dfd7ab38c51d462a728d |
|
MD5 | 494db51cc0bd809969fcf7c80165d40f |
|
BLAKE2b-256 | 2f900103988f3ae693f6ad0027ebc71561ea1d52955f6b8f9156c2047c43f1af |
Hashes for cysignals-1.11.2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fec0c31047becac75ac6f705b3f12df0eca4df8f7a576f2a0791d3d74272bbe0 |
|
MD5 | ece5297629eb151796bd34e8db25a113 |
|
BLAKE2b-256 | e54858b9686564b158b106f3a162403b76f6d628e56a28300087bbae6bff7dea |
Hashes for cysignals-1.11.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5694edaedcf9bd1e77f558d0e7b0665e6020f33897935f24947859919ec3e04 |
|
MD5 | fbcf02c5c44a7d62a9231a51bbba75dc |
|
BLAKE2b-256 | 939cabcb8ef57ea6e68d8f008ccf4a45d6413a679f961d6c9e025da076fe0eec |
Hashes for cysignals-1.11.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f586720d09c86448c6f383c2a2d2cb346ff5dae21ba94bcf19d5714fc4a8833 |
|
MD5 | 4953d37bcbcb91dddd96a082e1ef321d |
|
BLAKE2b-256 | aeb42aed308f588e1bfbbe09bd09b08e9d690e0a83d47233cf5817736269cc54 |
Hashes for cysignals-1.11.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a651e8192c131bf6798d957f76924e0b3841f7f4a287745b99d66dc553ec8102 |
|
MD5 | 6b1d25d74daf600ee9f332d5f365ba09 |
|
BLAKE2b-256 | 95a7be317b737ce6ebc570a83c146c91f85a2e72c6b855c82c2f55b9437264dd |
Hashes for cysignals-1.11.2-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49e18c398cc6bb3a2233c1fbe64694c3b7544e831a4b716eea1cd80f1f37420b |
|
MD5 | 61626ae79d7ce58498ebf7e5bc79317a |
|
BLAKE2b-256 | 2e952f4b02bf639dbaa30b3deb4f5a07c1aed8b980f90549638640227ac5d417 |
Hashes for cysignals-1.11.2-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d282403fbb769ab972642f54c2fd9068353f9bf781147d2d5cbbb8ae5f2ed090 |
|
MD5 | 71f45aecb0dc66cf1a6b07bfbbaf7b01 |
|
BLAKE2b-256 | e3c5f61be551f7fdfa7b27813d2c2bc314fe9e59d6ad753d7f60572bf84f1aa8 |
Hashes for cysignals-1.11.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08d781581cccbbbe2e9d050b38934468cda9d4cbc066b79f828e8e20b764aa00 |
|
MD5 | d4b3acccfeadee7a72e251b26f7444ab |
|
BLAKE2b-256 | 97ef5bf6ce10385b38e2ed72e3b86ec63638d3f23212dad03003a9f9ef342279 |
Hashes for cysignals-1.11.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16f94c3c052e56be70e6a90825590066855f2cdb5f0e9966d9e132c0bdb56e9a |
|
MD5 | a651d22f28c9e5a3522fe8e2d7599ec2 |
|
BLAKE2b-256 | 6cefd7f16585b0fff31c59e9d09e2bb0b4cd3253cf6949a35d718b6a827564c1 |
Hashes for cysignals-1.11.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac8ab6ae22d242efcad1d5351492636520f4ea5005b59949835b7194f56d415c |
|
MD5 | 7dc410e397b8cb69c0ad9a4ec54a0c31 |
|
BLAKE2b-256 | 78ba7ee1c46317ec54fb635768425a7b29d5c5a6b7ea17f6119fff3d793b0f97 |
Hashes for cysignals-1.11.2-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eedd6b14c3309860c900e9e635cd178b722f3948d7918f528b857c1c79c3bb16 |
|
MD5 | 653f2f52b0f9ecc24dc81c50ea25c7e0 |
|
BLAKE2b-256 | d47c2530ea110bf92a18c80c9bed04732900a2d99bd10d157c7ccb189997527e |
Hashes for cysignals-1.11.2-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa824989e0786348863edf608e05fa9d85ec3d26a1b77838e69c0328da5000f6 |
|
MD5 | 274a2d055d3205126d934a225bd322bf |
|
BLAKE2b-256 | dadc94112bdf06dbef3fffa8eaa681290825452977a88233e34b41fc3b7a5e35 |
Hashes for cysignals-1.11.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 293b746421876126d8e4eaca111d0774f058af893365ee934555af0ad0b858bc |
|
MD5 | 5ed73cefaddc7e2b8b21c4ec29ab0dde |
|
BLAKE2b-256 | 966d0dc13f9062db32889dfb1e5fcd698672c9cb4d2985321d38cb5d92db2848 |
Hashes for cysignals-1.11.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d7ec4e45e5b949972d2571d27bd0dd74d0d7889e4c91a9ee0a778cde0e46703 |
|
MD5 | 50f67482b39b2e2084e5cefc448643a3 |
|
BLAKE2b-256 | 947a16ec224a994d9c0a6803e85b07a6a539de8d60e24792614cdf84da97cd58 |
Hashes for cysignals-1.11.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7deb00b8182796a4aa67b670f73995cec08a2d8a014b6bd4e24aa8fb7ecb22fe |
|
MD5 | d328e6a0a56eaaf2ddc6c66c340ed69c |
|
BLAKE2b-256 | f44b6dc138860f7b12071840bedab3ab87c5d6b7a77e63db68d50abca1d2443f |