Python is popular, and easy to program in, but it has poor runtime performance. We can fix that by transpiring a subset of the language into a more performant, statically typed language. A second benefit is security. Writing security-sensitive code in a low-level language like C is error-prone and could lead to privilege escalation. Specialized languages such as wuffs exist to address this use case. py2many can be a more general-purpose solution to the problem where you can verify the source via unit tests before you transpile. Swift and Kotlin dominate the mobile app development workflow. However, there is no one solution that works well for lower level libraries where there is desire to share code between platforms. Kotlin Mobile Multiplatform (KMM) is a player in this place, but it hasn't really caught on. py2many provides an alternative.
Features
- Rust is the language where the focus of development has been
- C++14 is historically the first language to be supported. C++17 is now required for some features
- Documentation available
- Preliminary support exists for Julia, Kotlin, Nim, Go, Dart and V
- py2many can also emit Python 3 code that includes inferred type annotations, and revisions to the syntax intended to simplify parsing of the code
- Based on Julian Konchunas' pyrs
- Examples available