The Cython compiler for writing C extensions for the Python language
The Cython language makes writing C extensions for the Python language as
easy as Python itself. Cython is a source code translator based on the
well-known Pyrex, but supports more cutting edge functionality and
optimizations.
The Cython language is very close to the Python language (and most Python
code is also valid Cython code), but Cython additionally 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 writing glue code for external C
libraries, and for fast C modules that speed up the execution of Python
code.
- Developed at devel:languages:python
- Sources inherited from project openSUSE:Factory
-
9
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Leap:16.0:FactoryCandidates/python-Cython && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
Cython-3.0.2.tar.gz | 0002723546 2.6 MB | |
python-Cython-rpmlintrc | 0000000195 195 Bytes | |
python-Cython.changes | 0000095921 93.7 KB | |
python-Cython.spec | 0000003511 3.43 KB |
Revision 74 (latest revision is 84)
Ana Guerrero (anag+factory)
accepted
request 1107857
from
Markéta Machová (mcalabkova)
(revision 74)
- update to version 3.0.2: * Bugs fixed + Using None as default value for arguments annotated as int could crash Cython. (Github issue :issue:`5643`) + Default values of fused types that include complex could generate invalid C code with -DCYTHON_CCOMPLEX=0. (Github issue :issue:`5644`) + Using C++ enum class types in extension type method signatures could generate invalid C code. (Github issue :issue:`5637`) - changes from version 3.0.1: * Features added + The error messages regarding exception declarations were improved in order to give better help about possible reasons and fixes. (Github issue :issue:`5547`) * Bugs fixed + Memory view types in Python argument annotations no longer accept None. They now require an explicit Optional[] or a None default value in order to allow None to be passed. This was an oversight in the 3.0.0 release and is a BACKWARDS INCOMPATIBLE change. However, since it only applies to code using Python syntax, it probably only applies to newly written code that was written for Cython 3.0 and can easily be adapted. In most cases, we expect that this change will avoid bugs in user code rather than produce problems. (Github issue :issue:`5612`) + nogil functions using parallel code could freeze when called with the GIL held. (Github issues :issue:`5564`, :issue:`5573`) + Relative cimports could end up searching globally and find the same package installed elsewhere, potentially in another version. (Github issue :issue:`5511`) + Attribute lookups on known standard library modules could accidentally search in the module namespace instead. (Github issue :issue:`5536`) + Using constructed C++ default arguments could generate invalid C++ code. (Github issue :issue:`5553`) + libcpp.memory.make_unique() was lacking C++ exception handling. (Github issue :issue:`5560`) + Some non-public and deprecated CAPI usages were replaced by public (and thus more future proof) API code. + Many issues with the Limited API support were resolved. Patches by Lisandro Dalcin et al. (Github issues :issue:`5549`, :issue:`5550`, :issue:`5556`, :issue:`5605`, :issue:`5617`) + Some C compiler warnings were resolved. Patches by Matti Picus et al. (Github issues :issue:`5557`, :issue:`5555`) + Large Python integers are now stored in hex instead of decimal strings to work around security limits in Python and generally speed up their Python object creation. + NULL could not be used as default for fused type pointer arguments. (Github issue :issue:`5554`) + C functions that return pointer types now return NULL as default exception value. Previously, calling code wasn't aware of this and always tested for raised exceptions. (Github issue :issue:`5554`) + Untyped literal default arguments in fused functions could generate invalid C code. (Github issue :issue:`5614`) + C variables declared as const could generate invalid C code when used in closures, generator expressions, ctuples, etc. (Github issues :issue:`5558`, :issue:`5333`) + Enums could not refer to previously defined enums in their definition. (Github issue :issue:`5602`) + The Python conversion code for anonymous C enums conflicted with regular int conversion. (Github issue :issue:`5623`) + Using memory views for property methods (and other special methods) could lead to refcounting problems. (Github issue :issue:`5571`) + Star-imports could generate code that tried to assign to constant C macros like PY_SSIZE_T_MAX and PY_SSIZE_T_MIN. Patch by Philipp Wagner. (Github issue :issue:`5562`) + CYTHON_USE_TYPE_SPECS can now be (explicitly) enabled in PyPy. + The template parameter "delimeters" in the Tempita Template class was corrected to "delimiters". The old spelling is still available in the main template API but now issues a DeprecationWarning. (Github issue :issue:`5608`) + The cython --version output is now less likely to reach both stdout and stderr. Patch by Eli Schwartz. (Github issue :issue:`5504`) + The sdist was missing the Shadow.pyi stub file.
Comments 0