Skip to main content

pychub

Welcome to pychub! This README is a quick overview of the project. It is meant to give you the fastest possible overview. For more details, see the very comprehensive USER_GUIDE.

Overview

pychub is a packaging tool that bundles your Python wheel and all of its dependencies into a single, self-extracting .chub file.

It’s like a "wheel extension": it still uses your host Python interpreter, but comes with all dependencies and extras pre-downloaded, so installs are predictable, reproducible, and network-free.

To be clear, pychub does not compete with any other post-build packaging tools. Any of the various tools in this space might fit your needs better than any of the others. Each of these tools has overlap with the others, and each shines in their particular target areas. Likewise, pychub is most useful when you want a bundle that you can ship to any machine, regardless of the environment, and install the wheels and dependencies persistently.

⚠️ Platform Compatibility and Wheel Portability

A .chub file is only portable across environments if all bundled wheels are universal. That means:

  • Pure-Python wheels (py3-none-any)
  • Platform-independent manylinux wheels
  • Universal2 wheels (for macOS)

If your package or its dependencies include compiled extensions (e.g., numpy, Pillow, pydantic-core), the resulting .chub will only work on the platform it was built for — and only with the matching Python version and ABI.

In these cases, the .chub file is not cross-platform. In an upcoming release, pychub will warn or fail on such builds unless explicitly overridden.

In practice, many popular packages include native extensions, so full cross-platform compatibility is rare unless your dependencies are pure Python.

Quickstart

While pychub has quite a few features, you can get started with just two commands in your shell, and you can see it demonstrate its simplest feature.

Build a .chub from your wheel:

pychub dist/mypackage-1.0.0-py3-none-any.whl

Run (extract/install) it anywhere with Python 3.9+:

python mypackage-1.0.0.chub

That’s it — no pip, no network, no surprises.

Features

  • Single-file distribution — ship a .chub anywhere.
  • Network-free installs — dependencies are already inside the bundle.
  • Environment agnostic — works with system Python, venv, or conda.
  • Optional entrypoint — run your tool right after installation.
  • Extras included — add configs, docs, or scripts if you want.

Build tool integration

Use your favorite build system with a companion plugin:

See the pychub-build-plugins repo.

If you use another build system, please consider requesting, or even contributing, a plugin for it!

Learn more

For a full walkthrough with CLI options, examples, comparison tables, and roadmap, see the USER_GUIDE.


Released under the MIT License.

Metadata

Release files for pychub 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pychub 1.1.1
File Size Uploaded Provenance Actions
pychub-1.1.1.tar.gz 25.4 kB Without provenance Details for pychub-1.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pychub 1.1.1
File Interpreter ABI Platform Actions
pychub-1.1.1-py3-none-any.whl Python 3 none any Details for pychub-1.1.1-py3-none-any.whl

Total release size: 59.7 kB

Release files / pychub-1.1.1.tar.gz

Download URL pychub-1.1.1.tar.gz
Size 25.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1f82714ec67683c1ff3a38a657e473de92b90a516a495ec1eb3e35572fd7b056
BLAKE2b-256 checksum
How to use checksums
6756ea7f2e1f98e0997c4b366b3f8471cec7349afe13de70a0a152d2675268f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pychub-1.1.1-py3-none-any.whl

Download URL pychub-1.1.1-py3-none-any.whl
Size 34.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bb897d87f411760c84ffa39dfcdfdaa4b54796869c153a64ff692dc7aeac0954
BLAKE2b-256 checksum
How to use checksums
8d68032b19a7128deacfcf60d2615bf28b5c7625765261020c263f2f1f91e8bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for pychub 1.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page