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
--installinstalls open-source requirements first, then installs private packages in order.--buildbuilds wheels into the wheelhouse directory (defaults towheelhouse/next to the config).--no-depsdisables dependency installation for all pip operations.- Any extra CLI arguments (or
--pip-argentries) are forwarded to pip. - CLI pip args are applied after config + per-package
pip_args(last-wins precedence). --ignore-invalid-pip-args(orwheelhouse.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa2f29a570cc4f3e1098dcbdfaa021e5c48f5c9d8709faf337016699c0e82876
|
|
| MD5 |
df210d89881c5f6dfa6b46a2d1e76cce
|
|
| BLAKE2b-256 |
8864e4e39027a35d66587e24c9f61f7d1e5e0d135ff6716410888852e047fcda
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26adde3d077d39f92cd2cffffdb4cad3efa1a0e1c698888d38acf1e363c6aa5e
|
|
| MD5 |
5c916261c38550a4dcac2a0bdb6442c8
|
|
| BLAKE2b-256 |
407bf80bd17f28f9f270929ecce96b5e37c11346da0275e132adf2b920d3b5e4
|