28 lines
682 B
Python
28 lines
682 B
Python
|
""" Exports a no-op 'cython' namespace similar to
|
||
|
https://github.com/cython/cython/blob/master/Cython/Shadow.py
|
||
|
|
||
|
This allows to optionally compile @cython decorated functions
|
||
|
(when cython is available at built time), or run the same code
|
||
|
as pure-python, without runtime dependency on cython module.
|
||
|
|
||
|
We only define the symbols that we use. E.g. see fontTools.cu2qu
|
||
|
"""
|
||
|
|
||
|
from types import SimpleNamespace
|
||
|
|
||
|
|
||
|
def _empty_decorator(x):
|
||
|
return x
|
||
|
|
||
|
|
||
|
compiled = False
|
||
|
|
||
|
for name in ("double", "complex", "int"):
|
||
|
globals()[name] = None
|
||
|
|
||
|
for name in ("cfunc", "inline"):
|
||
|
globals()[name] = _empty_decorator
|
||
|
|
||
|
locals = lambda **_: _empty_decorator
|
||
|
returns = lambda _: _empty_decorator
|