| """ 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 |