pybcj 1.0.6


pip install pybcj

  Latest version

Released: Apr 29, 2025

Project Links

Meta
Author: Hiroshi Miura
Requires Python: >=3.9

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.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • 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.9 CPython 3.10 CPython 3.11 CPython 3.12 CPython 3.13
macosx_10_13_universal2
macosx_10_13_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
musllinux_1_1_aarch64
musllinux_1_1_x86_64
win_amd64
win_arm64

Files in release

pybcj-1.0.6-cp310-cp310-macosx_10_9_universal2.whl (31.0KiB)
pybcj-1.0.6-cp310-cp310-macosx_10_9_x86_64.whl (23.0KiB)
pybcj-1.0.6-cp310-cp310-macosx_11_0_arm64.whl (23.4KiB)
pybcj-1.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (49.0KiB)
pybcj-1.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (48.6KiB)
pybcj-1.0.6-cp310-cp310-musllinux_1_1_aarch64.whl (53.0KiB)
pybcj-1.0.6-cp310-cp310-musllinux_1_1_x86_64.whl (52.4KiB)
pybcj-1.0.6-cp310-cp310-win_amd64.whl (24.3KiB)
pybcj-1.0.6-cp310-cp310-win_arm64.whl (22.5KiB)
pybcj-1.0.6-cp311-cp311-macosx_10_9_universal2.whl (31.0KiB)
pybcj-1.0.6-cp311-cp311-macosx_10_9_x86_64.whl (23.0KiB)
pybcj-1.0.6-cp311-cp311-macosx_11_0_arm64.whl (23.4KiB)
pybcj-1.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (50.0KiB)
pybcj-1.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (49.6KiB)
pybcj-1.0.6-cp311-cp311-musllinux_1_1_aarch64.whl (54.0KiB)
pybcj-1.0.6-cp311-cp311-musllinux_1_1_x86_64.whl (53.4KiB)
pybcj-1.0.6-cp311-cp311-win_amd64.whl (24.3KiB)
pybcj-1.0.6-cp311-cp311-win_arm64.whl (22.5KiB)
pybcj-1.0.6-cp312-cp312-macosx_10_13_universal2.whl (31.1KiB)
pybcj-1.0.6-cp312-cp312-macosx_10_13_x86_64.whl (23.0KiB)
pybcj-1.0.6-cp312-cp312-macosx_11_0_arm64.whl (23.4KiB)
pybcj-1.0.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (50.7KiB)
pybcj-1.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.5KiB)
pybcj-1.0.6-cp312-cp312-musllinux_1_1_aarch64.whl (54.7KiB)
pybcj-1.0.6-cp312-cp312-musllinux_1_1_x86_64.whl (54.3KiB)
pybcj-1.0.6-cp312-cp312-win_amd64.whl (24.3KiB)
pybcj-1.0.6-cp312-cp312-win_arm64.whl (22.5KiB)
pybcj-1.0.6-cp313-cp313-macosx_10_13_universal2.whl (31.1KiB)
pybcj-1.0.6-cp313-cp313-macosx_10_13_x86_64.whl (23.0KiB)
pybcj-1.0.6-cp313-cp313-macosx_11_0_arm64.whl (23.4KiB)
pybcj-1.0.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (50.7KiB)
pybcj-1.0.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.4KiB)
pybcj-1.0.6-cp313-cp313-musllinux_1_1_aarch64.whl (54.5KiB)
pybcj-1.0.6-cp313-cp313-musllinux_1_1_x86_64.whl (54.0KiB)
pybcj-1.0.6-cp313-cp313-win_amd64.whl (24.3KiB)
pybcj-1.0.6-cp313-cp313-win_arm64.whl (22.5KiB)
pybcj-1.0.6-cp39-cp39-macosx_10_9_universal2.whl (31.0KiB)
pybcj-1.0.6-cp39-cp39-macosx_10_9_x86_64.whl (23.0KiB)
pybcj-1.0.6-cp39-cp39-macosx_11_0_arm64.whl (23.4KiB)
pybcj-1.0.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (48.8KiB)
pybcj-1.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (48.4KiB)
pybcj-1.0.6-cp39-cp39-musllinux_1_1_aarch64.whl (52.9KiB)
pybcj-1.0.6-cp39-cp39-musllinux_1_1_x86_64.whl (52.2KiB)
pybcj-1.0.6-cp39-cp39-win_amd64.whl (24.3KiB)
pybcj-1.0.6-cp39-cp39-win_arm64.whl (22.5KiB)
pybcj-1.0.6.tar.gz (2.0MiB)
Extras:
Dependencies: