Skip to main content

transpiler python into other languages

Project description

Kithon · GitHub license

Kithon** is a project that provides the ability to translate python and python-family language such as hy-lang and coconut into human-readable code in any other programming languages.

Try out the web demo or install locally: pip install kithon. Then you can use generation to js or go or create custom transpiler.

Example

# main.py

def main():
    print('Hello, Kithon')

main()

kithon gen --to js main.py, output:

function main() {
    console.log("Hello, Kithon");
}
main();

kithon gen --to go main.py, output:

package main
import (
	"fmt"
)

func main() {
    fmt.Println("Hello, Kithon")
}

For what?

For use python where we can't. For example in browser(js), embedded scripting(mostly lua). Or make python program faster by translating to go, c++, rust, nim or julia. Also for supporting program written on in unpopular programming languages (very new or vice versa)

How it works?

Kithon uses a dsl based on yaml and jinja to apply the rules described on it to the nodes of the ast tree. Using this dsl you can add new languages or extensions to those already added.

Status

The project is under active development. Now the ability to add translation of basic python constructs into any other language(in this repo js and go only) is supported.

There are plans to develop a number of supported languages and expand support for python syntax

Similar projects

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

kithon-0.5.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

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

kithon-0.5.0-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file kithon-0.5.0.tar.gz.

File metadata

  • Download URL: kithon-0.5.0.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.9 Linux/5.4.164-1-MANJARO

File hashes

Hashes for kithon-0.5.0.tar.gz
Algorithm Hash digest
SHA256 55eb366da884c66c877ca8828660f6e59c69dccc06a49f19945dc104dc6e0837
MD5 ba341b1077ea3b7dc02e4e4ff9136ba2
BLAKE2b-256 12c97eb88000c1ad6692e6b9a4b07256cdeb29397e25a1ad49dce1bdd82c51df

See more details on using hashes here.

File details

Details for the file kithon-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: kithon-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.9 Linux/5.4.164-1-MANJARO

File hashes

Hashes for kithon-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89f6e60bf8bf7f0a7dc74d04903dc55232ba556e3de27a2d1c9b46b1f0cc1aa7
MD5 7af2322a9d3fb49ad17b42256aae49ca
BLAKE2b-256 9e4e25f9a2271d46a76013968ff542c5e054db403496a7449f880e870197d823

See more details on using hashes here.

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