Skip to main content

A library for inserting a piece of code into another piece of code

Project description

Description

A library allows to insert one piece of code into another piece of code secretly, without changing line numbers.

The current version supports only Python 3.6. Also it allows to insert only functions without arguments.

Usage

A library has a useful function insert_code, which inserts which takes the original code, the code to insert and line number for insertion. The simplest example of usage from the examples directory:

from bytesinsert import insert_code


def hello():
    print("1")
    print("3")


def new_code():
    print("2")


code_orig = hello.__code__
code_to_insert = new_code.__code__
success, result = insert_code(code_orig, code_to_insert, 6)
if success:
    exec(result)

The resulting output will be:

1
2
3

The insert_code function inserted code from the function new_code into the function hello by updating its bytecode.

Install

This library can be easily installed with pip:

pip install bytesinsert

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bytesinsert-0.2.2.tar.gz (6.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page