Skip to main content

Multi-Language Transpiler Framework

Project description

Transpiler

A multi-language transpiler framework written in Python. This project provides a set of frontends for parsing various programming languages into a common Intermediate Representation (IR), and backends for generating code in multiple target languages from that IR.

Features

  • Frontends: Parse C, Go, Java, JavaScript, Python, and Rust source code.
  • Backends: Generate C, Go, Java, JavaScript, Python, and Rust code.
  • Passes: Type inference and other intermediate representation passes.

Installation

You can install transpiler directly from PyPI (once published) or build it locally.

Local Installation

Clone the repository and install using pip:

git clone https://github.com/developer/transpiler.git
cd transpiler
pip install .

For development:

pip install -e ".[dev]"

Usage

Use the CLI to transpile a source file to a target language:

transpiler source_file.js --to python

Supported Languages

  • c
  • go
  • java
  • js
  • python
  • rust

Development

Run tests using pytest:

pytest

Format code using black:

black src/ tests/

Lint using ruff:

ruff check src/ tests/

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

transpiler-0.1.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

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

transpiler-0.1.0-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for transpiler-0.1.0.tar.gz
Algorithm Hash digest
SHA256 06aca666169268b2e273099ba7475be8e20c215b0a426f6757d22747da3da4a7
MD5 65ea432fc7dd4a50834f4af8e9c757da
BLAKE2b-256 0cb40903e09460fb14095d573861715666abdb478da9437b53b777a40985b0c5

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ahron-maslin/transpiler

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

File details

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

File metadata

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

File hashes

Hashes for transpiler-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bcea88fc0f7fdeb18523d5f34212bca7d73240d60e49ce2b9bf01a08bf625c7e
MD5 250fe14b87b563b450fc4054d92c99ab
BLAKE2b-256 13cc43bb28b4c9839fbd5a94f583a85790a4f89b3e345952112836cc9be93b1f

See more details on using hashes here.

Provenance

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

Publisher: release.yml on ahron-maslin/transpiler

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

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