.. _spkg_cython:

cython: C-Extensions for Python, an optimizing static compiler
==============================================================

Description
-----------

Cython is a language that makes writing C extensions for the Python
language as easy as Python itself. Cython is based on the well-known
Pyrex, but supports more cutting edge functionality and optimizations.

The Cython language is very close to the Python language, but Cython
additio- nally supports calling C functions and declaring C types on
variables and class attributes. This allows the compiler to generate
very efficient C code from Cython code.

This makes Cython the ideal language for wrapping for external C
libraries, and for fast C modules that speed up the execution of Python
code.


License
-------

Apache License, Version 2.0


Upstream Contact
----------------

-  http://www.cython.org/

-  cython-devel@python.org

Type
----

standard


Dependencies
------------

- $(PYTHON)
- $(PYTHON_TOOLCHAIN)

Version Information
-------------------

package-version.txt::

    0.29.32.p1

install-requires.txt::

    cython >=0.29.21, <1.0


Equivalent System Packages
--------------------------

conda:

.. CODE-BLOCK:: bash

    $ conda install  cython


freebsd:

.. CODE-BLOCK:: bash

    $ sudo pkg install lang/cython


homebrew:

.. CODE-BLOCK:: bash

    $ brew install cython


macports:
install the following packages: py-cython

void:

.. CODE-BLOCK:: bash

    $ sudo xbps-install  python3-Cython


See https://repology.org/project/python:cython/versions


However, these system packages will not be used for building Sage
because using Python site-packages is not supported by the Sage distribution;
see :trac:`29023`

