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.0rc1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 612d1d3dd145fa7fd822fa761a6175e496087382346d4ce216837a780cd0f023 |
|
MD5 | e6b3bbe349e8a4c9819bc2033560b6ea |
|
BLAKE2b-256 | 152474e0d7cf4e34caf409f5cbb2d95ed6b2fa67be539ec39be81e3f92a74dcc |
Hashes for cysignals-1.12.0rc1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f98d4b1c66d6670ec41dd7f3a031bb2558777058f164ef85b5a7194edc6061ce |
|
MD5 | 59b2b3d8d50dcc0793bdfd5860481563 |
|
BLAKE2b-256 | f9e1ed04da4a5bac30b46d00e3ad28722ac82fe7ffce8c911dc9f5caaed2b9a0 |
Hashes for cysignals-1.12.0rc1-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09f2eeeb218ffd1e9378e12a17ee7ad2753cb7f26947e3f4abaca8f745138bf2 |
|
MD5 | 754da9a28e95ffd640ebad5b2995827e |
|
BLAKE2b-256 | 7e5c9c52fbe37b5adfcf8b13646dcf3774d65b35bc2bc6cde4ba5942686e3022 |
Hashes for cysignals-1.12.0rc1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0043686643a99242d99d232a2f36e022723ff04ff4aa380bc41633e4798e7696 |
|
MD5 | f89eb7fc08419923f92c8ade81f11086 |
|
BLAKE2b-256 | e3fc37025fff1723e849a18e6b12e44549e8fe31e9dd3660cb552d918e3cfd83 |
Hashes for cysignals-1.12.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fb5884efe740ac44e54845cb1d566c9294083f6b7cb11e133abda88bad020cc |
|
MD5 | 53c33755eb1ab1fb3a791c4028e1b847 |
|
BLAKE2b-256 | 23aa1d81e2b6fceda698b7908e58dc039dc9e7a4d045228ca3187c411d1bfe5f |
Hashes for cysignals-1.12.0rc1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71977d8fae559cba9266c72b939f35388a6b64287dc3224a04402826e1e04dbf |
|
MD5 | bb0675b0f44ee381faac47b1beb9a62d |
|
BLAKE2b-256 | 1bbaeb76359bed6833489444873ea49eced77a3e084003f39cb961a1463214aa |
Hashes for cysignals-1.12.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dd3134e84463d031c89ee0c8951b1e484a2353a36d3cf269789e7498dcbdf4d |
|
MD5 | 3472c425fd87c44b0c514f5c2dbe456f |
|
BLAKE2b-256 | 6d99a1b56f5ecd1d7b8c893f84385b49f40bf7d491bd976050753adcc23abc72 |
Hashes for cysignals-1.12.0rc1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bab1602e27f1fd0d491ce9c1be8c6ef6110d3867701ec3bbe5638801f781f26 |
|
MD5 | ad6ed93af94b674ea43fa74a44d01c70 |
|
BLAKE2b-256 | 81936bdbaeb896b59160ee338114435ea51f6371b87b7b763c84b4281396145b |
Hashes for cysignals-1.12.0rc1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dea88d5937be77a6212b6086df5c894ac91c13a4403bd7e948e5aee38a312e0 |
|
MD5 | 3de56d4fd54671da9f187e066c43d742 |
|
BLAKE2b-256 | cf2f015bb9efe4c9238fcc75f3b4c79ee063fa7b93775d28601f37c8a28d1a27 |
Hashes for cysignals-1.12.0rc1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d67ae3fa5fdc70baf36ebc03c8b4d60feb85d10ddefcab9c8e7f1398770e1939 |
|
MD5 | ba311ae7a862ac860357effb44c18ed3 |
|
BLAKE2b-256 | c27e0003fb04a537236db0f3149c2fc7e4a43e816f80c9a752b716011360cff1 |
Hashes for cysignals-1.12.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5ff39fc6a35afc8b86503a6b23de9d64b65821523f60b33459250e96a342cb1 |
|
MD5 | ba7cfb9177f345855d170fae5bbd79d2 |
|
BLAKE2b-256 | c407e1b3cbbfb27df8ca0f61d28d37308bf92053872d594ba2fe5365fe7b7a8a |
Hashes for cysignals-1.12.0rc1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a225ec2ac941a79e9b05dc0535f0366772b8be196302c9200e32346973a74da |
|
MD5 | cc3cde2ad12983ee0035788ec330c6b5 |
|
BLAKE2b-256 | 64d7a37eb196251974e3fc92e77c9a49442be8f53c23ace1b08c8f63f6f31e32 |
Hashes for cysignals-1.12.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 792113ac488377967e44ab9f8d919d17799ce327890e9d5fd4d0f9f68a9291ad |
|
MD5 | 7d9484587161b60038a434b5917d215b |
|
BLAKE2b-256 | d69947633d09a0efb08f9326a95ec15183d28d69e4b438b63c4f436c8c450aa6 |
Hashes for cysignals-1.12.0rc1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03d69938bfa251c3fb9acc3695c5359a832124afc255176ff48a7d22b07be6f1 |
|
MD5 | 53b3e25a395f5d1d37e65ca68cd82a0d |
|
BLAKE2b-256 | e74fa21147ed7da2143587c46f6f34ed1852822453df440b82d56a3a66aae3e6 |
Hashes for cysignals-1.12.0rc1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf747268f1c3eec97600c9cacb03ebd7f9a9adaf3d94e3fc4afa25a7c6bbb93d |
|
MD5 | ecf943a94c7620ce8616d19570bc62cc |
|
BLAKE2b-256 | 80c0cfa792faf0297c02e75401064a4fd787b188b2df750b598883fb11e9401d |
Hashes for cysignals-1.12.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1675a855e3242c38d31e275a62302234f32698e60e5dcbaa14f1ab0c40426fe |
|
MD5 | 0685c7508be7cf4542599ad825844620 |
|
BLAKE2b-256 | e0dd1b2c099764586380da8c16f9ba49dbe101229c2cc7efa8fdab770c4e758d |
Hashes for cysignals-1.12.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5244a12c5f80cc59d5324683d8c4d2b709c9eeb8dc42187fb48f7178491cff2f |
|
MD5 | edd2ee891f3d13cfb87069907093b54c |
|
BLAKE2b-256 | b7ee044d49ed8e37ddfc3e33970498f312fccc4a7224238f1837f842c3d84656 |
Hashes for cysignals-1.12.0rc1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ad8cb009ce2fab3ca426a0951f3bee059fe11961053e066a5723d1a1b0f77ed |
|
MD5 | ec663a68d863a3bb02142ac4b0fb6003 |
|
BLAKE2b-256 | 2a8708cc6e7e964dc363e9d7b46b30ba2b8d27adafeccc0e0c726180b53c5ecf |
Hashes for cysignals-1.12.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1055faa23a6560e277a3ed3a98021d82ceedbca1cbb378a27172d0e6ba9f676 |
|
MD5 | 003a69b714ee2ee0f998b882c89fe183 |
|
BLAKE2b-256 | 7805fb88cba4892c3092a2488cf33079419d0cce04cf37d63a440df68974cbaa |
Hashes for cysignals-1.12.0rc1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 881d25480aba1a88a4551137a22d837d06d6b4cab75008bbf08eba69d55f6c79 |
|
MD5 | 750c278cc6a42e51c5a3dbce2f5adf47 |
|
BLAKE2b-256 | cff02596652d6157b8ee012c659f4ad5eab2b488bae0525a053a9309743e985e |
Hashes for cysignals-1.12.0rc1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f4eab90d04c072d570272cdeb706bd3c1b0c4cb696ee9d9eaf8b269f043a2d5 |
|
MD5 | 9f59950aa8ba91679ee69d68003f894a |
|
BLAKE2b-256 | cc808e485deb3984f17db653e4cb4c71f8db87dc2a3b04fea7c8f9a84f9dab3d |
Hashes for cysignals-1.12.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5541b4282fc5923f784606468e01136c12495ffc25d80e0ee565d6d1890b4b1c |
|
MD5 | 6300df076f4415a5f6337914c57947d0 |
|
BLAKE2b-256 | de435843a831e50f25195d45b8e0c2112ae7278212cd6506b85772b343bd9cc1 |
Hashes for cysignals-1.12.0rc1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e67e811a7ef3e45a8169937d7cb8628e7b264323d0849fe31a5d6cdd47fda209 |
|
MD5 | aad56759c5bcc09108020ae33bb6793c |
|
BLAKE2b-256 | bf1615f699b9250c61a894b1cd889805e4ad58218172e50bd57f7135f4a90cd4 |
Hashes for cysignals-1.12.0rc1-cp39-cp39-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 367698c2864de203d7396ae6ba54d471fe1a1c27ad8498c5925a9cffee980489 |
|
MD5 | ac1ca8b403b3211b10e09f6626e20175 |
|
BLAKE2b-256 | 206f3030416afc14e765c260de2798b4c08dcedb0dec6e8927bbcb86640e172a |
Hashes for cysignals-1.12.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd2b83271a7b559b43dadb371d45e0d26d5b28dc3f77cce56da03cc8737795eb |
|
MD5 | f3c3d76d16094b3ad6cdc44cc342454e |
|
BLAKE2b-256 | 30b514fe399dfef8df0aa3161f8d7f3ecdb7e6e5d4b209c4329fa7eb9409cca7 |
Hashes for cysignals-1.12.0rc1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89832cfcec873d4778e0a8da9effcc02d647a27c35a043759e8caea6d3ed7bb2 |
|
MD5 | 61dabab537d1c8c1507cda46140738fb |
|
BLAKE2b-256 | 648d6cbd98b75037a6c788e04be02fa62c8067cdc9f93650f1e8f875056db349 |
Hashes for cysignals-1.12.0rc1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f7352644609d2c00d2a4fb48ca490f26c356e795b46ca82ee296670e033ede3 |
|
MD5 | b010ae8434f0c64412109d6aba07e452 |
|
BLAKE2b-256 | 9ec0ce15a32a46f6b4a88d4f9d11adf319fc24613b2be293bf1fc24089057de0 |
Hashes for cysignals-1.12.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97eb9ef330b87cbb14641837845ec9c19eef27e3771cdbe019c7f94f4111602f |
|
MD5 | 9895e516e03381620769776d850d31d7 |
|
BLAKE2b-256 | ceae3a136980ac555bab3c42c55235c380ed94e47e8128d1a7e3e965d076e89f |