Skip to main content

PACKING-PACKAGES

CI docs release-pypi

Ruff mypy

python_badge license_badge PyPI version Downloads

logo

Overview

Packing-Packages is a powerful tool for packaging conda environments and their dependencies into portable directories. Perfect for deploying Python environments to offline machines, air-gapped systems, or ensuring reproducible environments across different machines with the same operating system.

Key Features

  • 🚀 Simple & Fast: Pack entire conda environments with a single command
  • 📦 Complete Dependency Resolution: Automatically includes all conda and pip dependencies
  • 🔄 Cross-Platform Support: Pack from YAML files even on different operating systems
  • 🛠️ Flexible Installation: Install packages directly or generate standalone install scripts
  • ⚡ Incremental Updates: Use --diff-only to download only new packages
  • 🎯 Error Resilient: Installation continues even if some packages fail, with detailed error reporting
  • 📋 YAML-Based Packing: Create packages directly from conda environment YAML files

Use Cases

  • Deploy Python environments to offline or air-gapped systems
  • Create reproducible environment snapshots for production deployments
  • Migrate conda environments between machines without internet access
  • Archive complete environment states for backup or compliance
  • Prepare environment packages for different target platforms

Installation

pip install packing-packages

Requirements: Python, setuptools, and pip

Quick Start

1. Pack Your Environment

On your source machine (with internet access), pack the current conda environment:

conda activate myenv
packing-packages pack -d .

This creates a directory structure:

.
└── myenv/
    ├── conda/    # Conda packages
    └── pypi/     # PyPI packages

2. Install on Target Machine

On your destination machine (offline), install the packed packages:

conda create -yn myenv --offline
conda activate myenv
packing-packages install ./myenv

Alternative: Generate Standalone Scripts

Generate install scripts that work independently without requiring packing-packages:

packing-packages install ./myenv --generate-scripts

This creates install_packages.bat (Windows) and install_packages.sh (Unix/Linux) that can be executed directly on the target machine.

Advanced Features

Pack from YAML Files

Pack environments directly from conda environment YAML files, even on a different operating system:

packing-packages pack yaml environment.yaml -p linux-64

Incremental Updates

Only download packages that don't already exist in the target directory:

packing-packages pack -d . --diff-only

Error-Resilient Installation

The packing-packages install command continues even if some packages fail, providing detailed error reports for manual handling.

Documentation

For detailed command-line options, advanced usage, and troubleshooting, see the full documentation or the command-line tutorial.

Important Notes

Installation Methods

You can install packages using either:

  • Standard commands (conda install / pip install): Faster, but stops on first error
  • packing-packages install: Slower, but continues on errors and provides detailed reports

Special Cases

  • Non-PyPI sources (e.g., PyTorch official index): May require manual handling
  • Older packages: Some may need --use-pep517 flag for successful installation
  • Proxy environments: Set HTTP_PROXY and HTTPS_PROXY environment variables

For detailed troubleshooting and edge cases, please refer to the command-line tutorial.

Metadata

Release files for packing-packages 0.4.2

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

Source distribution (sdist)

Source distribution for packing-packages 0.4.2
File Size Uploaded
packing_packages-0.4.2.tar.gz 26.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for packing-packages 0.4.2
File Interpreter ABI Platform
packing_packages-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 56.6 kB

Release files / packing_packages-0.4.2.tar.gz

Download URL packing_packages-0.4.2.tar.gz
Size 26.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8f69794c52beffd9490cbbe6a776d2436d40fc21b60e5ded3475e0991218905c
BLAKE2b-256 checksum
How to use checksums
b968470129e153c2fbf66f1983c8fcd8c53416768f4d6c53fa3d32a99f6e244a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

Release files / packing_packages-0.4.2-py3-none-any.whl

Download URL packing_packages-0.4.2-py3-none-any.whl
Size 30.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
791e7e43bfe0232d9cecfd0e4b20dbbb354bf9dc6d8a739e9e74843ad3f4509b
BLAKE2b-256 checksum
How to use checksums
7f772dae5a5782e047f2634cd1b1d6b735f3e95ee797f708876df0a6e894daf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log
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