Skip to content

Commit a44a309

Browse files
scoderbhrutledge
andauthored
Avoid negative wording when describing Cython. (#1059)
* Avoid negative wording when describing Cython. * Apply suggestions from code review Co-authored-by: Brian Rutledge <[email protected]> Co-authored-by: Brian Rutledge <[email protected]>
1 parent bd26de9 commit a44a309

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

source/guides/packaging-binary-extensions.rst

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ also be considered:
133133
compile most Python code to C extension modules. The initial compilation
134134
provides some speed increases (by bypassing the CPython interpreter layer),
135135
and Cython's optional static typing features can offer additional
136-
opportunities for speed increases. Using Cython still has the disadvantage
137-
of increasing the complexity of distributing the resulting application,
136+
opportunities for speed increases. Using Cython still carries the
137+
`disadvantages`_ associated with using binary extensions,
138138
but has the benefit of having a reduced barrier to entry for Python
139139
programmers (relative to other languages like C or C++).
140140

@@ -160,10 +160,15 @@ but they *can* significantly reduce the maintenance burden of keeping
160160
wrapper modules up to date.
161161

162162
* In addition to being useful for the creation of accelerator modules,
163-
`Cython <https://cython.org/>`__ is also useful for creating wrapper
164-
modules for C or C++. It still involves wrapping the interfaces by
165-
hand, however, and is very repetitive, so may not be a good choice for
166-
wrapping large APIs.
163+
`Cython <https://cython.org/>`__ is also widely used for creating wrapper
164+
modules for C or C++ APIs. It involves wrapping the interfaces by
165+
hand, which gives a wide range of freedom in designing and optimising
166+
the wrapper code, but may not be a good choice for wrapping very
167+
large APIs quickly. See the
168+
`list of third-party tools <https://github.com/cython/cython/wiki/AutoPxd>`_
169+
for automatic wrapping with Cython. It also supports performance-oriented
170+
Python implementations that provide a CPython-like C-API, such as PyPy
171+
and Pyston.
167172

168173
* :doc:`pybind11 <pybind11:index>` is a pure C++11 library
169174
that provides a clean C++ interface to the CPython (and PyPy) C API. It

0 commit comments

Comments
 (0)