cysignals: interrupt and signal handling for Cython
===================================================
.. image:: https://travis-ci.org/sagemath/cysignals.svg?branch=master
:target: https://travis-ci.org/sagemath/cysignals
.. image:: https://ci.appveyor.com/api/projects/status/vagqk56cj3ndycp4?svg=true
:target: https://ci.appveyor.com/project/sagemath/cysignals
.. image:: https://readthedocs.org/projects/cysignals/badge/?version=latest
:target: http://cysignals.readthedocs.org
Cython and interrupts
---------------------
When writing `Cython <http://cython.org/>`_ 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
Raw data
{
"_id": null,
"home_page": "https://github.com/sagemath/cysignals",
"name": "cysignals",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Martin R. Albrecht, Fran\u00e7ois Bissey, Volker Braun, Jeroen Demeyer",
"author_email": "sage-devel@googlegroups.com",
"download_url": "https://files.pythonhosted.org/packages/c0/1d/c2def8718dbec1176369b292195b2f0198b6d568c0aa1263d32a79bbfce7/cysignals-1.11.4.tar.gz",
"platform": null,
"description": "cysignals: interrupt and signal handling for Cython\n===================================================\n\n.. image:: https://travis-ci.org/sagemath/cysignals.svg?branch=master\n :target: https://travis-ci.org/sagemath/cysignals\n\n.. image:: https://ci.appveyor.com/api/projects/status/vagqk56cj3ndycp4?svg=true\n :target: https://ci.appveyor.com/project/sagemath/cysignals\n\n.. image:: https://readthedocs.org/projects/cysignals/badge/?version=latest\n :target: http://cysignals.readthedocs.org\n\nCython and interrupts\n---------------------\n\nWhen writing `Cython <http://cython.org/>`_ code, special care must be\ntaken to ensure that the code can be interrupted with ``CTRL-C``.\nSince Cython optimizes for speed, Cython normally does not check for\ninterrupts. For example, code like the following cannot be interrupted\nin Cython::\n\n while True:\n pass\n\nThe ``cysignals`` package provides mechanisms to handle interrupts (and other\nsignals and errors) in Cython code.\n\nRequirements\n------------\n\n- Python >= 3.6\n- Cython >= 0.28\n- Sphinx >= 1.6 (for building the documentation)\n- PARI/GP (optional; for interfacing with the PARI/GP signal handler)\n\nLinks\n-----\n\n* cysignals on the Python package index: https://pypi.org/project/cysignals/\n* cysignals code repository and issue tracker on GitHub: https://github.com/sagemath/cysignals\n* full cysignals documentation on Read the Docs: http://cysignals.readthedocs.io/\n\nChangelog\n---------\n\n1.11.4 (2023-10-07)\n^^^^^^^^^^^^^^^^^^^\n\n* Include generated `configure` script in the sdist again.\n\n\n1.11.3 (2023-10-04)\n^^^^^^^^^^^^^^^^^^^\n\n* Add support for Cython 3. [#174, #176, #182, #187]\n* Add support for Python 3.12.\n* Replace `fprintf` by calls to `write`, which is async-signal-safe according to POSIX. [#162]\n* Introduce a general hook to interface with custom signal handling. [#181]\n\n\n1.11.2 (2021-12-15)\n^^^^^^^^^^^^^^^^^^^\n\n* Drop assembly code added after 1.10.3 that is not portable.\n\n\n1.11.0 (2021-11-26)\n^^^^^^^^^^^^^^^^^^^\n\n* Drop Python 2 support; bump minimum Python version to 3.6. [#142]\n* Fixed compilation with glib 3.34. [#151]\n* Improved testing. [#139, #152, #154]\n\n\n1.10.3 (2021-03-16)\n^^^^^^^^^^^^^^^^^^^\n\n* Improved installation of cysignals with ``pip install -e``. [#130]\n\n* Fixed compilation of OpenMP modules that also use cysignals. [#128]\n\n* Fixed segmentation fault that could occur when ``sig_occurred()`` is\n called recursively during garbage collection. [#127]\n\n* Improved error reporting of signals that occurred inside ``sig_on()`` as\n opposed to outside them.\n\n* Fixed bug in the ``cysignals_example`` package. [#113]\n\nFor changes in previous releases, see the best source available is to\ncompare git tags: https://github.com/sagemath/cysignals/tags\n",
"bugtrack_url": null,
"license": "GNU Lesser General Public License, version 3 or later",
"summary": "Interrupt and signal handling for Cython",
"version": "1.11.4",
"project_urls": {
"Homepage": "https://github.com/sagemath/cysignals"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c01dc2def8718dbec1176369b292195b2f0198b6d568c0aa1263d32a79bbfce7",
"md5": "1837370e1d7f0b0acf1b97c3b7323b7d",
"sha256": "0f1e321e55a07f901c86a36a1e4497f6ff9dfe700681d0130a38c36e4eb238c3"
},
"downloads": -1,
"filename": "cysignals-1.11.4.tar.gz",
"has_sig": false,
"md5_digest": "1837370e1d7f0b0acf1b97c3b7323b7d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 105100,
"upload_time": "2023-10-07T19:32:05",
"upload_time_iso_8601": "2023-10-07T19:32:05.933812Z",
"url": "https://files.pythonhosted.org/packages/c0/1d/c2def8718dbec1176369b292195b2f0198b6d568c0aa1263d32a79bbfce7/cysignals-1.11.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-07 19:32:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sagemath",
"github_project": "cysignals",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"appveyor": true,
"requirements": [],
"lcname": "cysignals"
}