Despite the fair biit of controversy, Python does support various means of achieving concurrency:
threads, and, as of recently
async IO support, based on an event-loop.
What to use where
if io_bound: if io_very_slow: print("Use Asyncio") else: print("Use Threads") else: print("Multi Processing")