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 | Provenance | Actions |
|---|---|---|---|---|
| pdm_wheel-0.1.2.tar.gz | 23.5 kB | Without provenance | Details for pdm_wheel-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pdm_wheel-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for pdm_wheel-0.1.2-py3-none-any.whl |
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
|
Security for pdm-wheel 0.1.2
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.