Skip to main content

Strips cython code (.pyx files) down to python code for code analysis tools.

Project description


This script strips cython code (.pyx files) down to python code, by replacing cython declarations (cdef) with python equivalents and stripping away type annotations.


This is a simple script working based on text substitutions. It does not handle, or even claim to handle, all valid cython syntax.

Python 3.5 and above is required.

UTF-8 input is required.


$ pip install uncythonize


$ filename.pyx

will produce a corresponding file

That file can then be run through various syntax checkers and linters, such as pyflakes, pydocstyle, pylint, vulture, pystrict3.

It is useful to substitute in output of these tools back the original filename, -> filename.pyx

Line numbering is preserved by this tool.

More than one file can be processed.


Contributions are welcome! Please open pull requests.

If you adapt the script to handle your use case, please add example scripts as test cases.


  • setup CI testing


This code was originally developed at by guyskk, and is redistributed here under the GPL-3 licence.

Some modifications were made by JohannesBuchner to support testing the UltraNest repository.

Release Notes

0.1.0 (2020-03-07)

  • First version

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uncythonize-0.1.1.tar.gz (20.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page