Skip to main content

transpiler python into other languages

Project description

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.4.0.tar.gz (25.4 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.4.0-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kithon-0.4.0.tar.gz
  • Upload date:
  • Size: 25.4 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.4.0.tar.gz
Algorithm Hash digest
SHA256 3139e91f98adc6cc072c15153ffb8bcdbc2dd209766631a83f70e31d0eaff967
MD5 41cee3607e19a21f3bd9bd4447926b68
BLAKE2b-256 a06666b55d982a6a906424dca1d86ec4938b27c76b61925991a78dcc09773ffc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kithon-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 35.6 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39447d43d0a244865110cd4e658765f01e766ae7c8812a58645a97dcfd21f42b
MD5 d8e85ba31dbd0ebd92f57118cc292e61
BLAKE2b-256 473964e19b67e40ce3f3c6720f864859ebe8a51de52a43d2c09db74a05846127

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