| Viewing file:  __init__.py (1.46 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
# Copyright 2009 Brian Quinlan. All Rights Reserved.# Licensed to PSF under a Contributor Agreement.
 
 """Execute computations asynchronously using threads or processes."""
 
 __author__ = 'Brian Quinlan (brian@sweetapp.com)'
 
 from concurrent.futures._base import (FIRST_COMPLETED,
 FIRST_EXCEPTION,
 ALL_COMPLETED,
 CancelledError,
 TimeoutError,
 BrokenExecutor,
 Future,
 Executor,
 wait,
 as_completed)
 
 __all__ = (
 'FIRST_COMPLETED',
 'FIRST_EXCEPTION',
 'ALL_COMPLETED',
 'CancelledError',
 'TimeoutError',
 'BrokenExecutor',
 'Future',
 'Executor',
 'wait',
 'as_completed',
 'ProcessPoolExecutor',
 'ThreadPoolExecutor',
 )
 
 
 def __dir__():
 return __all__ + ('__author__', '__doc__')
 
 
 def __getattr__(name):
 global ProcessPoolExecutor, ThreadPoolExecutor
 
 if name == 'ProcessPoolExecutor':
 from .process import ProcessPoolExecutor as pe
 ProcessPoolExecutor = pe
 return pe
 
 if name == 'ThreadPoolExecutor':
 from .thread import ThreadPoolExecutor as te
 ThreadPoolExecutor = te
 return te
 
 raise AttributeError(f"module {__name__} has no attribute {name}")
 
 |