wok-current view python-cython/description.txt @ rev 25297
updated scrollz (2.3 -> 2.3.1)
author | Hans-G?nter Theisgen |
---|---|
date | Wed Jul 20 06:44:28 2022 +0100 (2022-07-20) |
parents | |
children |
line source
1 Cython is an optimising static compiler for both the Python programming
2 language and the extended Cython programming language (based on Pyrex).
3 It makes writing C extensions for Python as easy as Python itself.
5 Cython gives you the combined power of Python and C to let you
7 - write Python code that calls back and forth from and to C or C++ code
8 natively at any point.
9 - easily tune readable Python code into plain C performance by adding
10 static type declarations, also in Python syntax.
11 - use combined source code level debugging to find bugs in your Python,
12 Cython and C code.
13 - interact efficiently with large data sets, e.g. using multi-dimensional
14 NumPy arrays.
15 - quickly build your applications within the large, mature and widely
16 used CPython ecosystem.
17 - integrate natively with existing code and data from legacy, low-level
18 or high-performance libraries and applications.
20 The Cython language is a superset of the Python language that additionally
21 supports calling C functions and declaring C types on variables and class
22 attributes. This allows the compiler to generate very efficient C code
23 from Cython code.
24 The C code is generated once and then compiles with all major C/C++
25 compilers in CPython 2.6, 2.7 (2.4+ with Cython 0.20.x) as well as 3.3
26 and all later versions.
27 We regularly run integration tests against all supported CPython versions
28 and their latest in-development branches to make sure that the generated
29 code stays widely compatible and well adapted to each version.
30 PyPy support is work in progress (on both sides) and is considered mostly
31 usable since Cython 0.17. The latest PyPy version is always recommended here.
33 All of this makes Cython the ideal language for wrapping external C libraries,
34 embedding CPython into existing applications, and for fast C modules that
35 speed up the execution of Python code.