Skip to main content

Build and install local wheelhouses for private Python packages.

Project description

pywheelhouse

pywheelhouse is a small CLI for building and installing local wheelhouses for private Python packages. It reads a TOML configuration that lists open-source requirements and private package paths in the exact order they should be installed or built.

The CLI forwards any extra pip arguments so local installs can use flags like --no-build-isolation or --proxy without extra wrappers.

Install

pip install -e .

Quick start

python -m pywheelhouse --install --from-configuration my_wheelhouse_config.toml --no-build-isolation

Documentation (bundled)

Documentation ships inside the package so it is available offline:

python -m pywheelhouse.docs --list
python -m pywheelhouse.docs --show CLI
python -m pywheelhouse.docs --write-dir .\pywheelhouse-docs

Configuration format (TOML)

Relative paths are resolved from the configuration file directory.

# Open source requirements (installed first)
requirements = [
  "pandas>=2.2",
  "requests>=2.31",
]

# Optional requirements files
requirements_files = [
  "requirements.txt",
]

[wheelhouse]
# Optional default output directory for --build
output_dir = "dist/wheelhouse"

# Optional global pip args applied to all commands
pip_args = ["--index-url", "https://pypi.org/simple"]

# Optional: ignore unknown/malformed pip args and warn
ignore_invalid_pip_args = true

[[private]]
name = "mock-private-a"
path = "../packages/mock-private-a"
extras = ["fast"]
pip_args = ["--no-build-isolation"]

[[private]]
name = "mock-private-b"
path = "../packages/mock-private-b"

[[private]]
name = "mock-private-c"
path = "../packages/mock-private-c"

Build a wheelhouse

python -m pywheelhouse --build --from-configuration my_wheelhouse_config.toml

Install in dependency order

python -m pywheelhouse --install --from-configuration my_wheelhouse_config.toml --no-deps

CLI behavior

  • --install installs open-source requirements first, then installs private packages in order.
  • --build builds wheels into the wheelhouse directory (defaults to wheelhouse/ next to the config).
  • --no-deps disables dependency installation for all pip operations.
  • Any extra CLI arguments (or --pip-arg entries) are forwarded to pip.
  • CLI pip args are applied after config + per-package pip_args (last-wins precedence).
  • --ignore-invalid-pip-args (or wheelhouse.ignore_invalid_pip_args) drops unknown/malformed pip args and prints warnings.

Notes

  • Build and install steps use the running Python interpreter (python -m pip).
  • [[private]] entries are processed in order; later packages can depend on earlier ones.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pywheelhouse-0.0.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pywheelhouse-0.0.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file pywheelhouse-0.0.0.tar.gz.

File metadata

  • Download URL: pywheelhouse-0.0.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pywheelhouse-0.0.0.tar.gz
Algorithm Hash digest
SHA256 fa2f29a570cc4f3e1098dcbdfaa021e5c48f5c9d8709faf337016699c0e82876
MD5 df210d89881c5f6dfa6b46a2d1e76cce
BLAKE2b-256 8864e4e39027a35d66587e24c9f61f7d1e5e0d135ff6716410888852e047fcda

See more details on using hashes here.

File details

Details for the file pywheelhouse-0.0.0-py3-none-any.whl.

File metadata

  • Download URL: pywheelhouse-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pywheelhouse-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26adde3d077d39f92cd2cffffdb4cad3efa1a0e1c698888d38acf1e363c6aa5e
MD5 5c916261c38550a4dcac2a0bdb6442c8
BLAKE2b-256 407bf80bd17f28f9f270929ecce96b5e37c11346da0275e132adf2b920d3b5e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page