cysignals


Namecysignals JSON
Version 1.11.4 PyPI version JSON
download
home_pagehttps://github.com/sagemath/cysignals
SummaryInterrupt and signal handling for Cython
upload_time2023-10-07 19:32:05
maintainer
docs_urlNone
authorMartin R. Albrecht, François Bissey, Volker Braun, Jeroen Demeyer
requires_python
licenseGNU Lesser General Public License, version 3 or later
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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"
}
        
Elapsed time: 0.12710s