Strips cython code (.pyx files) down to python code for code analysis tools.
Project description
uncythonize
This script strips cython code (.pyx files) down to python code, by replacing cython declarations (cdef) with python equivalents and stripping away type annotations.
Limitations
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.
Installation
$ pip install uncythonize
Usage
$ uncythonize.py filename.pyx
will produce a corresponding file filename.pyx.py
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.py -> filename.pyx
Line numbering is preserved by this tool.
More than one file can be processed.
Contributing
Contributions are welcome! Please open pull requests.
If you adapt the script to handle your use case, please add example scripts as test cases.
TODO
setup CI testing
Licence
This code was originally developed at https://github.com/guyskk/validr 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file uncythonize-0.1.1.tar.gz
.
File metadata
- Download URL: uncythonize-0.1.1.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 430a15ac95e23c58f856651f6d066797ffe598e452b0817c6c729283775e97a1 |
|
MD5 | d967811dbd2518cb4ba41293ce5579c9 |
|
BLAKE2b-256 | 5698442e15afd335c4e7c9d55c23851dbb89da1d20f3da2a6a7db1e45354a153 |