Skip to main content

transpiler python into other language

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.3.0b1.tar.gz (23.5 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.3.0b1-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file kithon-0.3.0b1.tar.gz.

File metadata

  • Download URL: kithon-0.3.0b1.tar.gz
  • Upload date:
  • Size: 23.5 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.3.0b1.tar.gz
Algorithm Hash digest
SHA256 b63cf22556d835f6e687db7f2af067cb7eba4cc3f9bde6f266c52948529a9ad0
MD5 68f4a56277ebcee71022914abc665b4b
BLAKE2b-256 bbde4ee784bfca87ca49bc83d6e49be464fc356586ba6f4d6af328dc83382ae3

See more details on using hashes here.

File details

Details for the file kithon-0.3.0b1-py3-none-any.whl.

File metadata

  • Download URL: kithon-0.3.0b1-py3-none-any.whl
  • Upload date:
  • Size: 32.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.3.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 f4d6474d2cbb94c1f157ace1baf719cf9756f85bae85f54ffd8d69fbc5c0a80c
MD5 93cec1009c67f12e8082a1c671ecb41d
BLAKE2b-256 b4a99668b1a39ce3d225267a16d5fcdcf645226de13a8f017187e66eb6601f30

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