pdm-wheel
A PDM plugin that save your requirements as wheels, similar to pip wheel
Use cases
- You want to build wheels for your dependencies, but don't want to use
pdm exportandpip wheel. - You need to pass the wheels to a CI/CD pipeline, and don't want to build them on the CI/CD server.
- You want to install dependencies in a Docker image, but don't wan't to configure private repositories in the image.
Supported versions
- Python 3.10+
- PDM 2.7.4+
Installation
Install it just like any other PDM plugin:
pdm self add pdm-wheel
If you have installed PDM with the recommended tool pipx, add this plugin by:
pipx inject pdm pdm-wheel
Or if you have installed PDM with pip install --user pdm, install with pip to the user site:
python -m pip install --user pdm-wheel
Optionally, you can also specify the plugin in your project pyproject.toml, to make it installable with pdm install --plugins:
[tool.pdm]
plugins = [
"pdm-wheel"
]
Usage
pdm wheel [common-options] [dependencies-selection-options] [wheel-options]
💡 Check the options for your version of pdm wheel with:
pdm wheel --help
Wheel Options:
-w OUTPUT, --wheel-dir OUTPUT
Specify the output directory. It will be created it it does not exists. Default is the current directory
./wheelsEnvironment variable:PDM_WHEEL_DIR
--clean
Clean the target directory before building.
--no-clean
Do not clean the target directory before building. This is the default behavior.
Notes on lockfiles
PDM 2.8+ now saves the lockfiles with only hashes and no URL by default.
There is currently a performance overhead, as some internals expect the URL to be present, else they will try to reach the indexes to get it.
Thus, I recommend you use pdm lock --static-urls to have faster pdm wheel operations.
Read more about this in PDM's documentation.
Examples
# Save all dependencies (including dev deps) as wheels in the ./wheels folder
pdm wheel -w wheels
# Save all dev dependencies as wheels in the ./wheels folder
pdm wheel -w wheels --dev
# Save all non-dev dependencies as wheels in the ./wheels folder
pdm wheel -w wheels --prod
Caveats
pdm-wheeldoes not check whether the wheels are already built.
Changelog
See Github Releases
Acknowledgements
pdm-wheel is inspired by pip wheel.
pdm-wheel's structure is based on frostming's pdm-packer
Metadata
Release files for pdm-wheel 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pdm_wheel-0.1.2.tar.gz | 23.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pdm_wheel-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.3 kB
Release files / pdm_wheel-0.1.2.tar.gz
| Download URL | pdm_wheel-0.1.2.tar.gz |
|---|---|
| Size | 23.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f382c3394fb41f0b928b25a8be91f35b7f7ffdea2ecdcfcec6d942b23b86bb37
|
|
BLAKE2b-256 checksum How to use checksums |
bdce224759c5ed38f7380f6004382b736075d779e9333292530102f27af34bf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
pdm/2.12.3 CPython/3.10.12
|
Release files / pdm_wheel-0.1.2-py3-none-any.whl
| Download URL | pdm_wheel-0.1.2-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a2f0884ab2ddff83410f101d3a5feec12fac23ab9a8657eeae26bd74d43f2766
|
|
BLAKE2b-256 checksum How to use checksums |
a7b5456b4ba6c96608ed38698e24fabb5bf69e4ca1546bc6d175ed46c57232a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
pdm/2.12.3 CPython/3.10.12
|