import concurrent.futures
import tqdm
work_list = list(range(2**15))
def calc(x):
return x ** x
with concurrent.futures.ProcessPoolExecutor() as executor:
results = list(tqdm.tqdm(executor.map(calc, work_list), total=len(work_list)))
print(results[0:16])