# 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.

- Source version: `py311-xdis-6.1.0`
- Maintainer: pkgsrc-users AT NetBSD.org
- Website: https://github.com/rocky/python-xdis
- License: gnu-gpl-v2
- Package history: cvs, hg, git

## Build dependencies

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

## Runtime dependencies

devel/py-click textproc/py-pygments lang/py-six comms/py-term-background lang/python311 lang/python311

## Binary packages

OS | Architecture | Version
--- | --- | ---
NetBSD 10.0 | aarch64 | py310-xdis-6.1.0.tgz
NetBSD 10.0 | aarch64 | py311-xdis-6.1.0.tgz
NetBSD 10.0 | aarch64 | py312-xdis-6.1.0.tgz
NetBSD 10.0 | aarch64 | py38-xdis-6.1.0.tgz
NetBSD 10.0 | aarch64 | py39-xdis-6.1.0.tgz
NetBSD 10.0 | aarch64 | py310-xdis-6.0.5.tgz
NetBSD 10.0 | aarch64 | py311-xdis-6.0.5.tgz
NetBSD 10.0 | aarch64 | py312-xdis-6.0.5.tgz
NetBSD 10.0 | aarch64 | py38-xdis-6.0.5.tgz
NetBSD 10.0 | aarch64 | py39-xdis-6.0.5.tgz
NetBSD 10.0 | aarch64eb | py310-xdis-6.1.0.tgz
NetBSD 10.0 | aarch64eb | py311-xdis-6.1.0.tgz
NetBSD 10.0 | aarch64eb | py312-xdis-6.1.0.tgz
NetBSD 10.0 | aarch64eb | py38-xdis-6.1.0.tgz
NetBSD 10.0 | aarch64eb | py39-xdis-6.1.0.tgz
NetBSD 10.0 | alpha | py310-xdis-6.1.0.tgz
NetBSD 10.0 | alpha | py311-xdis-6.1.0.tgz
NetBSD 10.0 | alpha | py312-xdis-6.1.0.tgz
NetBSD 10.0 | alpha | py38-xdis-6.1.0.tgz
NetBSD 10.0 | alpha | py39-xdis-6.1.0.tgz
NetBSD 10.0 | earmv4 | py311-xdis-6.1.0.tgz
NetBSD 10.0 | earmv6hf | py310-xdis-6.1.0.tgz
NetBSD 10.0 | earmv6hf | py311-xdis-6.1.0.tgz
NetBSD 10.0 | earmv6hf | py312-xdis-6.1.0.tgz
NetBSD 10.0 | earmv6hf | py38-xdis-6.1.0.tgz
NetBSD 10.0 | earmv6hf | py39-xdis-6.1.0.tgz
NetBSD 10.0 | earmv6hf | py310-xdis-6.0.5.tgz
NetBSD 10.0 | earmv6hf | py311-xdis-6.0.5.tgz
NetBSD 10.0 | earmv6hf | py312-xdis-6.0.5.tgz
NetBSD 10.0 | earmv6hf | py38-xdis-6.0.5.tgz
NetBSD 10.0 | earmv6hf | py39-xdis-6.0.5.tgz
NetBSD 10.0 | earmv7hf | py310-xdis-6.1.0.tgz
NetBSD 10.0 | earmv7hf | py311-xdis-6.1.0.tgz
NetBSD 10.0 | earmv7hf | py312-xdis-6.1.0.tgz
NetBSD 10.0 | earmv7hf | py38-xdis-6.1.0.tgz
NetBSD 10.0 | earmv7hf | py39-xdis-6.1.0.tgz
NetBSD 10.0 | earmv7hf | py310-xdis-6.0.5.tgz
NetBSD 10.0 | earmv7hf | py311-xdis-6.0.5.tgz
NetBSD 10.0 | earmv7hf | py312-xdis-6.0.5.tgz
NetBSD 10.0 | earmv7hf | py38-xdis-6.0.5.tgz
NetBSD 10.0 | earmv7hf | py39-xdis-6.0.5.tgz
NetBSD 10.0 | i386 | py310-xdis-6.1.0.tgz
NetBSD 10.0 | i386 | py311-xdis-6.1.0.tgz
NetBSD 10.0 | i386 | py312-xdis-6.1.0.tgz
NetBSD 10.0 | i386 | py38-xdis-6.1.0.tgz
NetBSD 10.0 | i386 | py39-xdis-6.1.0.tgz
NetBSD 10.0 | i386 | py310-xdis-6.0.5.tgz
NetBSD 10.0 | i386 | py311-xdis-6.0.5.tgz
NetBSD 10.0 | i386 | py312-xdis-6.0.5.tgz
NetBSD 10.0 | i386 | py38-xdis-6.0.5.tgz
NetBSD 10.0 | i386 | py39-xdis-6.0.5.tgz
NetBSD 10.0 | powerpc | py310-xdis-6.0.5.tgz
NetBSD 10.0 | powerpc | py311-xdis-6.0.5.tgz
NetBSD 10.0 | powerpc | py38-xdis-6.0.5.tgz
NetBSD 10.0 | powerpc | py39-xdis-6.0.5.tgz
NetBSD 10.0 | powerpc | py310-xdis-6.0.5.tgz
NetBSD 10.0 | powerpc | py311-xdis-6.0.5.tgz
NetBSD 10.0 | powerpc | py312-xdis-6.0.5.tgz
NetBSD 10.0 | powerpc | py38-xdis-6.0.5.tgz
NetBSD 10.0 | powerpc | py39-xdis-6.0.5.tgz
NetBSD 10.0 | sh3el | py310-xdis-6.1.0.tgz
NetBSD 10.0 | sh3el | py311-xdis-6.1.0.tgz
NetBSD 10.0 | sh3el | py312-xdis-6.1.0.tgz
NetBSD 10.0 | sh3el | py38-xdis-6.1.0.tgz
NetBSD 10.0 | sh3el | py39-xdis-6.1.0.tgz
NetBSD 10.0 | sparc64 | py310-xdis-6.1.0.tgz
NetBSD 10.0 | sparc64 | py311-xdis-6.1.0.tgz
NetBSD 10.0 | sparc64 | py312-xdis-6.1.0.tgz
NetBSD 10.0 | sparc64 | py38-xdis-6.1.0.tgz
NetBSD 10.0 | sparc64 | py39-xdis-6.1.0.tgz
NetBSD 10.0 | sparc | py310-xdis-6.1.0.tgz
NetBSD 10.0 | sparc | py311-xdis-6.1.0.tgz
NetBSD 10.0 | sparc | py312-xdis-6.1.0.tgz
NetBSD 10.0 | sparc | py38-xdis-6.1.0.tgz
NetBSD 10.0 | sparc | py39-xdis-6.1.0.tgz
NetBSD 10.0 | x86_64 | py310-xdis-6.1.0.tgz
NetBSD 10.0 | x86_64 | py311-xdis-6.1.0.tgz
NetBSD 10.0 | x86_64 | py312-xdis-6.1.0.tgz
NetBSD 10.0 | x86_64 | py38-xdis-6.1.0.tgz
NetBSD 10.0 | x86_64 | py39-xdis-6.1.0.tgz
NetBSD 10.0 | x86_64 | py310-xdis-6.0.5.tgz
NetBSD 10.0 | x86_64 | py311-xdis-6.0.5.tgz
NetBSD 10.0 | x86_64 | py312-xdis-6.0.5.tgz
NetBSD 10.0 | x86_64 | py38-xdis-6.0.5.tgz
NetBSD 10.0 | x86_64 | py39-xdis-6.0.5.tgz
NetBSD 9.0 | aarch64 | py310-xdis-6.1.0.tgz
NetBSD 9.0 | aarch64 | py311-xdis-6.1.0.tgz
NetBSD 9.0 | aarch64 | py312-xdis-6.1.0.tgz
NetBSD 9.0 | aarch64 | py38-xdis-6.1.0.tgz
NetBSD 9.0 | aarch64 | py39-xdis-6.1.0.tgz
NetBSD 9.0 | aarch64 | py310-xdis-6.0.5.tgz
NetBSD 9.0 | aarch64 | py311-xdis-6.0.5.tgz
NetBSD 9.0 | aarch64 | py312-xdis-6.0.5.tgz
NetBSD 9.0 | aarch64 | py38-xdis-6.0.5.tgz
NetBSD 9.0 | aarch64 | py39-xdis-6.0.5.tgz
NetBSD 9.0 | alpha | py310-xdis-6.1.0.tgz
NetBSD 9.0 | alpha | py311-xdis-6.1.0.tgz
NetBSD 9.0 | alpha | py38-xdis-6.1.0.tgz
NetBSD 9.0 | alpha | py39-xdis-6.1.0.tgz
NetBSD 9.0 | earmv6hf | py310-xdis-6.1.0.tgz
NetBSD 9.0 | earmv6hf | py311-xdis-6.1.0.tgz
NetBSD 9.0 | earmv6hf | py38-xdis-6.1.0.tgz
NetBSD 9.0 | earmv6hf | py39-xdis-6.1.0.tgz
NetBSD 9.0 | earmv6hf | py310-xdis-6.0.5.tgz
NetBSD 9.0 | earmv6hf | py311-xdis-6.0.5.tgz
NetBSD 9.0 | earmv6hf | py38-xdis-6.0.5.tgz
NetBSD 9.0 | earmv6hf | py39-xdis-6.0.5.tgz
NetBSD 9.0 | earmv7hf | py310-xdis-6.1.0.tgz
NetBSD 9.0 | earmv7hf | py311-xdis-6.1.0.tgz
NetBSD 9.0 | earmv7hf | py38-xdis-6.1.0.tgz
NetBSD 9.0 | earmv7hf | py39-xdis-6.1.0.tgz
NetBSD 9.0 | earmv7hf | py310-xdis-6.0.5.tgz
NetBSD 9.0 | earmv7hf | py311-xdis-6.0.5.tgz
NetBSD 9.0 | earmv7hf | py38-xdis-6.0.5.tgz
NetBSD 9.0 | earmv7hf | py39-xdis-6.0.5.tgz
NetBSD 9.0 | i386 | py310-xdis-6.1.0.tgz
NetBSD 9.0 | i386 | py311-xdis-6.1.0.tgz
NetBSD 9.0 | i386 | py312-xdis-6.1.0.tgz
NetBSD 9.0 | i386 | py38-xdis-6.1.0.tgz
NetBSD 9.0 | i386 | py39-xdis-6.1.0.tgz
NetBSD 9.0 | i386 | py310-xdis-6.0.5.tgz
NetBSD 9.0 | i386 | py311-xdis-6.0.5.tgz
NetBSD 9.0 | i386 | py38-xdis-6.0.5.tgz
NetBSD 9.0 | i386 | py39-xdis-6.0.5.tgz
NetBSD 9.0 | i386 | py310-xdis-6.1.0.tgz
NetBSD 9.0 | i386 | py311-xdis-6.1.0.tgz
NetBSD 9.0 | i386 | py312-xdis-6.1.0.tgz
NetBSD 9.0 | i386 | py38-xdis-6.1.0.tgz
NetBSD 9.0 | i386 | py39-xdis-6.1.0.tgz
NetBSD 9.0 | m68k | py310-xdis-6.0.5.tgz
NetBSD 9.0 | m68k | py38-xdis-6.0.5.tgz
NetBSD 9.0 | m68k | py39-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py310-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py311-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py312-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py38-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py39-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py310-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py311-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py38-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py39-xdis-6.0.5.tgz
NetBSD 9.0 | powerpc | py310-xdis-6.1.0.tgz
NetBSD 9.0 | powerpc | py311-xdis-6.1.0.tgz
NetBSD 9.0 | powerpc | py312-xdis-6.1.0.tgz
NetBSD 9.0 | powerpc | py38-xdis-6.1.0.tgz
NetBSD 9.0 | powerpc | py39-xdis-6.1.0.tgz
NetBSD 9.0 | sparc64 | py310-xdis-6.1.0.tgz
NetBSD 9.0 | sparc64 | py311-xdis-6.1.0.tgz
NetBSD 9.0 | sparc64 | py312-xdis-6.1.0.tgz
NetBSD 9.0 | sparc64 | py38-xdis-6.1.0.tgz
NetBSD 9.0 | sparc64 | py39-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py310-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py311-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py312-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py38-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py39-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py310-xdis-6.0.5.tgz
NetBSD 9.0 | x86_64 | py311-xdis-6.0.5.tgz
NetBSD 9.0 | x86_64 | py312-xdis-6.0.5.tgz
NetBSD 9.0 | x86_64 | py38-xdis-6.0.5.tgz
NetBSD 9.0 | x86_64 | py39-xdis-6.0.5.tgz
NetBSD 9.0 | x86_64 | py310-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py311-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py312-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py38-xdis-6.1.0.tgz
NetBSD 9.0 | x86_64 | py39-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py310-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py311-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py312-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py38-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py39-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py310-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py311-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py312-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py38-xdis-6.1.0.tgz
NetBSD 9.3 | x86_64 | py39-xdis-6.1.0.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

(no vulnerabilities known)

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.