TODO list ========= * Remove Bytecode.cellvars and Bytecode.freevars? * Remove Bytecode.first_lineno? Compute it on conversions. * Add instruction constants/enums? Example:: from bytecode import instructions as i bytecode = Bytecode([i.LOAD_NAME('print'), i.LOAD_CONST('Hello World!'), i.CALL_FUNCTION(1), i.POP_TOP(), i.LOAD_CONST(None), i.RETURN_VALUE()]) Should we support instructions without parenthesis for instruction with no parameter? Example with POP_TOP and RETURN_VALUE:: from bytecode import instructions as i bytecode = Bytecode([i.LOAD_NAME('print'), i.LOAD_CONST('Hello World!'), i.CALL_FUNCTION(1), i.POP_TOP, i.LOAD_CONST(None), i.RETURN_VALUE]) * Nicer API for function arguments in bytecode object? Bytecode has argcount, kwonlyargcount and argnames. 4 types of parameters: indexed, ``*args``, ``**kwargs`` and ``*, kwonly=3``. See inspect.signature()