Python module to generate and modify bytecode
bytecode
.. image:: https://img.shields.io/pypi/v/bytecode.svg :alt: Latest release on the Python Cheeseshop (PyPI) :target: https://pypi.python.org/pypi/bytecode
.. image:: https://github.com/MatthieuDartiailh/bytecode/workflows/Continuous%20Integration/badge.svg :target: https://github.com/MatthieuDartiailh/bytecode/actions :alt: Continuous integration
.. image:: https://github.com/MatthieuDartiailh/bytecode/workflows/Documentation%20building/badge.svg :target: https://github.com/MatthieuDartiailh/bytecode/actions :alt: Documentation building
.. image:: https://img.shields.io/codecov/c/github/MatthieuDartiailh/bytecode/master.svg :alt: Code coverage of bytecode on codecov.io :target: https://codecov.io/github/MatthieuDartiailh/bytecode
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg :alt: Code formatted using Black :target: https://github.com/psf/black
bytecode is a Python module to generate and modify bytecode.
bytecode project homepage at GitHub <https://github.com/MatthieuDartiailh/bytecode>_ (code, bugs)bytecode documentation <https://bytecode.readthedocs.io/>_Download latest bytecode release at the Python Cheeseshop (PyPI) <https://pypi.python.org/pypi/bytecode>_Install bytecode: python3 -m pip install bytecode. It requires Python 3.8
or newer. The latest release that supports Python 3.7 and 3.6 is 0.13.0.
The latest release that supports Python 3.5 is 0.12.0. For Python 2.7 support,
have a look at dead-bytecode <https://github.com/p403n1x87/dead-bytecode>_
instead.
Example executing print('Hello World!'):
.. code:: python
from bytecode import Instr, Bytecode
bytecode = Bytecode([Instr("LOAD_NAME", 'print'),
Instr("LOAD_CONST", 'Hello World!'),
Instr("CALL_FUNCTION", 1),
Instr("POP_TOP"),
Instr("LOAD_CONST", None),
Instr("RETURN_VALUE")])
code = bytecode.to_code()
exec(code)