Small collection of command line utilities to assist with building your python wheels
Project description
python-build-utils
Small collection of command line utilities to assist with building your Python wheels.
- GitHub repository: https://github.com/dave-Lab-and-Engineering/python-build-utils
- Documentation: https://dave-lab-and-engineering.github.io/python-build-utils/
Installation
Install via PyPI:
pip install python-build-utils[all]
The optional [all] extra installs additional dependencies like pipdeptree, used by tools like collect-dependencies.
Description
A collection of CLI tools for managing Python build artifacts, dependencies, and wheel files.
CLI Tools Overview
Check available commands:
Usage: python-build-utils [OPTIONS] COMMAND [ARGS]...
A collection of CLI tools for Python build utilities.
Options:
--version Show the version and exit.
-v, --verbose Increase verbosity level. Use -v for info, -vv for debug.
--help Show this message and exit.
Commands:
clean-pyd-modules Clean all .pyd/.c build modules in src path.
collect-dependencies Collect and display dependencies for one or more...
collect-pyd-modules Collect and display .pyd submodules from a...
pyd2wheel Create a Python wheel file from a compiled .pyd...
remove-tarballs Remove tarball files from dist.
rename-wheel-files Rename wheel files in a distribution directory by...
clean-pyd-modules
Usage: python-build-utils clean-pyd-modules [OPTIONS]
Clean all .pyd/.c build modules in src path.
Options:
--src-path TEXT Path to the src folder to scan for .pyd modules. Defaults
to 'src' in the current folder.
-r, --regex TEXT Optional regular expression to filter .pyd modules by
name.
--help Show this message and exit.
Example:
python-build-utils clean-pyd-modules --regex dave
Removes .pyd and .c files from the src/ folder filtered by name.
collect-dependencies
Usage: python-build-utils collect-dependencies [OPTIONS]
Collect and display dependencies for one or more Python packages.
Options:
-p, --package TEXT Name of the Python package to collect dependencies for.
Can be given multiple times. If omitted, dependencies
for the entire environment are collected.
-r, --regex TEXT Optional regular expression to filter modules by name.
-o, --output PATH Optional file path to write the list of dependencies to.
--help Show this message and exit.
collect-pyd-modules
Usage: python-build-utils collect-pyd-modules [OPTIONS]
Collect and display .pyd submodules from a virtual environment.
Options:
--venv-path TEXT Path to the virtual environment to scan for .pyd modules.
Defaults to the current environment.
-r, --regex TEXT Optional regular expression to filter .pyd modules by
name.
--collect-py If set, collect .py files instead of .pyd files.
-o, --output PATH Optional file path to write the list of found .pyd
modules.
--help Show this message and exit.
rename-wheel-files
Usage: python-build-utils rename-wheel-files [OPTIONS]
Rename wheel files in a distribution directory by replacing the default
'py3-none-any' tag with a custom one.
Options:
--dist-dir TEXT Directory containing wheel files. Defaults to
'dist'.
--python-version-tag TEXT Python version tag to include in the new file
name (e.g., cp310). Defaults to
'cp{major}{minor}' of the current Python.
--platform-tag TEXT Platform tag to include in the new file name.
Defaults to the current platform value from
sysconfig.
--wheel-tag TEXT Full custom wheel tag to replace 'py3-none-any'.
If provided, this is used directly, ignoring the
other tag options. Default format is: {python_ver
sion_tag}-{python_version_tag}-{platform_tag}
--help Show this message and exit.
remove-tarballs
Usage: python-build-utils remove-tarballs [OPTIONS]
Remove tarball files from dist.
This function removes tarball files from the given distribution directory.
Args: dist_dir (str): The directory containing the tarball files to be removed.
Returns: None
Example: remove_tarballs("dist")
Options:
--dist_dir TEXT Directory containing wheel the files. Default is 'dist'
--help Show this message and exit.
pyd2wheel
Usage: python-build-utils pyd2wheel [OPTIONS] PYD_FILE
Create a Python wheel file from a compiled .pyd file.
Options:
--package-version TEXT Version of the package. If not provided, the version
is extracted from the file name.
--abi-tag TEXT ABI tag for the wheel. Defaults to 'none'.
--help Show this message and exit.
Developers
We use Prettier as part of the pre-commit hooks to ensure consistent formatting.
The initial setup (done once when introducing Prettier) was:
npm init -y
npm install --save-dev prettier
This created a package.json that pins the Prettier version used in this project.
For other developers who clone the repository, simply run:
npm install --no-audit --no-fund
This installs the same Prettier version defined in package.json, ensuring consistent formatting across all environments.
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 python_build_utils-0.3.3.tar.gz.
File metadata
- Download URL: python_build_utils-0.3.3.tar.gz
- Upload date:
- Size: 96.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73391ecc7e7933edf9bab9a507fe5b05c8aad2ab43ca5156b4666829cdc173fb
|
|
| MD5 |
076944924656d62c5239dfd4fed860ff
|
|
| BLAKE2b-256 |
4cd3ee8c8a6443d4cd2d09b083ab9c37faa56430fa28a533e28a90bcd87385f5
|
File details
Details for the file python_build_utils-0.3.3-py3-none-any.whl.
File metadata
- Download URL: python_build_utils-0.3.3-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2c9056803d8c6aa93cceb6ae391dff1938673e46dc8cf4cc2ecc67fa5ed02f5
|
|
| MD5 |
f4ff42facd508bee0cdaa53493803a32
|
|
| BLAKE2b-256 |
01bb15e7f702fb7f352e8042490abc88106a8bdfeb89b359fb0be3370e60b851
|