Skip to content

A Python compiler targeting JS, implemented in Rust.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

hermetique/python-compiler

Python Compiler

⚠️ THIS IS NOT PRODUCTION READY AT ALL, DO NOT USE IT. I'm also currently rewriting it, so this is not the most up-to-date version.

A Python compiler targeting JavaScript, implemented in Rust.

Crates.io Docs.rs CI Coverage Status

Installation

TODO. Should either be a PyPi/Cargo package, or something like rustup.

Usage

As A Compiler

./python [input-file]

As A Library

TODO

Contribution

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

See CONTRIBUTING.md.

Roadmap

Complete

  • Python Parser
  • "Scaffolding" for the rest of the project
  • Support for built-in function calls
  • Support for variable declarations

Todos

  • 100% of Python supported (this is the big one)
  • Better test coverage (and fuzzing)
  • Better optimization, less "fragile" code
  • Helpful error messages.
  • JS Interop

License

Licensed under either of Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0) MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT) at your option.

About

A Python compiler targeting JS, implemented in Rust.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published