<type>documentation</type>
<domain>edit</domain>
<id>analysis-helping-cython</id>
<title>Helping Wing Analyze Cython Code</title>
<date>$Date: 2007-02-09 12:04:39 -0500 (Fri, 09 Feb 2007) $</date>
<version>$Revision: 14785 $</version>
<product>all</product>

Wing works best with Cython’s pure Python mode. In this case, the source code is stored
in ``.py`` files, and source analysis works the same as it does in all other Python files.
Debugging also works when the ``.py`` file is executed directly rather than compiling it. See
`Pure Python Mode <https://cython.readthedocs.io/en/latest/src/tutorial/pure.html>`__ for
details on using Cython this way.

Cython-compiled modules that don't use pure Python mode are inspected in the same way as
extension modules, which means that some type information, including name and type of
arguments to functions, is unavailable. In that case, ``*.pyi`` files may be used to
improve Wing's analysis of the interface in the module, as described in `Defining
Interface Files <ref:edit/analysis-helping-pyi-files>`__.

Wing cannot analyze ``.pyx`` files directly and uses the simplified non-Python completion
support when working within those files.

