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.org/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.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.11.4-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dcf13dc533eec2daeb2ec2e5dd25060f2fd5d8cfed3692f3f94f3ca57cfb6ba |
|
MD5 | 70c06accc0d2c99da36bd5541c4f4a86 |
|
BLAKE2b-256 | d33d5048cbe89747cab5e2abca4c77925bb7d564c0cc019bef3e037fa5c68681 |
Hashes for cysignals-1.11.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c30dcb9673f91e67c652e39cba465824870dced3189250a32e1d2e89dd94c755 |
|
MD5 | 65c075ace950a06bea16722e734b8e56 |
|
BLAKE2b-256 | b276716d45a9aa3b8f8adf269467dc20a5b2f4e5da2716f07f6efa5c50ede763 |
Hashes for cysignals-1.11.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 148e339fb4a5539efbffdf631689a222d097e681ad81af9472c854b6ac24250e |
|
MD5 | 7885ad3d608387d035e5b39df08c0531 |
|
BLAKE2b-256 | 9aaf850c91da2b56dc9b91b6cd7348e9d919fb154f6ba4c0dd775fce96052d2b |
Hashes for cysignals-1.11.4-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e846f42d08d412861aba0d84662329cddf9ad94181ba74540a6a3c362a69203 |
|
MD5 | 209f01ea1a0028c15ae4fd5019afe635 |
|
BLAKE2b-256 | 3f8748c16573a0fe0f3fdd2482ae6f282e56562c00a60036af576f953c789d51 |
Hashes for cysignals-1.11.4-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e75d634e6d7c578e03e1f3580f405f42c26931141a32541be13549f38f78269 |
|
MD5 | ff9246f34b3b7fbbf34aae06727be907 |
|
BLAKE2b-256 | 1f3ef387e818b1fabce8b1a3169f9ee50228e0f5cee296912fe616cb7fa2eb11 |
Hashes for cysignals-1.11.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 507973e3265be5c31e82afa247df39ece9494db4e9121925a1c2392c1121004c |
|
MD5 | beaa3acf25a0d25e5def216d9f03d182 |
|
BLAKE2b-256 | a47150408c5cf10e2a76c4fdf87eace8ffed106b0cf3b14659f42b6712e7416b |
Hashes for cysignals-1.11.4-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e477e076d7bc709f9863fd43e673f734bf282108726c837c7d7bed290913760 |
|
MD5 | bfa6781d96795e14a898c9cb398b5bb5 |
|
BLAKE2b-256 | 8557cf4afbf2ce4fcb11d18de34812606f90be894a41dd3736794959afeede29 |
Hashes for cysignals-1.11.4-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0581ed220965aa23b17d22315185cb5ea112ceafebbcaf4e5998ce55b5e2a8fd |
|
MD5 | 9827482da5ab168426dcf4cd5f1142ea |
|
BLAKE2b-256 | 8cb18452b8b75b9f1866d3549c5bdb6a292feeb3d8f65431aa9dcc4700deee7d |
Hashes for cysignals-1.11.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1285f2dba0e0aa2214d88bf1c56bee497fe2423eb49b57e503c58e150e84772d |
|
MD5 | df8c006a79a4909daf22a7ed6995bc0a |
|
BLAKE2b-256 | 30945e93d5db9b373469e3e6a043ea8539719284b2b93c34db6b80c26687f463 |
Hashes for cysignals-1.11.4-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 872f8a43bede5e074f69d5ea966334e06344131c42da87f476b868fbb9df8ce2 |
|
MD5 | 9af415f1f29631e472f388ad70268202 |
|
BLAKE2b-256 | 9c35d64fe72daa8251fc8f79af3d102d752b6b92f6d43ef38c9ec2b2248704f6 |
Hashes for cysignals-1.11.4-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9083722061e7d5fab4904b225b071957c64c0740886b554a67a3f8e2bbbaf4e9 |
|
MD5 | f8319ed5fd2e0ff8f343b5b9c3fa8839 |
|
BLAKE2b-256 | 3822ad56cc7167c3c4add87e9c032c757d4681eb772951e108b86b37043610a4 |
Hashes for cysignals-1.11.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de6dc5aa0676aaa198b5107c9f7b9b40621707a40f7700876bb48a606aa8c7f8 |
|
MD5 | 4f409e81199cb4e0684c00fdfab9738e |
|
BLAKE2b-256 | d57c54bad86ef36387da40657735cc4afc3e90e2765a2fa79a641472554d232f |
Hashes for cysignals-1.11.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86e26b702792b3fb5af480f68f0455932150cca37435b68154c26e3b1a8c40bc |
|
MD5 | 9ea0565189aaec8eae5f903446924a51 |
|
BLAKE2b-256 | 7a8605c00d6034d5ace3917c41764a7eb802fe095b651a211d5195b383b2fc32 |
Hashes for cysignals-1.11.4-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5466183053465d0517847ee3209dfc38b3911b7a64d54985ef1176d7771f6c7 |
|
MD5 | e27fdbb28c092159672e4b800636035d |
|
BLAKE2b-256 | 8144e25c45a75a4d7c08cd115e093d6a64c7990230ce5e883cc6bc7698bf47a2 |
Hashes for cysignals-1.11.4-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34d38d60b3a033b1900d321768aef537e134b67f6feff818018c03fec2be69bd |
|
MD5 | 17aa080942a2e0057bf2975ca3728114 |
|
BLAKE2b-256 | 59ae95dde4d3710908ba4ed1a2fb43fbc6f1730b70210e566a19cc807d85112a |
Hashes for cysignals-1.11.4-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41d93f38a7698281ea9bc1d300236f6fc1fce04c39aeabc374ed434bbdd6b595 |
|
MD5 | 1e659726b7c2b94b76d6e55985b49bb1 |
|
BLAKE2b-256 | 1f512ec41a9acae7027c95a2553eee190e015a01216f134aff85c97b7f720bea |
Hashes for cysignals-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcf2daca22cdb1966df79bdb6a4fc26943d0eb7b26e95f882576b6c5dee64006 |
|
MD5 | e65c7dfaa177322d634ef9efbd66ac7c |
|
BLAKE2b-256 | 55a15623c8d89edb7b0b6a0e0013f4ccde8add1c0b00e26b4bc424d5bd684b6b |
Hashes for cysignals-1.11.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d5fbd837bbcd80656176a5d310506beb312ed54c512926509664759e4448f0a |
|
MD5 | bb8a697a5dcd1c730e9df677ef7d7bd1 |
|
BLAKE2b-256 | 0acd5916c1aef9653cff846c0a39e852f5b1ea61ef7b63958708cce5da508432 |
Hashes for cysignals-1.11.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5422fb91e8343135f5bf54d25ca10309f0fdda93c7321300d99fdb15cf97bb57 |
|
MD5 | 391f7272eb09074c5dfc27e9b78407f1 |
|
BLAKE2b-256 | dd4b4335a18689f6500cdf211747afebb0fe818ebc3c29fdc3e1ed5ca03750fb |
Hashes for cysignals-1.11.4-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 738bedb1bf2b41b2a826135c707a7649d485268eafe9fcd7a1048b7536690a57 |
|
MD5 | f18ec2082b2cbdbbe566f60d20038943 |
|
BLAKE2b-256 | 84d7267df6c630e96e5440fc38ccfe4a3a1b2d593a530e10b172cf1b5aaa1216 |
Hashes for cysignals-1.11.4-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15330cb7821be9dac7e382f36c611260955002c4010774e106cee89c7ef68eb3 |
|
MD5 | 5bf78bb29f549365845646d760ccaae3 |
|
BLAKE2b-256 | 90d53bdc16000c37558ff2e8dd2933b9bd9009d401cf35be27efaa983a96f40f |
Hashes for cysignals-1.11.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46ef59b332977ec777f575c439c075a742e8c928e70bf6abb0795939f403b7f0 |
|
MD5 | 07d67549b6360be32087c7a1ea4154ec |
|
BLAKE2b-256 | 00fc5f31c0a47adeefd7377678fd3ba5a1b9e85ea407de6678bf0b1d94ae0f9b |
Hashes for cysignals-1.11.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c75f2ba7544071056dfcfe78cf1421542e013e99099e1e29c43780d98db1ff22 |
|
MD5 | 26cf415c3a9ff2b6b2484572146c93b5 |
|
BLAKE2b-256 | c67fe2691e6fe365397fb554e1fb16bac16dc4f65300c27c947a205a84e04923 |
Hashes for cysignals-1.11.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e544f3789a3373a983f05fe4074a065803493328cc056cfcd6decf2238f38d7a |
|
MD5 | 2aee863e748613fc9f46fb9642925804 |
|
BLAKE2b-256 | 59b913ec958365cc6bb922f7df678ed1446e3dc87d830ffafdc01949fa126a41 |
Hashes for cysignals-1.11.4-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7749427f6417a07a740c2265340582a6865e3c546541330fb8c510c3e89c7856 |
|
MD5 | d3d0c58b1453efa02bf35c0642994f63 |
|
BLAKE2b-256 | d1942e17cdc0b8dc7f84b0674f870204547d8a01ccaa5404f1a08a64204d42e5 |
Hashes for cysignals-1.11.4-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91580cb2b7b546e9e0e8c5a0b0ec78bad4301d991dfe478cb6fa6beea688cbdc |
|
MD5 | c9f584c2661878e37d181f79f3342b38 |
|
BLAKE2b-256 | 169765d0190d74ae5fc022762a7cea2102fa242a42cbc7f62f8c761961aa89ab |
Hashes for cysignals-1.11.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be562f1cfecfcea0dc0142a8f171ec8578601f225ad077ff8c02c8875c84e5bf |
|
MD5 | cbc375ad5853827707b73210a3a583e4 |
|
BLAKE2b-256 | 1db4a4b0cdae675ab7a4cf360ddad078358a49b6f0d9415a12a14d921ffaec94 |
Hashes for cysignals-1.11.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 094f29a6e30745265324697f6c22fa44474fde6bf7aacb6c1c148d5f36a6f846 |
|
MD5 | bbab6f7d9ee76777185cb1ef5edff567 |
|
BLAKE2b-256 | ca5ac66b660eb198cc4d2f4fda4ebd2468fceb3f1e52e6c4337d540bce2a2160 |
Hashes for cysignals-1.11.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3f828be2114bc163e239be9134945172b4fed1c4eae460abbf4b3eb11dee4bc |
|
MD5 | 155a5d1809f8868d7cfcb2a84d354e3c |
|
BLAKE2b-256 | 3a54ce5ccde6728e16844957af44d29e83d57bb2f1316a5c90daab15fef6094d |
Hashes for cysignals-1.11.4-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f00d38764f4743ed07d9baa826ce0ff6854e4cb8418d136d76a64aa0982fbef |
|
MD5 | 88e816e20a01ee1b252f6212f6a8d782 |
|
BLAKE2b-256 | 6278900eb8125dbd3ba2760932c9147c99c3d912ca911fdff1e50c3cfaa63e6d |
Hashes for cysignals-1.11.4-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5ff676a5da7cd55e0de3cc8578f86df9053f26847acfdd5dcb7a08b41cdc14a |
|
MD5 | f726d312cfafb083872d18ef32608401 |
|
BLAKE2b-256 | fd20ad8f40fcc4b627e600475a452a32ce37a31e50327a4203a27b30ac123be1 |
Hashes for cysignals-1.11.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 893b4c5a40cc8243a942cace6eae08cabbea440452f0d319a41d2471967e23f9 |
|
MD5 | d3506527b9f7bd8ad35e2b9cb6153719 |
|
BLAKE2b-256 | df591b84fced2aff65397ced73d99960ed9058460dca885b89d216ec41bfa025 |
Hashes for cysignals-1.11.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9bdf27ac4ff9ab74ec7e76b19096fe195594bba5230019e41913c5d3689f97e |
|
MD5 | ea199a1a522c27fc0168800d686c7d70 |
|
BLAKE2b-256 | 9e3211b0e64adea2b655e04be39b29e2f7e316eb7372d1eecb9f651f003020d2 |
Hashes for cysignals-1.11.4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e20a7ab1ced09bf847ba9fb8cb82a929760f665e10aed604f2030f0e87f1ac21 |
|
MD5 | ca0a6f248ff0ab44f37d2eaf0047a6c3 |
|
BLAKE2b-256 | 7a3d036543662e29c6c14c9137ddc05dd2c4be801b4769ffce1df885d7920404 |
Hashes for cysignals-1.11.4-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4635fc2d1a35ee079d5fb5123ad867ae8895fa5e34372dfa11ea1cd8045b3c94 |
|
MD5 | f8774f8cd8fe09eaaa8e21e8cdb83ac9 |
|
BLAKE2b-256 | bfb7496a519af818419e1f5a7bd8051218f208c7e12e001d590080eeb5c5cfc0 |
Hashes for cysignals-1.11.4-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19feafad116e2bae663dc09550f663bef1c57fa62811ed0d1b1b336ca4a88882 |
|
MD5 | 1c1b45fe42a95eeedbaba469b08db636 |
|
BLAKE2b-256 | 390d2d78900da4d2c1d5106f984e394e704ca21e6021a211c7bf7afabc64d392 |
Hashes for cysignals-1.11.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0f0eed50bb6d8e9c388eaf0536a675aaba5ddafbcfa502655ec989df9b2eb48 |
|
MD5 | a4950ac4a2720bc80fd29b0eb506ab9c |
|
BLAKE2b-256 | 8cb794dcde207b110b1783049914739792946655d703ceb2c135679a3a6d4169 |
Hashes for cysignals-1.11.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55db52b7a769519ef09caad87f4f6b68180708e10d79fb28716bd7515b49638b |
|
MD5 | f6a2c84497bb9440016ca49afc9056ad |
|
BLAKE2b-256 | 80f0980cdead3e1b50a6b37d160563a3c51a8e4503f076b88300a7feea95096b |
Hashes for cysignals-1.11.4-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6b66a85c38db1502da6c79348f65ab31125db0ae3075442b64d291b0be394f5 |
|
MD5 | 9f35601d88eb20f3cecbe2056cf76622 |
|
BLAKE2b-256 | 5d6f1fe3a1477f3e3d3119d3d9d774f2f71a9c066c4120cdae0976e691530dba |
Hashes for cysignals-1.11.4-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20f687df6bcca833a9b290c46444e2bbfdae968004c8743ad292e51cf9032dba |
|
MD5 | fc1329079aa77e8df4de9deec1c58cad |
|
BLAKE2b-256 | 824a89a0830a25dd98dcd43aa1d642e3beb7d36a60ff0a0179a159a9c91ef006 |
Hashes for cysignals-1.11.4-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06ecbe094231d1195cbee13b2372504429c8d912950f8f5b2fee57698a18eb6e |
|
MD5 | ce07a72660a5d2c77c98aa4f0e4df7f1 |
|
BLAKE2b-256 | e44e507594176830940b6ad3a72646bd6d830f79c0f8395f5681b613ccc92dbc |
Hashes for cysignals-1.11.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05347d579b5b4af44d4652d8552170e538ced3500015c03c3f3ac96b3400d87d |
|
MD5 | 9f54030e26ba737e2dd08086fdf815ba |
|
BLAKE2b-256 | ca2b96b44894c8f0ff958ff7c983a0d58e802872a05478640bf0a5dd28fc1f0f |
Hashes for cysignals-1.11.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce591f16800164cffc782d678b9258b9e339d620679858e2a294d518deb1cd34 |
|
MD5 | 01cb112489facaff68b6222f6eea0822 |
|
BLAKE2b-256 | f1841921a6b0800e2fce931ef1d5366db6514c76f8913ad3073a4831aa15751c |
Hashes for cysignals-1.11.4-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ddb5b0ee432cfbe2eb418637d252936ac4be2351cd1040a12bbd3366b0b3c89 |
|
MD5 | 3af27c76c6ba24c3ed21e17bbd0195d2 |
|
BLAKE2b-256 | d7735092d840192818e307bb0698f1a1b0fd26f022a30fa61520b92f58b95e79 |