SkillAgentSearch skills...

Dispy

A tiny Python bytecode disassembler

Install / Use

/learn @goldsborough/Dispy
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

dispy

GitHub license

A tiny Python bytecode disassembler.

dispy emulates the behavior of dis.dis in that it will take a function, method, code object or code string and print a pretty representation of the corresponding bytecode. See here for a blog post on dis.dis and bytecode in general.

Usage

To use dispy, simply import the package and call the dispy.dis() method with any of the aforementioned argument types. For example:

def foo():
    a = 1
    b = 2
    return math.tanh(a * b)

dispy.dis(foo)

will print:

0       0 LOAD_CONST        1 (1)
        3 STORE_FAST        0 (a)

1       6 LOAD_CONST        2 (2)
        9 STORE_FAST        1 (b)

2       12 LOAD_GLOBAL      0 (math)
        15 LOAD_ATTR        1 (tanh)
        18 LOAD_FAST        0 (a)
        21 LOAD_FAST        1 (b)
        24 BINARY_MULTIPLY
        25 CALL_FUNCTION
        26 POP_TOP
        27 STOP_CODE
        28 RETURN_VALUE

Hackability

The source is very small (~300 LOC), so feel free to reuse, fork and modify.

License

This project is released under the MIT License. For more information, see the LICENSE file.

Authors

Peter Goldsborough + cat :heart:

<a href="https://gratipay.com/~goldsborough/"><img src="http://img.shields.io/gratipay/goldsborough.png?style=flat-square"></a>

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated2y ago
Forks2

Languages

Python

Security Score

60/100

Audited on Feb 24, 2024

No findings