You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			35 lines
		
	
	
		
			940 B
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			35 lines
		
	
	
		
			940 B
		
	
	
	
		
			Python
		
	
"""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
 |