Если вы хотите использовать стандартный интерпретатор Python, библиотека greenlet - это то, что вам нужно.
Что касается GIL, это не должно быть проблемой для сопрограмм. Вы можете рассматривать модель сопрограммы greenlet как несколько легких «потоков» пространства пользователя, работающих в одном потоке ядра. Таким образом, с точки зрения GIL и OS, он все еще однопоточный.