├── LICENSE ├── README.md ├── appendixB ├── 1 │ └── cutlery_asyncio.py ├── 2 │ └── index.html ├── 3 │ └── charts.html ├── 4 │ └── triggers.py └── 5 │ └── perf.py ├── chapter2 ├── 1 │ └── threading_best_practice.py ├── 2,3 │ └── cutlery_test.py └── threadmem.py ├── chapter3 ├── 1 │ └── quickstart.py ├── 2 │ └── quickstart.py ├── 3 │ └── quickstart_exe.py ├── 6 │ └── coro_send.py ├── 7 │ └── using_await.py ├── 8 │ └── inject_exception_into_coro.py ├── 9 │ └── cancel_coro.py ├── 10 │ └── absorb_cancel_and_move_on.py ├── 11 │ └── exec_coro_w_event_loop.py ├── 12 │ └── always_same_event_loop.py ├── 13 │ └── create_tasks.py ├── 14 │ └── create_tasks_the_modern_way.py ├── 15 │ └── check_future_complete_status.py ├── 16 │ └── interact_w_future_instance.py ├── 17 │ └── set_result_on_task.py ├── 18 │ └── ensure_future.py ├── 19 │ └── listify.py ├── 20 │ └── async_context_manager.py ├── 21 │ └── contextlib_contextmanager.py ├── 22 │ └── contextlib_asynccontextmanager.py ├── 23 │ └── run_in_executor_example.py ├── 24 │ └── nonasync_iterator.py ├── 25 │ └── async_iterator_redis_example.py ├── 26 │ └── async_generator_redis_example.py ├── 27 │ └── async_comprehensions_example1.py ├── 28 │ └── async_comprehensions_example2.py ├── 29 │ └── taskwarning.py ├── 30 │ └── telnetdemo.py ├── 31 │ └── telnetdemo.py ├── 32 │ └── alltaskscomplete.py ├── 33 │ └── shell_signal01.py ├── 34 │ └── shell_signal02.py ├── 35 │ └── shell_signal02b.py ├── 36 │ └── quickstart.py ├── 37 │ └── quickstart.py ├── 38 │ └── quickstart.py ├── 39 │ └── quickstart.py └── 4,5 │ └── async_func_are_func_not_coro.py ├── chapter4 ├── 10 │ └── twisted_defer_example.py ├── 11 │ └── twisted_asyncio.py ├── 12 │ └── janus_demo.py ├── 13 │ └── aiohttp_example.py ├── 14 │ └── news_scraper.py ├── 15 │ └── poller.py ├── 16 │ └── poller_srv.py ├── 17 │ └── poller_aio.py ├── 18 │ └── backend-app.py ├── 19 │ └── metric-server.py ├── 20 │ └── visualization_layer.snip.js ├── 1-9 │ ├── __pycache__ │ │ └── msgproto.cpython-38.pyc │ ├── mq_client_listen.py │ ├── mq_client_sender.py │ ├── mq_server.py │ ├── mq_server_plus.py │ └── msgproto.py └── 21,22,23,24 │ ├── __pycache__ │ ├── model.cpython-38.pyc │ ├── perf.cpython-38.pyc │ ├── triggers.cpython-38.pyc │ └── util.cpython-38.pyc │ ├── asyncpg-basic.py │ ├── model.py │ ├── perf.py │ ├── sanic_demo.py │ ├── triggers.py │ └── util.py ├── requirements.txt └── resource └── book_cover.jpg /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/README.md -------------------------------------------------------------------------------- /appendixB/1/cutlery_asyncio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/appendixB/1/cutlery_asyncio.py -------------------------------------------------------------------------------- /appendixB/2/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/appendixB/2/index.html -------------------------------------------------------------------------------- /appendixB/3/charts.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/appendixB/3/charts.html -------------------------------------------------------------------------------- /appendixB/4/triggers.py: -------------------------------------------------------------------------------- 1 | # Example B-4. triggers.py 2 | 3 | # Defined in chapter2/21,22,23,24/ 4 | -------------------------------------------------------------------------------- /appendixB/5/perf.py: -------------------------------------------------------------------------------- 1 | # Example B-5. perf.py 2 | 3 | # Defined in chapter2/21,22,23,24/ 4 | -------------------------------------------------------------------------------- /chapter2/1/threading_best_practice.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter2/1/threading_best_practice.py -------------------------------------------------------------------------------- /chapter2/2,3/cutlery_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter2/2,3/cutlery_test.py -------------------------------------------------------------------------------- /chapter2/threadmem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter2/threadmem.py -------------------------------------------------------------------------------- /chapter3/1/quickstart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/1/quickstart.py -------------------------------------------------------------------------------- /chapter3/10/absorb_cancel_and_move_on.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/10/absorb_cancel_and_move_on.py -------------------------------------------------------------------------------- /chapter3/11/exec_coro_w_event_loop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/11/exec_coro_w_event_loop.py -------------------------------------------------------------------------------- /chapter3/12/always_same_event_loop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/12/always_same_event_loop.py -------------------------------------------------------------------------------- /chapter3/13/create_tasks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/13/create_tasks.py -------------------------------------------------------------------------------- /chapter3/14/create_tasks_the_modern_way.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/14/create_tasks_the_modern_way.py -------------------------------------------------------------------------------- /chapter3/15/check_future_complete_status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/15/check_future_complete_status.py -------------------------------------------------------------------------------- /chapter3/16/interact_w_future_instance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/16/interact_w_future_instance.py -------------------------------------------------------------------------------- /chapter3/17/set_result_on_task.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/17/set_result_on_task.py -------------------------------------------------------------------------------- /chapter3/18/ensure_future.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/18/ensure_future.py -------------------------------------------------------------------------------- /chapter3/19/listify.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/19/listify.py -------------------------------------------------------------------------------- /chapter3/2/quickstart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/2/quickstart.py -------------------------------------------------------------------------------- /chapter3/20/async_context_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/20/async_context_manager.py -------------------------------------------------------------------------------- /chapter3/21/contextlib_contextmanager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/21/contextlib_contextmanager.py -------------------------------------------------------------------------------- /chapter3/22/contextlib_asynccontextmanager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/22/contextlib_asynccontextmanager.py -------------------------------------------------------------------------------- /chapter3/23/run_in_executor_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/23/run_in_executor_example.py -------------------------------------------------------------------------------- /chapter3/24/nonasync_iterator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/24/nonasync_iterator.py -------------------------------------------------------------------------------- /chapter3/25/async_iterator_redis_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/25/async_iterator_redis_example.py -------------------------------------------------------------------------------- /chapter3/26/async_generator_redis_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/26/async_generator_redis_example.py -------------------------------------------------------------------------------- /chapter3/27/async_comprehensions_example1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/27/async_comprehensions_example1.py -------------------------------------------------------------------------------- /chapter3/28/async_comprehensions_example2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/28/async_comprehensions_example2.py -------------------------------------------------------------------------------- /chapter3/29/taskwarning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/29/taskwarning.py -------------------------------------------------------------------------------- /chapter3/3/quickstart_exe.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/3/quickstart_exe.py -------------------------------------------------------------------------------- /chapter3/30/telnetdemo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/30/telnetdemo.py -------------------------------------------------------------------------------- /chapter3/31/telnetdemo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/31/telnetdemo.py -------------------------------------------------------------------------------- /chapter3/32/alltaskscomplete.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/32/alltaskscomplete.py -------------------------------------------------------------------------------- /chapter3/33/shell_signal01.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/33/shell_signal01.py -------------------------------------------------------------------------------- /chapter3/34/shell_signal02.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/34/shell_signal02.py -------------------------------------------------------------------------------- /chapter3/35/shell_signal02b.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/35/shell_signal02b.py -------------------------------------------------------------------------------- /chapter3/36/quickstart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/36/quickstart.py -------------------------------------------------------------------------------- /chapter3/37/quickstart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/37/quickstart.py -------------------------------------------------------------------------------- /chapter3/38/quickstart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/38/quickstart.py -------------------------------------------------------------------------------- /chapter3/39/quickstart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/39/quickstart.py -------------------------------------------------------------------------------- /chapter3/4,5/async_func_are_func_not_coro.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/4,5/async_func_are_func_not_coro.py -------------------------------------------------------------------------------- /chapter3/6/coro_send.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/6/coro_send.py -------------------------------------------------------------------------------- /chapter3/7/using_await.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/7/using_await.py -------------------------------------------------------------------------------- /chapter3/8/inject_exception_into_coro.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/8/inject_exception_into_coro.py -------------------------------------------------------------------------------- /chapter3/9/cancel_coro.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter3/9/cancel_coro.py -------------------------------------------------------------------------------- /chapter4/1-9/__pycache__/msgproto.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/1-9/__pycache__/msgproto.cpython-38.pyc -------------------------------------------------------------------------------- /chapter4/1-9/mq_client_listen.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/1-9/mq_client_listen.py -------------------------------------------------------------------------------- /chapter4/1-9/mq_client_sender.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/1-9/mq_client_sender.py -------------------------------------------------------------------------------- /chapter4/1-9/mq_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/1-9/mq_server.py -------------------------------------------------------------------------------- /chapter4/1-9/mq_server_plus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/1-9/mq_server_plus.py -------------------------------------------------------------------------------- /chapter4/1-9/msgproto.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/1-9/msgproto.py -------------------------------------------------------------------------------- /chapter4/10/twisted_defer_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/10/twisted_defer_example.py -------------------------------------------------------------------------------- /chapter4/11/twisted_asyncio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/11/twisted_asyncio.py -------------------------------------------------------------------------------- /chapter4/12/janus_demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/12/janus_demo.py -------------------------------------------------------------------------------- /chapter4/13/aiohttp_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/13/aiohttp_example.py -------------------------------------------------------------------------------- /chapter4/14/news_scraper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/14/news_scraper.py -------------------------------------------------------------------------------- /chapter4/15/poller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/15/poller.py -------------------------------------------------------------------------------- /chapter4/16/poller_srv.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/16/poller_srv.py -------------------------------------------------------------------------------- /chapter4/17/poller_aio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/17/poller_aio.py -------------------------------------------------------------------------------- /chapter4/18/backend-app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/18/backend-app.py -------------------------------------------------------------------------------- /chapter4/19/metric-server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/19/metric-server.py -------------------------------------------------------------------------------- /chapter4/20/visualization_layer.snip.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/20/visualization_layer.snip.js -------------------------------------------------------------------------------- /chapter4/21,22,23,24/__pycache__/model.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/__pycache__/model.cpython-38.pyc -------------------------------------------------------------------------------- /chapter4/21,22,23,24/__pycache__/perf.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/__pycache__/perf.cpython-38.pyc -------------------------------------------------------------------------------- /chapter4/21,22,23,24/__pycache__/triggers.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/__pycache__/triggers.cpython-38.pyc -------------------------------------------------------------------------------- /chapter4/21,22,23,24/__pycache__/util.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/__pycache__/util.cpython-38.pyc -------------------------------------------------------------------------------- /chapter4/21,22,23,24/asyncpg-basic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/asyncpg-basic.py -------------------------------------------------------------------------------- /chapter4/21,22,23,24/model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/model.py -------------------------------------------------------------------------------- /chapter4/21,22,23,24/perf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/perf.py -------------------------------------------------------------------------------- /chapter4/21,22,23,24/sanic_demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/sanic_demo.py -------------------------------------------------------------------------------- /chapter4/21,22,23,24/triggers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/triggers.py -------------------------------------------------------------------------------- /chapter4/21,22,23,24/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/chapter4/21,22,23,24/util.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/requirements.txt -------------------------------------------------------------------------------- /resource/book_cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckaraneen/usingaio/HEAD/resource/book_cover.jpg --------------------------------------------------------------------------------