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.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.3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccf0c5708e47acfa458d057143fef0e1454bf126f5664f56996335d58a646bdd |
|
MD5 | 2ae0929e6505e14e84275d9d88fcbd34 |
|
BLAKE2b-256 | cf8a37b0764d663b9d6f183fe30b1795c8c59fa09417ef1fd1ddeda6a422010f |
Hashes for cysignals-1.11.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8b89fbc41514eca9e8154b487e45b21f37fd64b7471b806483f859010ddb94f |
|
MD5 | 649b41794a01f1bbe51399a62c7ee209 |
|
BLAKE2b-256 | 0e2d610e98977597646a6b50d91ae5c68a6aa3bc6e5d911ee272ae6f7fedf9b6 |
Hashes for cysignals-1.11.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12a9ecc60fc563cb83822a5581a8e54274a28013585ce0033a3f6ebfb477f4e9 |
|
MD5 | dfedb0adaa633541f10d07f3ace03855 |
|
BLAKE2b-256 | fda15654125838f7e43454aebd3bbb7fa84e35f962d93a79c84f0b33927f0a66 |
Hashes for cysignals-1.11.3-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c08d56ecddfcb272b08d32a01b57b7ffbb7957032b0fa816f0d75be35a12d63 |
|
MD5 | ad36144d29d828948a9ee379efe0616c |
|
BLAKE2b-256 | 4286d113c5db02fae84a14f6d291f926d012fcf428da9d2f419a2ee3db921a2c |
Hashes for cysignals-1.11.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e0f786438c216b74eef79fbf5b85799ce10a39936194d87d98d490c90783232 |
|
MD5 | 06cee8ad9242d2a4aba91dfd96715a52 |
|
BLAKE2b-256 | e9418263d373f83a85491a8cee503699e18aad6c9260a57bff16d9f05b3959d6 |
Hashes for cysignals-1.11.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73141f38b44380bb72e393983f25f5d37ecafa8a83d09949041f3fc1daf2ca3b |
|
MD5 | a8cb6dbe7beefa752ea6459e2a2e6817 |
|
BLAKE2b-256 | e4dbcc4ae863725810ac5e69026c2955b8d0f31a0f763ae5dbc5f6e9c53e1a68 |
Hashes for cysignals-1.11.3-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95e3736b384411d01c59fb2a7082fefd5dc29e11f3bd10faaaaada8a40b323b1 |
|
MD5 | 096e03f18ffe5d87c21e742c5d44319d |
|
BLAKE2b-256 | 09bb712d36c9431700c5b96a896fa6605085d85181a4c3674b17af003a3fa2d2 |
Hashes for cysignals-1.11.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdca2f8f209558023a4ddf37ac394da304eb17fd1c477e31609617cb3a5970d9 |
|
MD5 | 7dea4048f76e2e8cdc684b6789b5237b |
|
BLAKE2b-256 | b5e9f8fc35ac1d32f72c5461f8c93f1ad96fa3197c77d6b6c1b3f8dad1b4232d |
Hashes for cysignals-1.11.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5f1150f2ce1bf463615ca5ef58a271b30eb8d2fa676d57350f2c879c7fde895 |
|
MD5 | 7e65ca308e1bc6e64cbe5dd64b096529 |
|
BLAKE2b-256 | 4e074e07928651051163ddcd9a5d3c53fd09087b136c4a9d9d212e44f02be838 |
Hashes for cysignals-1.11.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbaad6b26fbba65089c88b1f8b0af82b57be5070a02d21d631ef7b184252c0ea |
|
MD5 | 541c7ba299de56e19762fa818067f391 |
|
BLAKE2b-256 | 56f91586b12bd19d202870392d5aac5c34a76730d109f613a7e449185d7a9588 |
Hashes for cysignals-1.11.3-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2c10b4a39845061732ea670d299b8689ad915da5e62c5e24bd89359236c2aeb |
|
MD5 | 17b1e7ad16bb614775b45d9fb9652970 |
|
BLAKE2b-256 | c71d10df8734882adfda7058d113e1269e15bbb1a2c88c9a02b34169a13560c5 |
Hashes for cysignals-1.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac8d35d7695e030dd5841a5897155b94ea2ca5a2c3bcd83477c37285aed30460 |
|
MD5 | 3545b65b35023fc298c7b26c4ab33917 |
|
BLAKE2b-256 | 1b87c0ddc7297832f270b31c51745f7ee6d98063c091d54dce4d6f130dc9d1af |
Hashes for cysignals-1.11.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca1ec5fe32873d1b2da8e2f0b4bb73317cb984cfe50f6bf205761892684393fe |
|
MD5 | f7f6922eaa25f07a38e62c60ef65f6b7 |
|
BLAKE2b-256 | 41d930c632f3c498ef267295db909cf530178783bc1a7de112e0ab438cfb702e |
Hashes for cysignals-1.11.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 518c375ba8ba4e1bd607f31b4a4ff8090055420821d23ada5a085205761303e6 |
|
MD5 | 83defc26c91d33a1b36ecb3dc3300fe3 |
|
BLAKE2b-256 | d2b709beaba2d9338ebb8bfd620c7425e298ade8c031ea796194d0247fe6a3db |
Hashes for cysignals-1.11.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3e84ee0adaf0c5988927bad363f9d8556ddbd57d694e71fce8540b7641e6eaa |
|
MD5 | 8101b83f8c22fdd54185c28d73a30584 |
|
BLAKE2b-256 | 8ecf5c00c7963d96566cde11523fc32342608c6427fdf492be0941822548edce |
Hashes for cysignals-1.11.3-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5da085ae643515e33c745c66eaea6873c9934dfc0c409da379e52543df5b0090 |
|
MD5 | 5014e9d6cce11b3dced5371bf811a810 |
|
BLAKE2b-256 | c95b18cc18139d56bf6176a07a120399e426c5c3aab0e76d0d26145a3ec7d8f5 |
Hashes for cysignals-1.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17f79ee2d486751bc80fd74b43901c94757bb88b1d794ab1193325eef5765828 |
|
MD5 | a7f77fe393433d65fb8cba721524958a |
|
BLAKE2b-256 | b9d96dea2a03616e4bd306b346756bbc29ec7f05a1b259c2a66c298054a2cbb4 |
Hashes for cysignals-1.11.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6857208c6ea58d3688f76fb55bbcd38763edfd26d908b3fb67168574ab0c0f24 |
|
MD5 | 9f56906d672cb17c60876721d223aa14 |
|
BLAKE2b-256 | 8d364f361e45d89364bde0a68699d8efdd531a21cf744f380df6dd404e8fe6da |
Hashes for cysignals-1.11.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e578cfb08f9a9d2e2846db96d3538127a60e30dd03dd7984fef455cbd3ac45ee |
|
MD5 | 173f6de5bf345e4dc2c709e4776fad37 |
|
BLAKE2b-256 | d45da82a4d765a033bdd244bf708743c5eff2f4b07ca074d0ee928c2c11f243b |
Hashes for cysignals-1.11.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a064cf708f32d093ff2afee1f5d54c874a3ac773bc5a6cfe5f652ae50af0d364 |
|
MD5 | eec3eeb940d1abf916abeaa9f26317a3 |
|
BLAKE2b-256 | 312e16efb9c1b81cbbff9e1d3005f477a884d0a1407a87c547cba86e5c621994 |
Hashes for cysignals-1.11.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33868f6481f37b2b8b33112f7f6cffb990022ee213f7cd1bced305b6565dc223 |
|
MD5 | e8084095f806e7b581b59c5742d06a05 |
|
BLAKE2b-256 | 6f9868d3361ed50b674cf2f2cb855085c5f6624e227d4a33d65e286ce14a7d32 |
Hashes for cysignals-1.11.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 103da2040543a15c683e98b5d3698fbd346aaba5a2af6e7cc9d96c9a057a3182 |
|
MD5 | 2784a073d509d9a12494925b84c7910f |
|
BLAKE2b-256 | a9ead882fa4932fb62825cf3d210fb5c7365620d3423b63a3bcf63f482f08305 |
Hashes for cysignals-1.11.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23f2cbc5785285874b2f22c23021ab362f19f5c1c5884ece40ba868185fa6048 |
|
MD5 | 067b0f2ae5b4de2e661fd661b75503f4 |
|
BLAKE2b-256 | 83803f0d4a97e140b4f3e014944a28a114569aced9e75e44cbab231125055318 |
Hashes for cysignals-1.11.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e93be077da2fd796ef6dd060a8812a817d977334dc1607b25c6bd01e1418a00 |
|
MD5 | d675a9931a033714842bdab3527ee978 |
|
BLAKE2b-256 | f3ff287f94a9be743c77fea55d9dd52ea432756657070819c983db4a5dfa85de |
Hashes for cysignals-1.11.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff0b6f025e2c90367c6daa5e742c149baf155ff913f312f4f54a960f360d5406 |
|
MD5 | 9ef15d54808127209e01be7523e85c4c |
|
BLAKE2b-256 | de879097d4478c9a543f49b826773bc44d78e47159565b65652063f92022ba84 |
Hashes for cysignals-1.11.3-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d021c22a64d72f1a9bd76da6e14b45fa471523354794a489b627a964d2d8f325 |
|
MD5 | 44febd9f6e4c0ce206811c7de5c11391 |
|
BLAKE2b-256 | fa65d9593bec2ee0f10c367c8438995cd787739f406c0e5d2097deb3b00cc8c1 |
Hashes for cysignals-1.11.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a54e59685c027f98fb6c082620790528cfa1d919d10eef6854415b074c721687 |
|
MD5 | 18e929f8717d06ebd3b27d09494a212b |
|
BLAKE2b-256 | b0b770aeb0cb9e4e05c22862a5e298b21664fb60a8a82bd859dc6fdf795163ae |
Hashes for cysignals-1.11.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f722f9a12646e68a38a34efbfcec7c426df0004ab13bf7e861b09b4bc2643ce1 |
|
MD5 | a1429d4ba788ef46f4baae6380f8a148 |
|
BLAKE2b-256 | aaa0597a13b139a5cad9576124c996103ca80f4f56b6fdfcee3429b8066cae59 |
Hashes for cysignals-1.11.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceee8ef446b1c0a090cdd588c1286fe604c03c942ba6dfaea93abb7ec815ed1e |
|
MD5 | 175e26c04dd563fcbfdb4c95fc674d5a |
|
BLAKE2b-256 | 186738c7641ea8c05c1227db2762ab9651c4e169c5a1da5e7c462c309d230e56 |
Hashes for cysignals-1.11.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 843d6c65ec068f570b67a2630034969f45477445f811b0997ab1a35971608d39 |
|
MD5 | f55fea0f1be7249434a197ec6cee809f |
|
BLAKE2b-256 | d14c1c9ca92b2cb9e077db1d3e18e9eb59309c16724f58f007d1dd1f41ce12a2 |
Hashes for cysignals-1.11.3-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbdb8e7c723aee62664c8333c50da4092c7c01ff4984ed4073e14a8e9895ba23 |
|
MD5 | 8f7391fdba716b446e7781c4c036c6b4 |
|
BLAKE2b-256 | b82cbf9d2e031c82a791d5e9846358195ee2d5d705b1b16917004213213a3b79 |
Hashes for cysignals-1.11.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91773869052298386c221c61b7b29a0c77a983b3e1d8e1c233278fa8cdac5275 |
|
MD5 | c339434868b7be205dec251ea12b085d |
|
BLAKE2b-256 | a225f9bfebca886d8cdd4bc643998cc30cdb82b67f7841cbec9841bb51272b09 |
Hashes for cysignals-1.11.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73cfc1fe75cf3d4fdd968406c68a6788fcf2e34fbac93ba27cc476fe417ef59a |
|
MD5 | c345f07553f6262f86a6ef6a64ebb765 |
|
BLAKE2b-256 | fa333bab06d70a67f3dcfbfff9ed06c9aad5807c8771b297f501ebd5c8e8bdf8 |
Hashes for cysignals-1.11.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69e67d31e2474ea14dee7acb000b31ea505c7ce0f35a73455a47b68981032dfb |
|
MD5 | 7c2a269d63b5878117a586a9086ca23f |
|
BLAKE2b-256 | b5f07ee6f72d60de704ed7d707ad5e1ba570b7a75875617689aedcbeb866297e |
Hashes for cysignals-1.11.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1dc591ddb413260007863d4ca31c6cdd5034c34f148161ab53cfa9b21172ae3 |
|
MD5 | 7e379b667705585147c4f50ba882a7bc |
|
BLAKE2b-256 | 3dfd0eb20e5af54465c376e8e7eaf831b57475c72c38c8878571b4f6dea26f03 |
Hashes for cysignals-1.11.3-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28db27635a349df914854e50e79a6122c94540d03bfc1178b9543a8cd4479f88 |
|
MD5 | 29272be632caa984de11a67510e43d3d |
|
BLAKE2b-256 | 7a01422ef7f064ff5357eaa2f971e5d1c7686e3ceb2e1eb21c6422994b4be227 |
Hashes for cysignals-1.11.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c23b8f98057519b68bce243f7d53f15d98f2319d21471bce2b06403032dc47d4 |
|
MD5 | 605c9ac045ff20f23ff2bb72749eac13 |
|
BLAKE2b-256 | 4c6de39f5c69d347d76fd67a279e33633ba3d6ecd80737a48965d47b544c284e |
Hashes for cysignals-1.11.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbb7f84582e46c1b4a8a70ca88b4e40996f8c482677ae1d90fb0818b01e8f11c |
|
MD5 | b98fd8ef0248a0033fdbd475ecff8364 |
|
BLAKE2b-256 | ea1c56cfd180567ff6c950b5ce5bda9771cfd2de7dc48a43229e2ea7dcaf4f23 |
Hashes for cysignals-1.11.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cafed0ded741f4f2d8ee7ac8a0d4e5abdaf71e7909812879838db931016f776f |
|
MD5 | 0115c23de501dbec3b75d490620c9c35 |
|
BLAKE2b-256 | 9c49f66ddcffdedac79c76083fa9a7ed171118f107fa7dcb6d3445b027aea628 |
Hashes for cysignals-1.11.3-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a84fe9513dad9513c4f41be416ec6edd076b7efdc40db983d9d300687a99c025 |
|
MD5 | 1250ecf2f119fefcb13e252a8875ba52 |
|
BLAKE2b-256 | f3b7a5c17b0dc02b95773f92d6455bdf8f39f01b41ac69b3ef50c297ab0b7a6c |
Hashes for cysignals-1.11.3-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a12c8f517275b44c057995c2e00bfaf49774e211181fb4a2bd4530b155ad9dfc |
|
MD5 | 0c774a0c66f8d70f4faf6697968cf073 |
|
BLAKE2b-256 | 3f66a5c6dd7996b6aa71e2f0ab4bfc015df6f346fbf1600b8da756602a61af84 |
Hashes for cysignals-1.11.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2332d6c5633fd894252added0e987fc138769e102f7354099092ebdef507658d |
|
MD5 | 20f4508cbcc27aa85b3599f16cf0d164 |
|
BLAKE2b-256 | b78bf579f33e15edae54a55d82212b4d7abd38c6503ba107cf76710f1d002de7 |
Hashes for cysignals-1.11.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5974cb1c5758a7b82bac4b2d5e7f87ae6b582f9728b3dc9bbd8c4abfde263ef8 |
|
MD5 | 19e4fe5e667aa50325d242eb97035ddc |
|
BLAKE2b-256 | 28a017fac1e088d3c76d64e245255595918e480a481ec1a8f2a5a339d2219d02 |
Hashes for cysignals-1.11.3-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3771a43247bc2411f0b522c279d010bc78ba3df5bbf7389ebad19a1750b903f8 |
|
MD5 | 34d4e8c1184b36748f5210706c7f8493 |
|
BLAKE2b-256 | 24891f7b7ed8d5b5449f4156c98f63ba69d29a77696a5dfc0b5427b852397ac4 |