Skip to main content

ruby-to-wheel

PyPI version Test

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__.py and __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

Download files

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

Source Distribution

ruby_to_wheel-0.1.0.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

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

ruby_to_wheel-0.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file ruby_to_wheel-0.1.0.tar.gz.

File metadata

  • Download URL: ruby_to_wheel-0.1.0.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ruby_to_wheel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 580879d93c63240b584a38443b5ed14fb49013b7813b3d6d345cb81911f3b3e7
MD5 1b346e7c219c8e9fe93e61593dce91f2
BLAKE2b-256 20a1ef3ccb1b0f86c5011731f1f5349e6aee12762efa7d86fbff1169387bf379

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruby_to_wheel-0.1.0.tar.gz:

Publisher: release.yml on aktech/ruby-to-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: ruby_to_wheel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ruby_to_wheel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8230a40bb5b144354281e5e39ceb86f060cbc9bfcff55a9df5f03b82c6e0017f
MD5 4f4385a65d64c62db05aa30f58a875c1
BLAKE2b-256 1dd9180d24e9b604767ee3435148013e5eeca98116d795c1fb82604edbfafa39

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruby_to_wheel-0.1.0-py3-none-any.whl:

Publisher: release.yml on aktech/ruby-to-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

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