Developer | Robert Bradshaw, Stefan Behnel, et al. |
---|---|
First appeared | 28 July 2007[1] |
Stable release | 3.0.11-1[2] (5 August 2024 ) [±] |
Preview release | 3.0.0 beta 2 (27 March 2023[3]) [±] |
Implementation language | Python |
OS | Windows, macOS, Linux |
License | Apache License 2.0 |
Filename extensions | .pyx, .pxd, .pxi [4] |
Website | cython |
Influenced by | |
C, Python |
Cython (/ˈsaɪθɒn/) is a superset of the programming language Python, which allows developers to write Python code (with optional, C-inspired syntax extensions) that yields performance comparable to that of C.[5][6]
Cython is a compiled language that is typically used to generate CPython extension modules. Annotated Python-like code is compiled to C and then automatically wrapped in interface code, producing extension modules that can be loaded and used by regular Python code using the import statement, but with significantly less computational overhead at run time. Cython also facilitates wrapping independent C or C++ code into python-importable modules.
Cython is written in Python and C and works on Windows, macOS, and Linux, producing C source files compatible with CPython 2.6, 2.7, and 3.3 and later versions. The Cython source code that Cython compiles (to C) can use both Python 2 and Python 3 syntax, defaulting to Python 2 syntax in Cython 0.x and Python 3 syntax in Cython 3.x. The default can be overridden (e.g. in source code comment) to Python 3 (or 2) syntax. Since Python 3 syntax has changed in recent versions, Cython may not be up to date with the latest additions. Cython has "native support for most of the C++ language" and "compiles almost all existing Python code".[7]
Cython 3.0.0 was released on 17 July 2023.[8]