I am on Lubuntu 22.04 LTS. Here is my console output (please ignore the strikeouts, looks like misinterpreted formatting):
eantonov@arrakis2:/Documents/PYTHONDEV/exercices/REALPYTHON/concurrency-overview$ python -m venv venv
eantonov@arrakis2:/Documents/PYTHONDEV/exercices/REALPYTHON/concurrency-overview$ ls -la
total 60
drwxrwxr-x 3 eantonov eantonov 4096 апр 27 02:47 .
drwxrwxr-x 159 eantonov eantonov 12288 апр 27 02:46 ..
-rwxrwxr-x 1 eantonov eantonov 445 апр 27 02:46 cpu_mp.py
-rwxrwxr-x 1 eantonov eantonov 397 апр 27 02:46 cpu_non_concurrent.py
-rwxrwxr-x 1 eantonov eantonov 486 апр 27 02:46 cpu_threading.py
-rwxrwxr-x 1 eantonov eantonov 864 апр 27 02:46 io_asyncio.py
-rwxrwxr-x 1 eantonov eantonov 814 апр 27 02:46 io_mp.py
-rwxrwxr-x 1 eantonov eantonov 615 апр 27 02:46 io_non_concurrent.py
-rwxrwxr-x 1 eantonov eantonov 872 апр 27 02:46 io_threading.py
-rwxrwxr-x 1 eantonov eantonov 380 апр 27 02:46 race_condition.py
-rw-rw-r-- 1 eantonov eantonov 322 апр 27 02:46 README.md
-rw-rw-r-- 1 eantonov eantonov 551 апр 27 02:46 requirements.txt
drwxrwxr-x 5 eantonov eantonov 4096 апр 27 02:47 venv
eantonov@arrakis2:~/Documents/PYTHONDEV/exercices/REALPYTHON/concurrency-overview$ source venv/bin/activate
(venv) eantonov@arrakis2:~/Documents/PYTHONDEV/exercices/REALPYTHON/concurrency-overview$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
(venv) eantonov@arrakis2:/Documents/PYTHONDEV/exercices/REALPYTHON/concurrency-overview$ python --version
Python 3.10.6
(venv) eantonov@arrakis2:/Documents/PYTHONDEV/exercices/REALPYTHON/concurrency-overview$ pip --version
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
(venv) eantonov@arrakis2:~/Documents/PYTHONDEV/exercices/REALPYTHON/concurrency-overview$ pip install -r requirements.txt
Defaulting to user installation because normal site-packages is not writeable
Collecting aiohttp==3.4.4
Downloading aiohttp-3.4.4.tar.gz (822 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 822.1/822.1 KB 7.0 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting asks==2.0.0
Downloading asks-2.0.0.tar.gz (18 kB)
Preparing metadata (setup.py) ... done
Collecting astroid==2.0.4
Downloading astroid-2.0.4-py3-none-any.whl (172 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 172.8/172.8 KB 10.0 MB/s eta 0:00:00
Collecting async-generator==1.10
Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Collecting async-timeout==3.0.1
Downloading async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Collecting atomicwrites==1.2.0
Downloading atomicwrites-1.2.0-py2.py3-none-any.whl (5.9 kB)
Collecting attrs==18.1.0
Downloading attrs-18.1.0-py2.py3-none-any.whl (28 kB)
Collecting certifi==2018.8.13
Downloading certifi-2018.8.13-py2.py3-none-any.whl (146 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 146.5/146.5 KB 944.1 kB/s eta 0:00:00
Collecting chardet==3.0.4
Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.4/133.4 KB 13.5 MB/s eta 0:00:00
Collecting contextvars==2.3
Downloading contextvars-2.3.tar.gz (9.6 kB)
Preparing metadata (setup.py) ... done
Collecting h11==0.8.1
Downloading h11-0.8.1-py2.py3-none-any.whl (55 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.8/55.8 KB 5.6 MB/s eta 0:00:00
Collecting idna==2.7
Downloading idna-2.7-py2.py3-none-any.whl (58 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.2/58.2 KB 16.3 MB/s eta 0:00:00
Collecting immutables==0.6
Downloading immutables-0.6.tar.gz (31 kB)
Preparing metadata (setup.py) ... done
Collecting isort==4.3.4
Downloading isort-4.3.4-py3-none-any.whl (45 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.4/45.4 KB 8.3 MB/s eta 0:00:00
Collecting lazy-object-proxy==1.3.1
Downloading lazy-object-proxy-1.3.1.tar.gz (32 kB)
Preparing metadata (setup.py) ... done
Collecting mccabe==0.6.1
Downloading mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
Collecting more-itertools==4.3.0
Downloading more_itertools-4.3.0-py3-none-any.whl (48 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.5/48.5 KB 6.1 MB/s eta 0:00:00
Collecting multidict==4.4.2
Downloading multidict-4.4.2.tar.gz (118 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.4/118.4 KB 8.2 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting multio==0.2.3
Downloading multio-0.2.3.tar.gz (5.8 kB)
Preparing metadata (setup.py) ... done
Collecting outcome==0.1.0
Downloading outcome-0.1.0-py2.py3-none-any.whl (4.9 kB)
Collecting pathlib2==2.3.2
Downloading pathlib2-2.3.2-py2.py3-none-any.whl (16 kB)
Collecting pluggy==0.7.1
Downloading pluggy-0.7.1-py2.py3-none-any.whl (14 kB)
Collecting py==1.6.0
Downloading py-1.6.0-py2.py3-none-any.whl (83 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.9/83.9 KB 11.6 MB/s eta 0:00:00
Collecting pycodestyle==2.3.1
Downloading pycodestyle-2.3.1-py2.py3-none-any.whl (45 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.2/45.2 KB 10.3 MB/s eta 0:00:00
Collecting pytest==3.7.3
Downloading pytest-3.7.3-py2.py3-none-any.whl (204 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 204.0/204.0 KB 1.1 MB/s eta 0:00:00
Collecting requests==2.19.1
Downloading requests-2.19.1-py2.py3-none-any.whl (91 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 92.0/92.0 KB 10.7 MB/s eta 0:00:00
Collecting six==1.11.0
Downloading six-1.11.0-py2.py3-none-any.whl (10 kB)
Collecting sniffio==1.0.0
Downloading sniffio-1.0.0-py3-none-any.whl (4.4 kB)
Collecting sortedcontainers==2.0.4
Downloading sortedcontainers-2.0.4-py2.py3-none-any.whl (28 kB)
Collecting tqdm==4.25.0
Downloading tqdm-4.25.0-py2.py3-none-any.whl (43 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.7/43.7 KB 3.0 MB/s eta 0:00:00
Collecting trio==0.6.0
Downloading trio-0.6.0-py3-none-any.whl (250 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 250.3/250.3 KB 3.8 MB/s eta 0:00:00
Collecting typed-ast==1.1.0
Downloading typed-ast-1.1.0.tar.gz (200 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 200.6/200.6 KB 9.1 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting urllib3==1.23
Downloading urllib3-1.23-py2.py3-none-any.whl (133 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.3/133.3 KB 7.5 MB/s eta 0:00:00
Collecting wrapt==1.10.11
Downloading wrapt-1.10.11.tar.gz (27 kB)
Preparing metadata (setup.py) ... done
Collecting yarl==1.2.6
Downloading yarl-1.2.6.tar.gz (159 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.8/159.8 KB 11.1 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from pytest==3.7.3->-r requirements.txt (line 25)) (59.6.0)
Building wheels for collected packages: aiohttp, asks, contextvars, immutables, lazy-object-proxy, multidict, multio, typed-ast, wrapt, yarl
Building wheel for aiohttp (pyproject.toml) ... done
Created wheel for aiohttp: filename=aiohttp-3.4.4-py3-none-any.whl size=405398 sha256=e32b74bf67cff798beb53d5ee741101f4a239b0177114cd2487e918f38f8d75a
Stored in directory: /home/eantonov/.cache/pip/wheels/32/f6/ef/e2ddb73cd263f297a2329f5c0d2ec4d534fc8e125b4233fd48
Building wheel for asks (setup.py) ... done
Created wheel for asks: filename=asks-2.0.0-py3-none-any.whl size=21566 sha256=8136e73e49e1022d46f039d490cb17ce26ca260bcf9a721041873e0906a384c6
Stored in directory: /home/eantonov/.cache/pip/wheels/03/a2/9e/3c6051bb4ce7a1fc39d2d62a4ad2f77a5af61025c10c78c397
Building wheel for contextvars (setup.py) ... done
Created wheel for contextvars: filename=contextvars-2.3-py3-none-any.whl size=7681 sha256=98c946aba0fee3e4cbc26afa618d1adc441f579eb413d7776563565b3f24dc50
Stored in directory: /home/eantonov/.cache/pip/wheels/87/73/12/dead2e0e5b722e32551e1059f334779fd0cae016b33370d339
Building wheel for immutables (setup.py) ... done
Created wheel for immutables: filename=immutables-0.6-cp310-cp310-linux_x86_64.whl size=86391 sha256=c5d86e08af738b1828f20c4a90f99df1141653902f431eafffb46c85fc8205a6
Stored in directory: /home/eantonov/.cache/pip/wheels/95/54/9f/e327145b69adf3a5dd08bab5a4456983cf469b4d7d6fe8fb5d
Building wheel for lazy-object-proxy (setup.py) ... done
Created wheel for lazy-object-proxy: filename=lazy_object_proxy-1.3.1-cp310-cp310-linux_x86_64.whl size=57685 sha256=154954a669607c2ef9c3dbb1bf119e5f044b6fdd7e28656031079eeccbc9a281
Stored in directory: /home/eantonov/.cache/pip/wheels/27/59/c3/8b3e8756a940be2e2077e37dc4b1bfb18203a2c23e18d54567
Building wheel for multidict (setup.py) ... done
Created wheel for multidict: filename=multidict-4.4.2-py3-none-any.whl size=102510 sha256=f364c7f59b4aa1eb685420d7100787310d2201a0fefc8e55613bf683da1da397
Stored in directory: /home/eantonov/.cache/pip/wheels/5e/87/dc/19e6b23bef2258d76d2db81bbda671728ee8312f7838191cbc
Building wheel for multio (setup.py) ... done
Created wheel for multio: filename=multio-0.2.3-py3-none-any.whl size=6311 sha256=33884c7fa4ad34edb8c2eab329652c39fa1c7cae431fe408a6a82bb41a2d731f
Stored in directory: /home/eantonov/.cache/pip/wheels/7f/79/55/57804e80bd0f124b1f81eaf7420719d06057946b9ad0f9852d
Building wheel for typed-ast (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [248 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.10
creating build/lib.linux-x86_64-3.10/typed_ast
copying typed_ast/ast3.py -> build/lib.linux-x86_64-3.10/typed_ast
copying typed_ast/conversions.py -> build/lib.linux-x86_64-3.10/typed_ast
copying typed_ast/ast27.py -> build/lib.linux-x86_64-3.10/typed_ast
copying typed_ast/init.py -> build/lib.linux-x86_64-3.10/typed_ast
running build_ext
building '_ast27' extension
creating build/temp.linux-x86_64-3.10
creating build/temp.linux-x86_64-3.10/ast27
creating build/temp.linux-x86_64-3.10/ast27/Custom
creating build/temp.linux-x86_64-3.10/ast27/Parser
creating build/temp.linux-x86_64-3.10/ast27/Python
x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Iast27/Include -I/usr/include/python3.10 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-3.10/ast27/Custom/typed_ast.o
In file included from ast27/Include/Python-ast.h:3,
from ast27/Custom/typed_ast.c:2:
ast27/Include/asdl.h:37:41: error: unknown type name ‘PyArena’
37 | asdl_seq *asdl_seq_new(Py_ssize_t size, PyArena *arena);
| ^~~~~~~
ast27/Include/asdl.h:38:49: error: unknown type name ‘PyArena’
38 | asdl_int_seq *asdl_int_seq_new(Py_ssize_t size, PyArena *arena);
| ^~~~~~~
In file included from ast27/Custom/typed_ast.c:2:
ast27/Include/Python-ast.h:397:63: error: unknown type name ‘PyArena’
397 | mod_ty _Ta27_Module(asdl_seq * body, asdl_seq * type_ignores, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:399:43: error: unknown type name ‘PyArena’
399 | mod_ty _Ta27_Interactive(asdl_seq * body, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:401:39: error: unknown type name ‘PyArena’
401 | mod_ty _Ta27_Expression(expr_ty body, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:403:65: error: unknown type name ‘PyArena’
403 | mod_ty _Ta27_FunctionType(asdl_seq * argtypes, expr_ty returns, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:405:37: error: unknown type name ‘PyArena’
405 | mod_ty _Ta27_Suite(asdl_seq * body, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:408:92: error: unknown type name ‘PyArena’
408 | decorator_list, string type_comment, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:412:68: error: unknown type name ‘PyArena’
412 | decorator_list, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:414:65: error: unknown type name ‘PyArena’
414 | stmt_ty _Ta27_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:416:70: error: unknown type name ‘PyArena’
416 | stmt_ty _Ta27_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:419:34: error: unknown type name ‘PyArena’
419 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:422:25: error: unknown type name ‘PyArena’
422 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:424:91: error: unknown type name ‘PyArena’
424 | stmt_ty _Ta27_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:428:61: error: unknown type name ‘PyArena’
428 | type_comment, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:431:21: error: unknown type name ‘PyArena’
431 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:434:18: error: unknown type name ‘PyArena’
434 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:437:62: error: unknown type name ‘PyArena’
437 | type_comment, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:439:92: error: unknown type name ‘PyArena’
439 | stmt_ty _Ta27_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:443:37: error: unknown type name ‘PyArena’
443 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:445:93: error: unknown type name ‘PyArena’
445 | stmt_ty _Ta27_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:448:77: error: unknown type name ‘PyArena’
448 | stmt_ty _Ta27_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:450:68: error: unknown type name ‘PyArena’
450 | stmt_ty _Ta27_Import(asdl_seq * names, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:453:38: error: unknown type name ‘PyArena’
453 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:456:20: error: unknown type name ‘PyArena’
456 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:458:68: error: unknown type name ‘PyArena’
458 | stmt_ty _Ta27_Global(asdl_seq * names, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:460:63: error: unknown type name ‘PyArena’
460 | stmt_ty _Ta27_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:462:48: error: unknown type name ‘PyArena’
462 | stmt_ty _Ta27_Pass(int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:464:49: error: unknown type name ‘PyArena’
464 | stmt_ty _Ta27_Break(int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:466:52: error: unknown type name ‘PyArena’
466 | stmt_ty _Ta27_Continue(int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:468:83: error: unknown type name ‘PyArena’
468 | expr_ty _Ta27_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:471:21: error: unknown type name ‘PyArena’
471 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:473:83: error: unknown type name ‘PyArena’
473 | expr_ty _Ta27_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:475:83: error: unknown type name ‘PyArena’
475 | expr_ty _Ta27_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:477:93: error: unknown type name ‘PyArena’
477 | expr_ty _Ta27_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:480:84: error: unknown type name ‘PyArena’
480 | expr_ty _Ta27_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:482:64: error: unknown type name ‘PyArena’
482 | expr_ty _Ta27_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:484:88: error: unknown type name ‘PyArena’
484 | expr_ty _Ta27_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:487:87: error: unknown type name ‘PyArena’
487 | expr_ty _Ta27_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:491:36: error: unknown type name ‘PyArena’
491 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:493:92: error: unknown type name ‘PyArena’
493 | expr_ty _Ta27_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:496:64: error: unknown type name ‘PyArena’
496 | expr_ty _Ta27_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:499:35: error: unknown type name ‘PyArena’
499 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:502:56: error: unknown type name ‘PyArena’
502 | kwargs, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:504:63: error: unknown type name ‘PyArena’
504 | expr_ty _Ta27_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:506:57: error: unknown type name ‘PyArena’
506 | expr_ty _Ta27_Num(object n, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:508:68: error: unknown type name ‘PyArena’
508 | expr_ty _Ta27_Str(string s, int has_b, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:511:37: error: unknown type name ‘PyArena’
511 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:514:37: error: unknown type name ‘PyArena’
514 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:516:84: error: unknown type name ‘PyArena’
516 | expr_ty _Ta27_Name(identifier id, expr_context_ty ctx, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:518:86: error: unknown type name ‘PyArena’
518 | expr_ty _Ta27_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:521:87: error: unknown type name ‘PyArena’
521 | expr_ty _Ta27_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:524:25: error: unknown type name ‘PyArena’
524 | slice_ty _Ta27_Ellipsis(PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:526:66: error: unknown type name ‘PyArena’
526 | slice_ty _Ta27_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:528:42: error: unknown type name ‘PyArena’
528 | slice_ty _Ta27_ExtSlice(asdl_seq * dims, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:530:37: error: unknown type name ‘PyArena’
530 | slice_ty _Ta27_Index(expr_ty value, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:532:84: error: unknown type name ‘PyArena’
532 | comprehension_ty _Ta27_comprehension(expr_ty target, expr_ty iter, asdl_seq * ifs, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:535:50: error: unknown type name ‘PyArena’
535 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:538:66: error: unknown type name ‘PyArena’
538 | defaults, asdl_seq * type_comments, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:540:57: error: unknown type name ‘PyArena’
540 | keyword_ty _Ta27_keyword(identifier arg, expr_ty value, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:542:58: error: unknown type name ‘PyArena’
542 | alias_ty _Ta27_alias(identifier name, identifier asname, PyArena arena);
| ^~~~~~~
ast27/Include/Python-ast.h:544:45: error: unknown type name ‘PyArena’
544 | type_ignore_ty _Ta27_TypeIgnore(int lineno, PyArena arena);
| ^~~~~~~
ast27/Include/Python-ast.h:547:39: error: unknown type name ‘PyArena’
547 | mod_ty Ta27AST_obj2mod(PyObject ast, PyArena arena, int mode);
| ^~~~~~~
In file included from ast27/Custom/typed_ast.c:7:
ast27/Include/ast.h:8:49: error: unknown type name ‘PyArena’
8 | const char *, PyArena *);
| ^~~~~~~
ast27/Custom/typed_ast.c:209:54: error: unknown type name ‘PyArena’
209 | PyCompilerFlags *flags, PyArena *arena)
| ^~~~~~~
ast27/Custom/typed_ast.c: In function ‘string_object_to_py_ast’:
ast27/Custom/typed_ast.c:243:5: error: unknown type name ‘PyArena’
243 | PyArena *arena = PyArena_New();
| ^~~~~~~
ast27/Custom/typed_ast.c:243:22: warning: implicit declaration of function ‘PyArena_New’; did you mean ‘PyGen_New’? [-Wimplicit-function-declaration]
243 | PyArena *arena = PyArena_New();
| ^~~~~~~~~~~
| PyGen_New
ast27/Custom/typed_ast.c:243:22: warning: initialization of ‘int *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
ast27/Custom/typed_ast.c:247:11: warning: implicit declaration of function ‘string_object_to_c_ast’; did you mean ‘string_object_to_py_ast’? [-Wimplicit-function-declaration]
247 | mod = string_object_to_c_ast(str, filename, start, flags, arena);
| ^~~~~~~~~~~~~~~~~~~~~~
| string_object_to_py_ast
ast27/Custom/typed_ast.c:247:9: warning: assignment to ‘mod_ty’ {aka ‘struct _mod *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
247 | mod = string_object_to_c_ast(str, filename, start, flags, arena);
| ^
ast27/Custom/typed_ast.c:249:9: warning: implicit declaration of function ‘PyArena_Free’; did you mean ‘PyMem_Free’? [-Wimplicit-function-declaration]
249 | PyArena_Free(arena);
| ^~~~~~~~~~~~
| PyMem_Free
At top level:
ast27/Custom/typed_ast.c:200:1: warning: ‘err_free’ defined but not used [-Wunused-function]
200 | err_free(perrdetail *err)
| ^~~~~~~~
ast27/Custom/typed_ast.c:80:1: warning: ‘err_input’ defined but not used [-Wunused-function]
80 | err_input(perrdetail *err)
| ^~~~~~~~~
ast27/Custom/typed_ast.c:65:12: warning: ‘PARSER_FLAGS’ defined but not used [-Wunused-function]
65 | static int PARSER_FLAGS(PyCompilerFlags *flags)
| ^~~~~~~~~~~~
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for typed-ast
Running setup.py clean for typed-ast
Building wheel for wrapt (setup.py) ... done
Created wheel for wrapt: filename=wrapt-1.10.11-cp310-cp310-linux_x86_64.whl size=67631 sha256=6e1e5471aae9eecdc6ad288a361e8cbe091371b111a101522cbef3399451aff3
Stored in directory: /home/eantonov/.cache/pip/wheels/c8/7a/03/398f5b358e667909b85ca7e451b0e5aa7b58fd4250fbf37841
Building wheel for yarl (setup.py) ... done
Created wheel for yarl: filename=yarl-1.2.6-py3-none-any.whl size=83523 sha256=ecd13b6395fe7552a117f6c7dbe7f146decf10b8bc393e5de41ee16c1d445124
Stored in directory: /home/eantonov/.cache/pip/wheels/d8/9c/fd/20a1f954c7b8e0a1eb02bf92b5ca09d7cb8b1e58af091c00ee
Successfully built aiohttp asks contextvars immutables lazy-object-proxy multidict multio wrapt yarl
Failed to build typed-ast
Installing collected packages: wrapt, typed-ast, sortedcontainers, six, pycodestyle, mccabe, lazy-object-proxy, immutables, idna, h11, chardet, certifi, attrs, urllib3, tqdm, sniffio, py, pluggy, pathlib2, outcome, multio, multidict, more-itertools, isort, contextvars, atomicwrites, async-timeout, async-generator, astroid, yarl, trio, requests, pytest, asks, aiohttp
Running setup.py install for typed-ast ... error
error: subprocess-exited-with-error
× Running setup.py install for typed-ast did not run successfully.
│ exit code: 1
╰─> [250 lines of output]
running install
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.10
creating build/lib.linux-x86_64-3.10/typed_ast
copying typed_ast/ast3.py -> build/lib.linux-x86_64-3.10/typed_ast
copying typed_ast/conversions.py -> build/lib.linux-x86_64-3.10/typed_ast
copying typed_ast/ast27.py -> build/lib.linux-x86_64-3.10/typed_ast
copying typed_ast/init.py -> build/lib.linux-x86_64-3.10/typed_ast
running build_ext
building '_ast27' extension
creating build/temp.linux-x86_64-3.10
creating build/temp.linux-x86_64-3.10/ast27
creating build/temp.linux-x86_64-3.10/ast27/Custom
creating build/temp.linux-x86_64-3.10/ast27/Parser
creating build/temp.linux-x86_64-3.10/ast27/Python
x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Iast27/Include -I/usr/include/python3.10 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-3.10/ast27/Custom/typed_ast.o
In file included from ast27/Include/Python-ast.h:3,
from ast27/Custom/typed_ast.c:2:
ast27/Include/asdl.h:37:41: error: unknown type name ‘PyArena’
37 | asdl_seq *asdl_seq_new(Py_ssize_t size, PyArena *arena);
| ^~~~~~~
ast27/Include/asdl.h:38:49: error: unknown type name ‘PyArena’
38 | asdl_int_seq *asdl_int_seq_new(Py_ssize_t size, PyArena *arena);
| ^~~~~~~
In file included from ast27/Custom/typed_ast.c:2:
ast27/Include/Python-ast.h:397:63: error: unknown type name ‘PyArena’
397 | mod_ty _Ta27_Module(asdl_seq * body, asdl_seq * type_ignores, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:399:43: error: unknown type name ‘PyArena’
399 | mod_ty _Ta27_Interactive(asdl_seq * body, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:401:39: error: unknown type name ‘PyArena’
401 | mod_ty _Ta27_Expression(expr_ty body, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:403:65: error: unknown type name ‘PyArena’
403 | mod_ty _Ta27_FunctionType(asdl_seq * argtypes, expr_ty returns, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:405:37: error: unknown type name ‘PyArena’
405 | mod_ty _Ta27_Suite(asdl_seq * body, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:408:92: error: unknown type name ‘PyArena’
408 | decorator_list, string type_comment, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:412:68: error: unknown type name ‘PyArena’
412 | decorator_list, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:414:65: error: unknown type name ‘PyArena’
414 | stmt_ty _Ta27_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:416:70: error: unknown type name ‘PyArena’
416 | stmt_ty _Ta27_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:419:34: error: unknown type name ‘PyArena’
419 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:422:25: error: unknown type name ‘PyArena’
422 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:424:91: error: unknown type name ‘PyArena’
424 | stmt_ty _Ta27_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:428:61: error: unknown type name ‘PyArena’
428 | type_comment, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:431:21: error: unknown type name ‘PyArena’
431 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:434:18: error: unknown type name ‘PyArena’
434 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:437:62: error: unknown type name ‘PyArena’
437 | type_comment, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:439:92: error: unknown type name ‘PyArena’
439 | stmt_ty _Ta27_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:443:37: error: unknown type name ‘PyArena’
443 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:445:93: error: unknown type name ‘PyArena’
445 | stmt_ty _Ta27_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:448:77: error: unknown type name ‘PyArena’
448 | stmt_ty _Ta27_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:450:68: error: unknown type name ‘PyArena’
450 | stmt_ty _Ta27_Import(asdl_seq * names, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:453:38: error: unknown type name ‘PyArena’
453 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:456:20: error: unknown type name ‘PyArena’
456 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:458:68: error: unknown type name ‘PyArena’
458 | stmt_ty _Ta27_Global(asdl_seq * names, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:460:63: error: unknown type name ‘PyArena’
460 | stmt_ty _Ta27_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:462:48: error: unknown type name ‘PyArena’
462 | stmt_ty _Ta27_Pass(int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:464:49: error: unknown type name ‘PyArena’
464 | stmt_ty _Ta27_Break(int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:466:52: error: unknown type name ‘PyArena’
466 | stmt_ty _Ta27_Continue(int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:468:83: error: unknown type name ‘PyArena’
468 | expr_ty _Ta27_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:471:21: error: unknown type name ‘PyArena’
471 | PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:473:83: error: unknown type name ‘PyArena’
473 | expr_ty _Ta27_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:475:83: error: unknown type name ‘PyArena’
475 | expr_ty _Ta27_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:477:93: error: unknown type name ‘PyArena’
477 | expr_ty _Ta27_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:480:84: error: unknown type name ‘PyArena’
480 | expr_ty _Ta27_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:482:64: error: unknown type name ‘PyArena’
482 | expr_ty _Ta27_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:484:88: error: unknown type name ‘PyArena’
484 | expr_ty _Ta27_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:487:87: error: unknown type name ‘PyArena’
487 | expr_ty _Ta27_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:491:36: error: unknown type name ‘PyArena’
491 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:493:92: error: unknown type name ‘PyArena’
493 | expr_ty _Ta27_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:496:64: error: unknown type name ‘PyArena’
496 | expr_ty _Ta27_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:499:35: error: unknown type name ‘PyArena’
499 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:502:56: error: unknown type name ‘PyArena’
502 | kwargs, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:504:63: error: unknown type name ‘PyArena’
504 | expr_ty _Ta27_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:506:57: error: unknown type name ‘PyArena’
506 | expr_ty _Ta27_Num(object n, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:508:68: error: unknown type name ‘PyArena’
508 | expr_ty _Ta27_Str(string s, int has_b, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:511:37: error: unknown type name ‘PyArena’
511 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:514:37: error: unknown type name ‘PyArena’
514 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:516:84: error: unknown type name ‘PyArena’
516 | expr_ty _Ta27_Name(identifier id, expr_context_ty ctx, int lineno, int col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:518:86: error: unknown type name ‘PyArena’
518 | expr_ty _Ta27_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:521:87: error: unknown type name ‘PyArena’
521 | expr_ty _Ta27_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int col_offset, PyArena
| ^~~~~~~
ast27/Include/Python-ast.h:524:25: error: unknown type name ‘PyArena’
524 | slice_ty _Ta27_Ellipsis(PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:526:66: error: unknown type name ‘PyArena’
526 | slice_ty _Ta27_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:528:42: error: unknown type name ‘PyArena’
528 | slice_ty _Ta27_ExtSlice(asdl_seq * dims, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:530:37: error: unknown type name ‘PyArena’
530 | slice_ty _Ta27_Index(expr_ty value, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:532:84: error: unknown type name ‘PyArena’
532 | comprehension_ty _Ta27_comprehension(expr_ty target, expr_ty iter, asdl_seq * ifs, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:535:50: error: unknown type name ‘PyArena’
535 | col_offset, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:538:66: error: unknown type name ‘PyArena’
538 | defaults, asdl_seq * type_comments, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:540:57: error: unknown type name ‘PyArena’
540 | keyword_ty _Ta27_keyword(identifier arg, expr_ty value, PyArena *arena);
| ^~~~~~~
ast27/Include/Python-ast.h:542:58: error: unknown type name ‘PyArena’
542 | alias_ty _Ta27_alias(identifier name, identifier asname, PyArena arena);
| ^~~~~~~
ast27/Include/Python-ast.h:544:45: error: unknown type name ‘PyArena’
544 | type_ignore_ty _Ta27_TypeIgnore(int lineno, PyArena arena);
| ^~~~~~~
ast27/Include/Python-ast.h:547:39: error: unknown type name ‘PyArena’
547 | mod_ty Ta27AST_obj2mod(PyObject ast, PyArena arena, int mode);
| ^~~~~~~
In file included from ast27/Custom/typed_ast.c:7:
ast27/Include/ast.h:8:49: error: unknown type name ‘PyArena’
8 | const char *, PyArena *);
| ^~~~~~~
ast27/Custom/typed_ast.c:209:54: error: unknown type name ‘PyArena’
209 | PyCompilerFlags *flags, PyArena *arena)
| ^~~~~~~
ast27/Custom/typed_ast.c: In function ‘string_object_to_py_ast’:
ast27/Custom/typed_ast.c:243:5: error: unknown type name ‘PyArena’
243 | PyArena *arena = PyArena_New();
| ^~~~~~~
ast27/Custom/typed_ast.c:243:22: warning: implicit declaration of function ‘PyArena_New’; did you mean ‘PyGen_New’? [-Wimplicit-function-declaration]
243 | PyArena *arena = PyArena_New();
| ^~~~~~~~~~~
| PyGen_New
ast27/Custom/typed_ast.c:243:22: warning: initialization of ‘int *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
ast27/Custom/typed_ast.c:247:11: warning: implicit declaration of function ‘string_object_to_c_ast’; did you mean ‘string_object_to_py_ast’? [-Wimplicit-function-declaration]
247 | mod = string_object_to_c_ast(str, filename, start, flags, arena);
| ^~~~~~~~~~~~~~~~~~~~~~
| string_object_to_py_ast
ast27/Custom/typed_ast.c:247:9: warning: assignment to ‘mod_ty’ {aka ‘struct _mod *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
247 | mod = string_object_to_c_ast(str, filename, start, flags, arena);
| ^
ast27/Custom/typed_ast.c:249:9: warning: implicit declaration of function ‘PyArena_Free’; did you mean ‘PyMem_Free’? [-Wimplicit-function-declaration]
249 | PyArena_Free(arena);
| ^~~~~~~~~~~~
| PyMem_Free
At top level:
ast27/Custom/typed_ast.c:200:1: warning: ‘err_free’ defined but not used [-Wunused-function]
200 | err_free(perrdetail *err)
| ^~~~~~~~
ast27/Custom/typed_ast.c:80:1: warning: ‘err_input’ defined but not used [-Wunused-function]
80 | err_input(perrdetail *err)
| ^~~~~~~~~
ast27/Custom/typed_ast.c:65:12: warning: ‘PARSER_FLAGS’ defined but not used [-Wunused-function]
65 | static int PARSER_FLAGS(PyCompilerFlags *flags)
| ^~~~~~~~~~~~
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> typed-ast
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
(venv) eantonov@arrakis2:~/Documents/PYTHONDEV/exercices/REALPYTHON/concurrency-overview$