Async aims to make writing asyncronous processing easier. 

It provides a task-graph with interdependent tasks that communicate
using blocking channels, allowing to delay actual computations until
items are requested.
Tasks will automatically be distributed among 0 or more threads for
the actual computation.

Even though the GIL effectively prevents true concurrency, operations
which block, such as file IO, can be sped up with it already. 

In conjuction with custom c extensions which release the GIL, true
concurrency can be obtained as well.
