byt

bytecode

Python module to modify bytecode

Showing:

Popularity

Downloads/wk

0

GitHub Stars

212

Maintenance

Last Commit

3d ago

Contributors

17

Package

Dependencies

1

License

MIT license

Categories

Readme


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.6 or newer. 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)

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100