1# flake8: noqa
2
3
4import asyncio, asyncio.log, asyncio.base_events, \
5       asyncio.sslproto, asyncio.coroutines, \
6       asyncio.futures, asyncio.transports
7import collections.abc
8import concurrent.futures
9import errno
10import functools
11import gc
12import inspect
13import itertools
14import os
15import signal
16import socket
17import subprocess
18import ssl
19import stat
20import sys
21import threading
22import traceback
23import time
24import warnings
25import weakref
26
27
28cdef aio_get_event_loop = asyncio.get_event_loop
29cdef aio_CancelledError = asyncio.CancelledError
30cdef aio_InvalidStateError = asyncio.InvalidStateError
31cdef aio_TimeoutError = asyncio.TimeoutError
32cdef aio_Future = asyncio.Future
33cdef aio_Task = asyncio.Task
34cdef aio_ensure_future = asyncio.ensure_future
35cdef aio_gather = asyncio.gather
36cdef aio_wait = asyncio.wait
37cdef aio_wrap_future = asyncio.wrap_future
38cdef aio_logger = asyncio.log.logger
39cdef aio_iscoroutine = asyncio.iscoroutine
40cdef aio_iscoroutinefunction = asyncio.iscoroutinefunction
41cdef aio_BaseProtocol = asyncio.BaseProtocol
42cdef aio_Protocol = asyncio.Protocol
43cdef aio_isfuture = getattr(asyncio, 'isfuture', None)
44cdef aio_get_running_loop = getattr(asyncio, '_get_running_loop', None)
45cdef aio_set_running_loop = getattr(asyncio, '_set_running_loop', None)
46cdef aio_debug_wrapper = getattr(asyncio.coroutines, 'debug_wrapper', None)
47cdef aio_AbstractChildWatcher = asyncio.AbstractChildWatcher
48cdef aio_Transport = asyncio.Transport
49cdef aio_FlowControlMixin = asyncio.transports._FlowControlMixin
50
51cdef col_deque = collections.deque
52cdef col_Iterable = collections.abc.Iterable
53cdef col_Counter = collections.Counter
54cdef col_OrderedDict = collections.OrderedDict
55
56cdef cc_ThreadPoolExecutor = concurrent.futures.ThreadPoolExecutor
57cdef cc_Future = concurrent.futures.Future
58
59cdef errno_EBADF = errno.EBADF
60cdef errno_EINVAL = errno.EINVAL
61
62cdef ft_partial = functools.partial
63
64cdef gc_disable = gc.disable
65
66cdef iter_chain = itertools.chain
67cdef inspect_isgenerator = inspect.isgenerator
68
69cdef int has_IPV6_V6ONLY = hasattr(socket, 'IPV6_V6ONLY')
70cdef int IPV6_V6ONLY = getattr(socket, 'IPV6_V6ONLY', -1)
71cdef int has_SO_REUSEPORT = hasattr(socket, 'SO_REUSEPORT')
72cdef int SO_REUSEPORT = getattr(socket, 'SO_REUSEPORT', 0)
73cdef int SO_BROADCAST = getattr(socket, 'SO_BROADCAST')
74cdef int SOCK_NONBLOCK = getattr(socket, 'SOCK_NONBLOCK', -1)
75
76cdef socket_gaierror = socket.gaierror
77cdef socket_error = socket.error
78cdef socket_timeout = socket.timeout
79cdef socket_socket = socket.socket
80cdef socket_socketpair = socket.socketpair
81cdef socket_getservbyname = socket.getservbyname
82cdef socket_AddressFamily = socket.AddressFamily
83cdef socket_SocketKind = socket.SocketKind
84
85cdef int socket_EAI_ADDRFAMILY = getattr(socket, 'EAI_ADDRFAMILY', -1)
86cdef int socket_EAI_AGAIN      = getattr(socket, 'EAI_AGAIN', -1)
87cdef int socket_EAI_BADFLAGS   = getattr(socket, 'EAI_BADFLAGS', -1)
88cdef int socket_EAI_BADHINTS   = getattr(socket, 'EAI_BADHINTS', -1)
89cdef int socket_EAI_CANCELED   = getattr(socket, 'EAI_CANCELED', -1)
90cdef int socket_EAI_FAIL       = getattr(socket, 'EAI_FAIL', -1)
91cdef int socket_EAI_FAMILY     = getattr(socket, 'EAI_FAMILY', -1)
92cdef int socket_EAI_MEMORY     = getattr(socket, 'EAI_MEMORY', -1)
93cdef int socket_EAI_NODATA     = getattr(socket, 'EAI_NODATA', -1)
94cdef int socket_EAI_NONAME     = getattr(socket, 'EAI_NONAME', -1)
95cdef int socket_EAI_OVERFLOW   = getattr(socket, 'EAI_OVERFLOW', -1)
96cdef int socket_EAI_PROTOCOL   = getattr(socket, 'EAI_PROTOCOL', -1)
97cdef int socket_EAI_SERVICE    = getattr(socket, 'EAI_SERVICE', -1)
98cdef int socket_EAI_SOCKTYPE   = getattr(socket, 'EAI_SOCKTYPE', -1)
99
100
101cdef str os_name = os.name
102cdef os_environ = os.environ
103cdef os_dup = os.dup
104cdef os_set_inheritable = os.set_inheritable
105cdef os_get_inheritable = os.get_inheritable
106cdef os_close = os.close
107cdef os_open = os.open
108cdef os_devnull = os.devnull
109cdef os_O_RDWR = os.O_RDWR
110cdef os_pipe = os.pipe
111cdef os_read = os.read
112cdef os_remove = os.remove
113cdef os_stat = os.stat
114cdef os_fspath = os.fspath
115
116cdef stat_S_ISSOCK = stat.S_ISSOCK
117
118cdef sys_ignore_environment = sys.flags.ignore_environment
119cdef sys_exc_info = sys.exc_info
120cdef sys_set_coroutine_wrapper = getattr(sys, 'set_coroutine_wrapper', None)
121cdef sys_get_coroutine_wrapper = getattr(sys, 'get_coroutine_wrapper', None)
122cdef sys_getframe = sys._getframe
123cdef sys_version_info = sys.version_info
124cdef sys_getfilesystemencoding = sys.getfilesystemencoding
125cdef str sys_platform = sys.platform
126
127cdef ssl_SSLContext = ssl.SSLContext
128cdef ssl_MemoryBIO = ssl.MemoryBIO
129cdef ssl_create_default_context = ssl.create_default_context
130cdef ssl_SSLError = ssl.SSLError
131cdef ssl_SSLAgainErrors = (ssl.SSLWantReadError, ssl.SSLSyscallError)
132cdef ssl_SSLZeroReturnError = ssl.SSLZeroReturnError
133cdef ssl_CertificateError = ssl.CertificateError
134cdef int ssl_SSL_ERROR_WANT_READ = ssl.SSL_ERROR_WANT_READ
135cdef int ssl_SSL_ERROR_WANT_WRITE = ssl.SSL_ERROR_WANT_WRITE
136cdef int ssl_SSL_ERROR_SYSCALL = ssl.SSL_ERROR_SYSCALL
137
138cdef uint64_t MAIN_THREAD_ID = <uint64_t><int64_t>threading.main_thread().ident
139cdef threading_Thread = threading.Thread
140
141cdef int subprocess_PIPE = subprocess.PIPE
142cdef int subprocess_STDOUT = subprocess.STDOUT
143cdef int subprocess_DEVNULL = subprocess.DEVNULL
144cdef subprocess_SubprocessError = subprocess.SubprocessError
145
146cdef int signal_NSIG = signal.NSIG
147cdef signal_signal = signal.signal
148cdef signal_siginterrupt = signal.siginterrupt
149cdef signal_set_wakeup_fd = signal.set_wakeup_fd
150cdef signal_default_int_handler = signal.default_int_handler
151cdef signal_SIG_DFL = signal.SIG_DFL
152
153cdef time_sleep = time.sleep
154cdef time_monotonic = time.monotonic
155
156cdef tb_StackSummary = traceback.StackSummary
157cdef tb_walk_stack = traceback.walk_stack
158cdef tb_format_list = traceback.format_list
159
160cdef warnings_warn = warnings.warn
161
162cdef weakref_WeakValueDictionary = weakref.WeakValueDictionary
163cdef weakref_WeakSet = weakref.WeakSet
164
165cdef py_inf = float('inf')
166
167
168# Cython doesn't clean-up imported objects properly in Py3 mode,
169# so we delete refs to all modules manually (except sys)
170del asyncio, concurrent, collections, errno
171del functools, inspect, itertools, socket, os, threading
172del signal, subprocess, ssl
173del time, traceback, warnings, weakref
174