"""Import basic exposure of libzmq C API as a backend""" # Copyright (C) PyZMQ Developers # Distributed under the terms of the Modified BSD License. import os import platform from .select import public_api, select_backend if 'PYZMQ_BACKEND' in os.environ: backend = os.environ['PYZMQ_BACKEND'] if backend in ('cython', 'cffi'): backend = f'zmq.backend.{backend}' _ns = select_backend(backend) else: # default to cython, fallback to cffi # (reverse on PyPy) if platform.python_implementation() == 'PyPy': first, second = ('zmq.backend.cffi', 'zmq.backend.cython') else: first, second = ('zmq.backend.cython', 'zmq.backend.cffi') try: _ns = select_backend(first) except Exception as original_error: try: _ns = select_backend(second) except ImportError: raise original_error from None globals().update(_ns) __all__ = public_api