pybcj 1.0.7


pip install pybcj

  Latest version

Released: Nov 29, 2025


Meta
Author: Hiroshi Miura
Requires Python: >=3.10

Classifiers

Development Status
  • 5 - Production/Stable

License
  • OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)

Operating System
  • MacOS :: MacOS X
  • Microsoft :: Windows
  • POSIX
  • POSIX :: Linux

Programming Language
  • Python
  • Python :: 3
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: 3.14
  • Python :: 3 :: Only
  • Python :: Implementation :: CPython
  • Python :: Implementation :: PyPy

Topic
  • Software Development :: Libraries :: Python Modules
https://badge.fury.io/py/pybcj.svg https://img.shields.io/conda/vn/conda-forge/pybcj https://coveralls.io/repos/github/miurahr/pybcj/badge.svg?branch=main

In data compression, BCJ, short for Branch-Call-Jump, refers to a technique that improves the compression of machine code of executable binaries by replacing relative branch addresses with absolute ones. This allows a LZMA compressor to identify duplicate targets and archive higher compression rate.

BCJ is used in 7-zip compression utility as default filter for executable binaries.

pybcj is a python bindings with BCJ implementation by C language. The C codes are derived from p7zip, portable 7-zip implementation. pybcj support Intel/Amd x86/x86_64, Arm/Arm64, ArmThumb, Sparc, PPC, and IA64.

Development status

A development status is considered as Beta state.

Installation

As usual, you can install pybcj using python standard pip command.

pip install pybcj

Alternatively, one can also use conda:

conda install -c conda-forge pybcj

WARNING

  • When use it on MSYS2/Mingw64 environment, please set environment variable SETUPTOOLS_USE_DISTUTILS=stdlib to install.

License

  • Copyright (C) 2020-2025 Hiroshi Miura

  • Copyright (C) 1999-2010 Igor Pavlov

Wheel compatibility matrix

Platform CPython 3.10 CPython 3.11 CPython 3.12 CPython 3.13 CPython 3.14 CPython (additional flags: t) 3.14
macosx_10_13_universal2
macosx_10_13_x86_64
macosx_10_15_universal2
macosx_10_15_x86_64
macosx_10_9_universal2
macosx_10_9_x86_64
macosx_11_0_arm64
manylinux2014_aarch64
manylinux2014_x86_64
manylinux_2_17_aarch64
manylinux_2_17_x86_64
manylinux_2_28_aarch64
manylinux_2_28_x86_64
musllinux_1_2_aarch64
musllinux_1_2_x86_64
win_amd64
win_arm64

Files in release

pybcj-1.0.7-cp310-cp310-macosx_10_9_universal2.whl (31.0KiB)
pybcj-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl (23.1KiB)
pybcj-1.0.7-cp310-cp310-macosx_11_0_arm64.whl (23.5KiB)
pybcj-1.0.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (49.4KiB)
pybcj-1.0.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (48.3KiB)
pybcj-1.0.7-cp310-cp310-musllinux_1_2_aarch64.whl (48.6KiB)
pybcj-1.0.7-cp310-cp310-musllinux_1_2_x86_64.whl (48.0KiB)
pybcj-1.0.7-cp310-cp310-win_amd64.whl (24.3KiB)
pybcj-1.0.7-cp310-cp310-win_arm64.whl (22.8KiB)
pybcj-1.0.7-cp311-cp311-macosx_10_9_universal2.whl (31.0KiB)
pybcj-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl (23.1KiB)
pybcj-1.0.7-cp311-cp311-macosx_11_0_arm64.whl (23.5KiB)
pybcj-1.0.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (50.5KiB)
pybcj-1.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (49.4KiB)
pybcj-1.0.7-cp311-cp311-musllinux_1_2_aarch64.whl (48.6KiB)
pybcj-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl (48.1KiB)
pybcj-1.0.7-cp311-cp311-win_amd64.whl (24.3KiB)
pybcj-1.0.7-cp311-cp311-win_arm64.whl (22.8KiB)
pybcj-1.0.7-cp312-cp312-macosx_10_13_universal2.whl (31.1KiB)
pybcj-1.0.7-cp312-cp312-macosx_10_13_x86_64.whl (23.2KiB)
pybcj-1.0.7-cp312-cp312-macosx_11_0_arm64.whl (23.5KiB)
pybcj-1.0.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (51.2KiB)
pybcj-1.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (50.3KiB)
pybcj-1.0.7-cp312-cp312-musllinux_1_2_aarch64.whl (49.1KiB)
pybcj-1.0.7-cp312-cp312-musllinux_1_2_x86_64.whl (48.8KiB)
pybcj-1.0.7-cp312-cp312-win_amd64.whl (24.4KiB)
pybcj-1.0.7-cp312-cp312-win_arm64.whl (22.9KiB)
pybcj-1.0.7-cp313-cp313-macosx_10_13_universal2.whl (31.1KiB)
pybcj-1.0.7-cp313-cp313-macosx_10_13_x86_64.whl (23.2KiB)
pybcj-1.0.7-cp313-cp313-macosx_11_0_arm64.whl (23.5KiB)
pybcj-1.0.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (51.2KiB)
pybcj-1.0.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (50.3KiB)
pybcj-1.0.7-cp313-cp313-musllinux_1_2_aarch64.whl (49.2KiB)
pybcj-1.0.7-cp313-cp313-musllinux_1_2_x86_64.whl (48.9KiB)
pybcj-1.0.7-cp313-cp313-win_amd64.whl (24.4KiB)
pybcj-1.0.7-cp313-cp313-win_arm64.whl (22.9KiB)
pybcj-1.0.7-cp314-cp314-macosx_10_15_universal2.whl (31.6KiB)
pybcj-1.0.7-cp314-cp314-macosx_10_15_x86_64.whl (23.3KiB)
pybcj-1.0.7-cp314-cp314-macosx_11_0_arm64.whl (23.5KiB)
pybcj-1.0.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (51.3KiB)
pybcj-1.0.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (50.3KiB)
pybcj-1.0.7-cp314-cp314-musllinux_1_2_aarch64.whl (49.3KiB)
pybcj-1.0.7-cp314-cp314-musllinux_1_2_x86_64.whl (48.8KiB)
pybcj-1.0.7-cp314-cp314-win_amd64.whl (24.7KiB)
pybcj-1.0.7-cp314-cp314-win_arm64.whl (23.1KiB)
pybcj-1.0.7-cp314-cp314t-macosx_10_15_universal2.whl (32.2KiB)
pybcj-1.0.7-cp314-cp314t-macosx_10_15_x86_64.whl (23.5KiB)
pybcj-1.0.7-cp314-cp314t-macosx_11_0_arm64.whl (23.9KiB)
pybcj-1.0.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (57.4KiB)
pybcj-1.0.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (55.6KiB)
pybcj-1.0.7-cp314-cp314t-musllinux_1_2_aarch64.whl (54.7KiB)
pybcj-1.0.7-cp314-cp314t-musllinux_1_2_x86_64.whl (53.9KiB)
pybcj-1.0.7-cp314-cp314t-win_amd64.whl (25.2KiB)
pybcj-1.0.7-cp314-cp314t-win_arm64.whl (23.5KiB)
pybcj-1.0.7.tar.gz (30.5KiB)
Extras:
Dependencies: