Вы можете дизассемблировать модуль с кодировкой Python, используя модуль dis из стандартной библиотеки: он создает определенно читабельный источник, но не Python источник, а скорее байт-код источник. Собрать яйца, начиная с омлета, немного сложнее.
Раньше был декомпилятор для Python 2.3 (см. здесь ), но я не знаю, поддерживал ли его кто-либо в течение последних нескольких лет, что говорит о том, что эта задача не вызывает особого интереса в сообществе открытого исходного кода. Если вы не согласны, вы можете раскошелиться на этот проект, создав собственный проект с целью декомпиляции 2.7 (или любой другой версии Python, для которой вы хотите декомпилировать), и привлечь других энтузиастов к этой задаче - если вы можете их найти, то есть.