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)
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.12.0 (release candidate)
Remove optional compile-time dependency on PARI/GP. [#166]
1.11.4 (2023-10-07)
Include generated configure script in the sdist again.
1.11.3 (2023-10-04)
Add support for Cython 3. [#174, #176, #182, #187]
Add support for Python 3.12.
Replace fprintf by calls to write, which is async-signal-safe according to POSIX. [#162]
Introduce a general hook to interface with custom signal handling. [#181]
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.12.0rc2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c19cdbc9bf38f460a0c300ce657cce57c89a9ef867b640427a265aceee433bf4 |
|
MD5 | b10c51a4f0de2a51b9a578c1f0da2420 |
|
BLAKE2b-256 | 29975c2fc2515420131f503fa7f6085dc8406b59e30998d965a5a4b2291e99fd |
Hashes for cysignals-1.12.0rc2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afe49c2e097fafbfe374b4e673590161c3b4d357102a344220eef0a16677cce5 |
|
MD5 | 0c041d621b897ca01a6790205e0a0870 |
|
BLAKE2b-256 | 3074fd0ded65db7f89580bada54953937601ab76e222d693a1365dd32783508a |
Hashes for cysignals-1.12.0rc2-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4523326a0eccff93e412ecda80b83f2420e6450f677c3551b74cc60c1834dbdf |
|
MD5 | 5577b7182052c714ca17d7af6094978b |
|
BLAKE2b-256 | 3b6eeefdc3e1dafa69131b7bc078cb93f894b562a164625d60c2cf461ea64e77 |
Hashes for cysignals-1.12.0rc2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9af9f2f249338d2e2e2aab87240b5435fd121f0099eb5b0ccd68b2392e8b48f6 |
|
MD5 | 2ea4e51f54549cd81251f1c96b89bf70 |
|
BLAKE2b-256 | d2016b9e894a058f8e1834973c973b297773b4bab122eda64f77703f8d57d87f |
Hashes for cysignals-1.12.0rc2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a98f097580a8cf0051fb700eecbaf25b21f164795fa9880578511f0492a2be88 |
|
MD5 | 6a4501b662be359080a7524fe515db94 |
|
BLAKE2b-256 | d3b4798cfc692f342fcfac1655c39fd2f5915cb6f55c5b1f8382dc85ef6696fe |
Hashes for cysignals-1.12.0rc2-cp312-cp312-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a7fc92bef3b5cbf52c576e3931212d363e37d58bb2e46bd8d210102e8c8ee38 |
|
MD5 | 87c41d8300a89f7af3ca2abefcefa29a |
|
BLAKE2b-256 | fcc0c07bd3d679e2389951dd5d30567f66089236f32e4ae5716b8e3868a2a2a9 |
Hashes for cysignals-1.12.0rc2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bffcff4067f04b04491f48ce84805c5542bdb71ecb52283ffd6e4cccb70d1321 |
|
MD5 | fd4b64d7ec476e2c2bc15e457fa5fc8f |
|
BLAKE2b-256 | 03481b8e81b6e4a19988ed2bd3b3002be91d6fc14199559d9ddae648f811a6f8 |
Hashes for cysignals-1.12.0rc2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fdb3ef69503f4095fa288a890aa0aa15aca382f50b7c004238cc1f22b263e6c |
|
MD5 | ab0bfc76508cf9e1075f0c8889576593 |
|
BLAKE2b-256 | e24fdd99ad71251bac77553e955526d15799433016c4b4a8e081521c9440d0ce |
Hashes for cysignals-1.12.0rc2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 378289430a159d1a1d3f395ad764de07017ae23e0da5f58e122a589454746c07 |
|
MD5 | 538c633f60ddfb7fad22f1311dd7c868 |
|
BLAKE2b-256 | 23a51cb7bed3236ba273f0a5eab6be12076dcf2cfbdc36381938c8329acb2083 |
Hashes for cysignals-1.12.0rc2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcf4527eb8a3f94435a6bd18b1b4495eab3a90496a7bb702d2c2932be77cd953 |
|
MD5 | 13200cf4ad93ce2ca6741a0238be2953 |
|
BLAKE2b-256 | 69a34d57970dc742058f165cf1b29dd26ab8b0936f4465b16ff63f23ecd35f72 |
Hashes for cysignals-1.12.0rc2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 165fff9d8fa1ce5810dc437e0de4b795f3ee5abfb8eab81d5c6346cbb1c1f1d7 |
|
MD5 | d73e1db2b6c4d5fee43cd0abb1c73257 |
|
BLAKE2b-256 | fce02820aacb0d7646a5cfdebbd122011cbbca30e2e1a6a6a36b38a4c13ba47c |
Hashes for cysignals-1.12.0rc2-cp311-cp311-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8439193c5c7e5d27a957ac838d3fdc693302a2d8562d620aaddca13f359e7ff9 |
|
MD5 | c8982849bef9838c7bf77a030d813377 |
|
BLAKE2b-256 | 2f97e4e50e1e2787026fde82c6b23b441dd4d5fa9d69dde6ca1eeefada0adf2b |
Hashes for cysignals-1.12.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7a25a7f9e125a410cc0273c98c0e4ca2d0eba6e470297d468fd335794a5be95 |
|
MD5 | 2bcded51bcbc232651e53f85e0cf37b1 |
|
BLAKE2b-256 | fb13c15a95f969e076b8e2caaac26081c6179a20642fc5f81f611dcdf0018b87 |
Hashes for cysignals-1.12.0rc2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00bc9096b9d8e9a067c7f95c06c708eae2cc9e798e6d70674da3063a1ccdc7d9 |
|
MD5 | 1300b901680fd4ed2061e3c311795d8b |
|
BLAKE2b-256 | 8fbb3bde25e3b180988e470409b198139101662318befa41bb1a95ed588ffa14 |
Hashes for cysignals-1.12.0rc2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbaaabf562919295362ae2868184aab40e56ab41c61e709ba614994ee42f3ee3 |
|
MD5 | d341501df8cd3419e92fc3d6595db353 |
|
BLAKE2b-256 | 3bd85651ef1e54ff3f06c3349cb59b23c3a92c1e38da595b512741c0277e2372 |
Hashes for cysignals-1.12.0rc2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aa651eebd46a2919e0466ab90c2660dd5c1f8b57158c558feced2c44942c161 |
|
MD5 | b215d431cd96c2f21f836bc9641a93cb |
|
BLAKE2b-256 | 2940bf2ba80c5e4717833dbce686345f24d96659fe51ef6fa2240171f6b31206 |
Hashes for cysignals-1.12.0rc2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6390d4a0f2a271e2d5d8456db10f96ccc22302eb173eb7c22f7ad1c971584c6 |
|
MD5 | 275b23ef6fdc7d85d9f0b2e10565193e |
|
BLAKE2b-256 | d638a612b1362df579286f00e2c184b54dadd426886e9515a8e19c428358692a |
Hashes for cysignals-1.12.0rc2-cp310-cp310-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a34216ba165f52084704e63a99545e8b59545ca5168aecaeded08aa2a2a0b78 |
|
MD5 | 7bf40b32196a79920a869d569e91577f |
|
BLAKE2b-256 | cccd400e437a0ec5f8140d29a8ab35367c601ae7e1c77a2f7a1fc27c2d5f418c |
Hashes for cysignals-1.12.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df42771d752d59dd3f4e0909eea6c9e6eaa402c0cf4238ee678e6017fbdb7252 |
|
MD5 | ac8cadcaa904ef57123393a6093976f4 |
|
BLAKE2b-256 | c571ebed409404eb5d0b6e663c894e50d4839f97f8e833421790e6f821909847 |
Hashes for cysignals-1.12.0rc2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7161a243af0bd09b041a1f75efa606ef7025d45a526586a86b7a6b87724174df |
|
MD5 | 1e25f88e746c70cf0260ec6595f49492 |
|
BLAKE2b-256 | 0b56bded66f4e80f0fe9ec01559d365e6aeaf1ece52c85957d51ec4387b6b5a6 |
Hashes for cysignals-1.12.0rc2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8a1c320e7636a6a8956cb14f837298e1b197207f859fd2e10bb402b3ce6d98b |
|
MD5 | 823da8ff0ecc978cf1e57083f10f774d |
|
BLAKE2b-256 | 9e8cd5faed87892ef06c00596ce9e349fff677f69256a2dcda8f96814789e18e |
Hashes for cysignals-1.12.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1631e479a910b1597b1a4e1ee47ba41656cfec4bd810615c8ea51ecdf02db0b5 |
|
MD5 | f8bcf7611e68acb11143cbfe11b918fd |
|
BLAKE2b-256 | 03a3956afd742346fc77138f6bfd742752e665743c48e1bffe3f477b7e62f3fb |
Hashes for cysignals-1.12.0rc2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 449e8a4653b3ac2941353cdcf667b043ab016efffebb42aa52e4d9b4b633c5d6 |
|
MD5 | 396f3c035181b1da4c1a39f5b583f715 |
|
BLAKE2b-256 | 7b68b7e2c33e6f2e3b2f8c2566a2b5877cdc43604130fe8f96c405962b7c4ae8 |
Hashes for cysignals-1.12.0rc2-cp39-cp39-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dd685f6cb2ac21ffe92a6654ed46d38d7ee4640ff6f1082d84830efcdcc4ca2 |
|
MD5 | 301797ef2bfdd4154452cbfb6c1821d5 |
|
BLAKE2b-256 | a114453bee134121a11f21cb7e43433955163876adeab1ccb14b2a35dd26667b |
Hashes for cysignals-1.12.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c93d6af66b028718ca3347026e84b21f6e16ccc87536e81740b9f8ef9d5c123 |
|
MD5 | 2be1af6b26fb2b4198f200f33a9b6295 |
|
BLAKE2b-256 | 4968d0c209518295080f2ed466389bbe96563e08882e6ed6998e25e0d9b5feef |
Hashes for cysignals-1.12.0rc2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc198af4ff04ad34c44baf1e2886b4ec77925424eca3d2ad271a998ac7bc08e1 |
|
MD5 | d73324edb9c20544a30b10282ed57eed |
|
BLAKE2b-256 | 9a75d30186e968c43a330c95aaa82457656f1f506ebaf6733c6867c4a879fbb0 |
Hashes for cysignals-1.12.0rc2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f13583f6a75be34718e517fd0d1a27b58d73a405dc2690175c7b15015440993 |
|
MD5 | 1da65cee0b8a4e4995c6744eb0075023 |
|
BLAKE2b-256 | b3ff32d6479dafce7150a772df8e79d70e693214dffe78e6a12df07ab07470d5 |
Hashes for cysignals-1.12.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c449bd0facc2dc290a1d2a46684517f3f98e1a2b6cbb3012fb002984f8bbbd2 |
|
MD5 | fe89f87873760d2abb2de135e0158859 |
|
BLAKE2b-256 | 9f2929a5c01eca10e45276f9a0e499528ae8dfa1edf6d5d21ed69c940d7865dc |