-*- mode: org -*- Nemesis is a prototype [[https://docs.python.org/3/library/asyncio.html][asyncio]] profiler which finds blocking coroutines through use of [[https://github.com/plasma-umass/coz][causal profiling]]. Nemesis directly measures optimization potential without instrumentation by predicting the impact of how coroutine optimization has an inpact on the overall throughput or latency of tasks scheduled in the event loop. In order to try Nemesis, you need to specify the =loop= argument of the =asyncio.run= method to the CausalEventLoop class. See the examples folder for information on how to do this. In python versions older than 3.14, the canonical way to use a custom event loop is to set the [[https://docs.python.org/3/library/asyncio-policy.html][default loop policy]]. As Nemesis only works for the =asyncio.SelectorEventLoop= class, it is only usable for GNU/Linux or Mac systems.