devel/py-xdis - The NetBSD Packages Collection

Python cross-version byte-code disassembler and marshal routines

The Python dis module allows you to disassemble bytecode from the same version
of Python that you are running on. But what about bytecode from different
versions?

That's what this package is for. It can "marshal load" Python bytecodes from
different versions of Python. The command-line routine pydisasm will show
disassembly output using Python 3.6 disassembly conventions.

Also, if you need to modfiy and write bytecode, the routines here can be of
help. There are routines to pack and unpack the read-only tuples in Python's
Code type. For interoperability between Python 2 and 3 we provide our own
versions of the Code type, and we provide routines to reduce the tedium in
writing a bytecode file.

This package also has an extensive knowledge of Python bytecode magic numbers,
including Pypy and others, and how to translate from sys.sys_info major, minor,
and release numbers to the corresponding magic value.

So If you want to write a cross-version assembler, or a bytecode-level
optimizer this package may also be useful. In addition to the kinds of
instruction categorization that dis offers, we have additional categories for
things that would be useful in such a bytecode optimizer.

Build dependencies

devel/py-setuptools devel/py-build misc/py-installer pkgtools/mktools pkgtools/cwrappers

Runtime dependencies

devel/py-click lang/py-six lang/python312 lang/python312

Binary packages

OSArchitectureVersion
NetBSD 10.0aarch64py310-xdis-6.1.1.tgz
NetBSD 10.0aarch64py311-xdis-6.1.1.tgz
NetBSD 10.0aarch64py312-xdis-6.1.1.tgz
NetBSD 10.0aarch64py310-xdis-6.1.0.tgz
NetBSD 10.0aarch64py311-xdis-6.1.0.tgz
NetBSD 10.0aarch64py312-xdis-6.1.0.tgz
NetBSD 10.0aarch64py38-xdis-6.1.0.tgz
NetBSD 10.0aarch64py39-xdis-6.1.0.tgz
NetBSD 10.0aarch64ebpy310-xdis-6.1.0.tgz
NetBSD 10.0aarch64ebpy311-xdis-6.1.0.tgz
NetBSD 10.0aarch64ebpy312-xdis-6.1.0.tgz
NetBSD 10.0aarch64ebpy38-xdis-6.1.0.tgz
NetBSD 10.0aarch64ebpy39-xdis-6.1.0.tgz
NetBSD 10.0aarch64ebpy310-xdis-6.1.1.tgz
NetBSD 10.0aarch64ebpy311-xdis-6.1.1.tgz
NetBSD 10.0aarch64ebpy312-xdis-6.1.1.tgz
NetBSD 10.0alphapy310-xdis-6.1.0.tgz
NetBSD 10.0alphapy311-xdis-6.1.0.tgz
NetBSD 10.0alphapy312-xdis-6.1.0.tgz
NetBSD 10.0alphapy38-xdis-6.1.0.tgz
NetBSD 10.0alphapy39-xdis-6.1.0.tgz
NetBSD 10.0alphapy310-xdis-6.1.1.tgz
NetBSD 10.0alphapy311-xdis-6.1.1.tgz
NetBSD 10.0alphapy312-xdis-6.1.1.tgz
NetBSD 10.0earmv4py310-xdis-6.1.0.tgz
NetBSD 10.0earmv4py311-xdis-6.1.0.tgz
NetBSD 10.0earmv4py312-xdis-6.1.0.tgz
NetBSD 10.0earmv4py38-xdis-6.1.0.tgz
NetBSD 10.0earmv4py39-xdis-6.1.0.tgz
NetBSD 10.0earmv4py310-xdis-6.1.1.tgz
NetBSD 10.0earmv4py311-xdis-6.1.1.tgz
NetBSD 10.0earmv4py312-xdis-6.1.1.tgz
NetBSD 10.0earmv6hfpy310-xdis-6.1.1.tgz
NetBSD 10.0earmv6hfpy311-xdis-6.1.1.tgz
NetBSD 10.0earmv6hfpy312-xdis-6.1.1.tgz
NetBSD 10.0earmv6hfpy310-xdis-6.1.0.tgz
NetBSD 10.0earmv6hfpy311-xdis-6.1.0.tgz
NetBSD 10.0earmv6hfpy312-xdis-6.1.0.tgz
NetBSD 10.0earmv6hfpy38-xdis-6.1.0.tgz
NetBSD 10.0earmv6hfpy39-xdis-6.1.0.tgz
NetBSD 10.0earmv6hfpy310-xdis-6.1.0.tgz
NetBSD 10.0earmv6hfpy311-xdis-6.1.0.tgz
NetBSD 10.0earmv6hfpy312-xdis-6.1.0.tgz
NetBSD 10.0earmv6hfpy38-xdis-6.1.0.tgz
NetBSD 10.0earmv6hfpy39-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy310-xdis-6.1.1.tgz
NetBSD 10.0earmv7hfpy311-xdis-6.1.1.tgz
NetBSD 10.0earmv7hfpy312-xdis-6.1.1.tgz
NetBSD 10.0earmv7hfpy310-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy311-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy312-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy38-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy39-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy310-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy311-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy312-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy38-xdis-6.1.0.tgz
NetBSD 10.0earmv7hfpy39-xdis-6.1.0.tgz
NetBSD 10.0i386py310-xdis-6.1.1.tgz
NetBSD 10.0i386py311-xdis-6.1.1.tgz
NetBSD 10.0i386py312-xdis-6.1.1.tgz
NetBSD 10.0i386py310-xdis-6.1.0.tgz
NetBSD 10.0i386py311-xdis-6.1.0.tgz
NetBSD 10.0i386py312-xdis-6.1.0.tgz
NetBSD 10.0i386py38-xdis-6.1.0.tgz
NetBSD 10.0i386py39-xdis-6.1.0.tgz
NetBSD 10.0m68kpy310-xdis-6.1.1.tgz
NetBSD 10.0m68kpy311-xdis-6.1.1.tgz
NetBSD 10.0powerpcpy310-xdis-6.0.5.tgz
NetBSD 10.0powerpcpy311-xdis-6.0.5.tgz
NetBSD 10.0powerpcpy38-xdis-6.0.5.tgz
NetBSD 10.0powerpcpy39-xdis-6.0.5.tgz
NetBSD 10.0powerpcpy310-xdis-6.0.5.tgz
NetBSD 10.0powerpcpy311-xdis-6.0.5.tgz
NetBSD 10.0powerpcpy312-xdis-6.0.5.tgz
NetBSD 10.0powerpcpy38-xdis-6.0.5.tgz
NetBSD 10.0powerpcpy39-xdis-6.0.5.tgz
NetBSD 10.0powerpcpy310-xdis-6.1.0.tgz
NetBSD 10.0powerpcpy311-xdis-6.1.0.tgz
NetBSD 10.0powerpcpy312-xdis-6.1.0.tgz
NetBSD 10.0powerpcpy38-xdis-6.1.0.tgz
NetBSD 10.0powerpcpy39-xdis-6.1.0.tgz
NetBSD 10.0sh3elpy310-xdis-6.1.0.tgz
NetBSD 10.0sh3elpy311-xdis-6.1.0.tgz
NetBSD 10.0sh3elpy312-xdis-6.1.0.tgz
NetBSD 10.0sh3elpy38-xdis-6.1.0.tgz
NetBSD 10.0sh3elpy39-xdis-6.1.0.tgz
NetBSD 10.0sh3elpy310-xdis-6.1.1.tgz
NetBSD 10.0sh3elpy311-xdis-6.1.1.tgz
NetBSD 10.0sh3elpy312-xdis-6.1.1.tgz
NetBSD 10.0sparc64py310-xdis-6.1.0.tgz
NetBSD 10.0sparc64py311-xdis-6.1.0.tgz
NetBSD 10.0sparc64py312-xdis-6.1.0.tgz
NetBSD 10.0sparc64py38-xdis-6.1.0.tgz
NetBSD 10.0sparc64py39-xdis-6.1.0.tgz
NetBSD 10.0sparc64py310-xdis-6.1.1.tgz
NetBSD 10.0sparc64py311-xdis-6.1.1.tgz
NetBSD 10.0sparc64py312-xdis-6.1.1.tgz
NetBSD 10.0sparcpy310-xdis-6.1.0.tgz
NetBSD 10.0sparcpy311-xdis-6.1.0.tgz
NetBSD 10.0sparcpy312-xdis-6.1.0.tgz
NetBSD 10.0sparcpy38-xdis-6.1.0.tgz
NetBSD 10.0sparcpy39-xdis-6.1.0.tgz
NetBSD 10.0sparcpy310-xdis-6.1.1.tgz
NetBSD 10.0sparcpy311-xdis-6.1.1.tgz
NetBSD 10.0sparcpy312-xdis-6.1.1.tgz
NetBSD 10.0x86_64py310-xdis-6.1.1.tgz
NetBSD 10.0x86_64py311-xdis-6.1.1.tgz
NetBSD 10.0x86_64py312-xdis-6.1.1.tgz
NetBSD 10.0x86_64py310-xdis-6.1.0.tgz
NetBSD 10.0x86_64py311-xdis-6.1.0.tgz
NetBSD 10.0x86_64py312-xdis-6.1.0.tgz
NetBSD 10.0x86_64py38-xdis-6.1.0.tgz
NetBSD 10.0x86_64py39-xdis-6.1.0.tgz
NetBSD 9.0aarch64py310-xdis-6.1.1.tgz
NetBSD 9.0aarch64py311-xdis-6.1.1.tgz
NetBSD 9.0aarch64py312-xdis-6.1.1.tgz
NetBSD 9.0aarch64py310-xdis-6.1.0.tgz
NetBSD 9.0aarch64py311-xdis-6.1.0.tgz
NetBSD 9.0aarch64py312-xdis-6.1.0.tgz
NetBSD 9.0aarch64py38-xdis-6.1.0.tgz
NetBSD 9.0aarch64py39-xdis-6.1.0.tgz
NetBSD 9.0alphapy310-xdis-6.1.0.tgz
NetBSD 9.0alphapy311-xdis-6.1.0.tgz
NetBSD 9.0alphapy38-xdis-6.1.0.tgz
NetBSD 9.0alphapy39-xdis-6.1.0.tgz
NetBSD 9.0alphapy310-xdis-6.1.1.tgz
NetBSD 9.0alphapy311-xdis-6.1.1.tgz
NetBSD 9.0earmv6hfpy310-xdis-6.1.1.tgz
NetBSD 9.0earmv6hfpy311-xdis-6.1.1.tgz
NetBSD 9.0earmv6hfpy312-xdis-6.1.1.tgz
NetBSD 9.0earmv6hfpy310-xdis-6.1.0.tgz
NetBSD 9.0earmv6hfpy311-xdis-6.1.0.tgz
NetBSD 9.0earmv6hfpy38-xdis-6.1.0.tgz
NetBSD 9.0earmv6hfpy39-xdis-6.1.0.tgz
NetBSD 9.0earmv6hfpy310-xdis-6.1.0.tgz
NetBSD 9.0earmv6hfpy311-xdis-6.1.0.tgz
NetBSD 9.0earmv6hfpy38-xdis-6.1.0.tgz
NetBSD 9.0earmv6hfpy39-xdis-6.1.0.tgz
NetBSD 9.0earmv7hfpy310-xdis-6.1.1.tgz
NetBSD 9.0earmv7hfpy311-xdis-6.1.1.tgz
NetBSD 9.0earmv7hfpy312-xdis-6.1.1.tgz
NetBSD 9.0earmv7hfpy310-xdis-6.1.0.tgz
NetBSD 9.0earmv7hfpy311-xdis-6.1.0.tgz
NetBSD 9.0earmv7hfpy38-xdis-6.1.0.tgz
NetBSD 9.0earmv7hfpy39-xdis-6.1.0.tgz
NetBSD 9.0earmv7hfpy310-xdis-6.1.0.tgz
NetBSD 9.0earmv7hfpy311-xdis-6.1.0.tgz
NetBSD 9.0earmv7hfpy38-xdis-6.1.0.tgz
NetBSD 9.0earmv7hfpy39-xdis-6.1.0.tgz
NetBSD 9.0i386py310-xdis-6.1.1.tgz
NetBSD 9.0i386py311-xdis-6.1.1.tgz
NetBSD 9.0i386py312-xdis-6.1.1.tgz
NetBSD 9.0i386py310-xdis-6.1.0.tgz
NetBSD 9.0i386py311-xdis-6.1.0.tgz
NetBSD 9.0i386py312-xdis-6.1.0.tgz
NetBSD 9.0i386py38-xdis-6.1.0.tgz
NetBSD 9.0i386py39-xdis-6.1.0.tgz
NetBSD 9.0m68kpy310-xdis-6.0.5.tgz
NetBSD 9.0m68kpy38-xdis-6.0.5.tgz
NetBSD 9.0m68kpy39-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy310-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy311-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy312-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy38-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy39-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy310-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy311-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy38-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy39-xdis-6.0.5.tgz
NetBSD 9.0powerpcpy310-xdis-6.1.0.tgz
NetBSD 9.0powerpcpy311-xdis-6.1.0.tgz
NetBSD 9.0powerpcpy312-xdis-6.1.0.tgz
NetBSD 9.0powerpcpy38-xdis-6.1.0.tgz
NetBSD 9.0powerpcpy39-xdis-6.1.0.tgz
NetBSD 9.0sparc64py310-xdis-6.1.0.tgz
NetBSD 9.0sparc64py311-xdis-6.1.0.tgz
NetBSD 9.0sparc64py312-xdis-6.1.0.tgz
NetBSD 9.0sparc64py38-xdis-6.1.0.tgz
NetBSD 9.0sparc64py39-xdis-6.1.0.tgz
NetBSD 9.0sparc64py310-xdis-6.1.1.tgz
NetBSD 9.0sparc64py311-xdis-6.1.1.tgz
NetBSD 9.0sparc64py312-xdis-6.1.1.tgz
NetBSD 9.0x86_64py310-xdis-6.1.1.tgz
NetBSD 9.0x86_64py311-xdis-6.1.1.tgz
NetBSD 9.0x86_64py312-xdis-6.1.1.tgz
NetBSD 9.0x86_64py310-xdis-6.1.0.tgz
NetBSD 9.0x86_64py311-xdis-6.1.0.tgz
NetBSD 9.0x86_64py312-xdis-6.1.0.tgz
NetBSD 9.0x86_64py38-xdis-6.1.0.tgz
NetBSD 9.0x86_64py39-xdis-6.1.0.tgz
NetBSD 9.3x86_64py310-xdis-6.1.1.tgz
NetBSD 9.3x86_64py311-xdis-6.1.1.tgz
NetBSD 9.3x86_64py312-xdis-6.1.1.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

(none)

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.


Problem reports, updates or suggestions for this package should be reported with send-pr.