When using python to compile to bytecode, it is really inconvenient that the compiler is fixed into using whatever opmiziation level the interpreter was started with.  This makes it impossible to create e.g. .zip libraries of different optimization levels from a single python session.  What is more, a program that creates optimized .zip files cannot itself have active asserts and so on.

Adding the optimize state to the compilerīs state outht not to be too difficult.  We could then:

compile(source, filename, mode[, flags[, dont_inherit[, optimize]]])

with optmize defaulting to the interpreter‘s current level.

 

Same with py_compile, and so on.

 

K