# py2many: Universal Python Transpiler to Rust, C++, Go, and More

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/py2many-py2many
Generated for open source discovery and AI-assisted research.

py2many is a powerful Python transpiler designed to convert Python source code into multiple statically-typed programming languages, including Rust, C++, Go, Julia, and Kotlin. This tool helps developers improve application performance, enhance security, and enable seamless cross-platform development. It allows users to leverage Python's ease of development while benefiting from the speed and robustness of other languages.

GitHub: https://github.com/py2many/py2many
OSRepos URL: https://osrepos.com/repo/py2many-py2many

## Summary

py2many is a powerful Python transpiler designed to convert Python source code into multiple statically-typed programming languages, including Rust, C++, Go, Julia, and Kotlin. This tool helps developers improve application performance, enhance security, and enable seamless cross-platform development. It allows users to leverage Python's ease of development while benefiting from the speed and robustness of other languages.

## Topics

- python
- transpiler
- rust
- golang
- cpp
- kotlin
- code generation
- development tools

## Repository Information

Last analyzed by OSRepos: Tue Mar 17 2026 21:21:47 GMT+0000 (Western European Standard Time)
Detail views: 5
GitHub clicks: 2

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction

py2many is a robust Python transpiler that transforms Python source code into various statically-typed programming languages. It supports conversion to Rust, C++, Go, Zig, Julia, Nim, Dart, V, and D, with a primary focus on Python to Rust and production-ready support for C++. This tool enables developers to dramatically improve execution speed, enhance security by moving to safer systems languages, and facilitate cross-platform development.

Key features include multi-language support, automatic type inference, generation of optimized code for systems programming languages, and cross-platform compatibility across Linux, macOS, and Windows. py2many also serves as an excellent educational tool for learning new languages by comparing Python implementations with their transpiled equivalents.

## Installation

To get started with py2many, you'll need Python 3.8+ installed.

Install via pip:

sh
pip3 install --user py2many # installs to $HOME/.local


OR

sh
sudo pip3 install py2many # installs systemwide


## Examples

See how py2many converts Python code to idiomatic Rust:

**Original Python code:**

python
def fib(i: int) -> int:
    if i == 0 or i == 1:
        return 1
    return fib(i - 1) + fib(i - 2)

# Demonstrate overflow handling
def add(i: i32, j: i32):
    return i + j


**Transpiled Rust code:**

rust
fn fib(i: i32) -> i32 {
    if i == 0 || i == 1 {
        return 1;
    }
    return (fib((i - 1)) + fib((i - 2)));
}

// return type is i64
pub fn add(i: i32, j: i32) -> i64 {
    return ((i as i64) + (j as i64)) as i64;
}


To transpile your Python code to different languages, use the `py2many` command with the desired target language flag:

sh
# Python to Rust
py2many --rust tests/cases/fib.py

# Python to C++
py2many --cpp tests/cases/fib.py

# Python to Go
py2many --go tests/cases/fib.py


You can find more transpiled examples for all supported languages in the official repository's `tests/expected` directory: [More Examples](https://github.com/adsharma/py2many/tree/main/tests/expected){target="_blank"}.

## Why Use py2many

py2many offers several compelling reasons for its adoption:

*   **Performance**: Dramatically improve execution speed by transpiling Python to languages like Rust, C++, or Go, while retaining Python's development ease.
*   **Security**: Write security-sensitive code in Python, verify it, then transpile to safer systems languages like Rust to mitigate common vulnerabilities.
*   **Cross-platform Development**: Accelerate Python code by converting it into native extensions or standalone applications for various platforms.
*   **Mobile & Systems Programming**: Develop once in Python and deploy to multiple targets, offering an alternative to platform-specific solutions.
*   **Learning Tool**: An excellent resource for learning new programming languages by comparing Python implementations with their transpiled counterparts.

## Links

For more information, examples, and to contribute to the project, please visit the official resources:

*   [py2many GitHub Repository](https://github.com/py2many/py2many){target="_blank"}
*   [View Transpiled Examples](https://github.com/adsharma/py2many/tree/main/tests/expected){target="_blank"}
*   [Contributing Guidelines](https://github.com/adsharma/py2many/blob/main/CONTRIBUTING.md){target="_blank"}