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.0.tar.gz (23.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.3.0-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kithon-0.3.0.tar.gz
  • Upload date:
  • Size: 23.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.3.0.tar.gz
Algorithm Hash digest
SHA256 db74fe3ea12ca533617858a2289c3717c10bb1d4c5f274566db0a7477d125620
MD5 9af2296aa75520f9f1184e90aa280b93
BLAKE2b-256 a262c78e5de37b9f05f0515a0c0a0abd2ef6d6829bc3a6df8170167b8fcf49c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kithon-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 32.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6397fb452a9876bf133858f77d23f59059d902c963a90366a4174d7c488aeb4
MD5 49866c057ad2a4795b94b7a8050191c6
BLAKE2b-256 de1bf44160dfd4b1f4401d4692a816fdd5d4a50b3ff50f399930a562942d7b09

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