Metadata-Version: 2.4
Name: wheelbuilder13345
Version: 0.1.0
Summary: A lightweight utility for building Python wheels and compiling cross-language sources
Author-email: lsakdlld <samuelhung88@gmail.com>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/plain

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")
