A lightweight utility for building Python wheels and compiling cross-language sources
Project description
Wheelbuilder13345
Wheelbuilder13345 is a lightweight utility for automating Python package builds and cross‑language compilation. It provides three core functions:
Core Functions
config(in_loc, out_loc)Reads a Python source file, extracts version information, and generates a pyproject.toml configuration file automatically.
compile(in_loc, out_loc, lang=None)Detects the source file type (.py, .c, .cpp, .pyx, .rs, .f90, .cu) and invokes the appropriate compiler (Python, GCC/Clang, MSVC, Rust, Fortran, CUDA, etc.) to produce an executable or library.
build(source_loc, config_loc, compile_loc, out_loc)Packages the compiled output into a Python wheel using either setup.py or pyproject.toml, ensuring compatibility with standard Python packaging tools.
This makes Wheelbuilder13345 useful for developers who want to quickly wrap C/C++/Rust/Fortran/CUDA code into Python wheels without manually writing build scripts.
Installation
After publishing to PyPI, install with:
pip install wheelbuilder13345
Usage Guide
1. Generate a config file
import wheelbuilder13345
wheelbuilder13345.config("sample.py", "output_dir")
This will create a pyproject.toml in output_dir with the extracted version and project name.
2. Compile source code
wheelbuilder13345.compile("sample.c", "sample.exe")
Wheelbuilder13345 automatically detects .c and uses GCC/Clang/MSVC if available. You can also specify the language explicitly:
wheelbuilder13345.compile("sample.c", "sample.exe", lang="c")
3. Build a wheel
wheelbuilder13345.build(
source_loc="src",
config_loc="pyproject.toml",
compile_loc="bin",
out_loc="dist"
)
This packages your project into a wheel file inside dist/.
Example Workflow
# Step 1: Generate pyproject.toml from Python source
wheelbuilder13345.config("my_module.py", "config")
# Step 2: Compile C source into DLL/EXE
wheelbuilder13345.compile("sample.c", "fuzzy.dll")
# Step 3: Build wheel using pyproject.toml
wheelbuilder13345.build("src", "config/pyproject.toml", "bin", "dist")
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 wheelbuilder13345-0.1.0.tar.gz.
File metadata
- Download URL: wheelbuilder13345-0.1.0.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
518a5c25f7dea166cfa496338ad5558fddced8a46790c7538ed98259885acaed
|
|
| MD5 |
0aa1cf9558f5d2ba6624f412a5b1940c
|
|
| BLAKE2b-256 |
4c328f90304528b6caf8cb38483b7a176989a51fea21bf4247eb9d5d5e780e09
|
File details
Details for the file wheelbuilder13345-0.1.0-py3-none-any.whl.
File metadata
- Download URL: wheelbuilder13345-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.4 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 |
e758b58e437ada97e72112978e76883db53f8fed8ef1c29bedbc36c218e4abdc
|
|
| MD5 |
a1fc912a8b45b1dfa5968de2eb9ab721
|
|
| BLAKE2b-256 |
466334f11b7811f5d153b97fac03fce8690e74aea4d006c5beebeb9568fb886f
|