Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wheelbuilder13345-0.1.0.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wheelbuilder13345-0.1.0-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

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

Hashes for wheelbuilder13345-0.1.0.tar.gz
Algorithm Hash digest
SHA256 518a5c25f7dea166cfa496338ad5558fddced8a46790c7538ed98259885acaed
MD5 0aa1cf9558f5d2ba6624f412a5b1940c
BLAKE2b-256 4c328f90304528b6caf8cb38483b7a176989a51fea21bf4247eb9d5d5e780e09

See more details on using hashes here.

File details

Details for the file wheelbuilder13345-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for wheelbuilder13345-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e758b58e437ada97e72112978e76883db53f8fed8ef1c29bedbc36c218e4abdc
MD5 a1fc912a8b45b1dfa5968de2eb9ab721
BLAKE2b-256 466334f11b7811f5d153b97fac03fce8690e74aea4d006c5beebeb9568fb886f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page