ruby-to-wheel
Package pre-built Ruby binaries into Python wheels.
ruby-to-wheel takes compiled Ruby binaries and wraps them into platform-specific Python wheels with proper entry points, so they can be installed via pip and run as CLI commands.
Installation
pip install ruby-to-wheel
Usage
There are three modes of operation:
1. From pre-built binaries (explicit)
Provide binaries for each platform explicitly:
ruby-to-wheel \
--name my-tool \
--version 1.0.0 \
--binary linux-amd64=/path/to/my-tool-linux-amd64 \
--binary darwin-arm64=/path/to/my-tool-darwin-arm64
2. From a directory of binaries (auto-detect)
Point to a directory containing binaries with platform suffixes in their filenames:
ruby-to-wheel \
--name my-tool \
--version 1.0.0 \
--binary-dir ./binaries/
Binaries are matched by filename patterns like my-tool-linux-amd64, my-tool-darwin-arm64, etc.
3. From Ruby source (via Tebako)
Build a standalone binary from Ruby source using Tebako and package it into a wheel:
ruby-to-wheel \
--name my-tool \
--version 1.0.0 \
--source ./my-ruby-project/
Supported Platforms
| Platform Key | Wheel Tag |
|---|---|
linux-amd64 |
manylinux_2_17_x86_64 |
linux-arm64 |
manylinux_2_17_aarch64 |
linux-amd64-musl |
musllinux_1_2_x86_64 |
linux-arm64-musl |
musllinux_1_2_aarch64 |
darwin-amd64 |
macosx_10_9_x86_64 |
darwin-arm64 |
macosx_11_0_arm64 |
windows-amd64 |
win_amd64 |
windows-arm64 |
win_arm64 |
Options
--name Python package name (required)
--version Package version (default: 0.1.0)
--output-dir Directory for built wheels (default: ./dist)
--entry-point CLI command name (defaults to package name)
--description Package description
--requires-python Python version requirement (default: >=3.10)
--author Author name
--author-email Author email
--license License identifier
--url Project URL
--readme Path to README for PyPI long description
--extra-lib Shared library to bundle (repeatable)
--ruby-version Ruby version for Tebako (default: 3.3.7)
--source-entry-point Ruby entry point for Tebako (default: bin/{entry-point})
--platform Override platform detection (for --source mode)
How It Works
Each generated wheel contains:
- A Python package with
__init__.pyand__main__.py - The compiled binary in a
bin/subdirectory - Optional shared libraries in a
lib/subdirectory - A console script entry point that delegates to the binary
When installed, pip creates a wrapper script so the binary can be invoked directly by name from the command line.
License
Apache-2.0
Metadata
Release files for ruby-to-wheel 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ruby_to_wheel-0.1.0.tar.gz | 20.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ruby_to_wheel-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.3 kB
Release files / ruby_to_wheel-0.1.0.tar.gz
| Download URL | ruby_to_wheel-0.1.0.tar.gz |
|---|---|
| Size | 20.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
580879d93c63240b584a38443b5ed14fb49013b7813b3d6d345cb81911f3b3e7
|
|
BLAKE2b-256 checksum How to use checksums |
20a1ef3ccb1b0f86c5011731f1f5349e6aee12762efa7d86fbff1169387bf379
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency logRelease files / ruby_to_wheel-0.1.0-py3-none-any.whl
| Download URL | ruby_to_wheel-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8230a40bb5b144354281e5e39ceb86f060cbc9bfcff55a9df5f03b82c6e0017f
|
|
BLAKE2b-256 checksum How to use checksums |
1dd9180d24e9b604767ee3435148013e5eeca98116d795c1fb82604edbfafa39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.
Transparency log