Skip to content

mlhoutel/compy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compy

Compy is a program that apply transformations on Python programs. This tool is currently in development and is considered a preview, which means that it may be unstable and doesn't support all Python3 language features.

Transformations

Here are some of the transformations that Compy can handle, along with their status. If you have idea for new transformations, don't hesitate to add and issue. If you would like to contribute, you can fork the repository and create a pull request with your changes. Please make sure to write tests for any new features or bug fixes, and to run cargo test and cargo fmt before submitting your pull request.

✅ No transformations

🚧 To One-liner

Feature Status
Variables and data types ✅ Done
Control structures (if/else, for/while loops) ✅ Done
Flow statements (return, break, continue, pass) ✅ Done
Functions and lambdas ✅ Done
Classes and objects ✅ Done
Annotations ✅ Done
List, tuple, and dictionary manipulation ✅ Done
Modules and packages ✅ Done
Decorators ✅ Done
Built-in functions and modules ✅ Done
Generators and iterators ✅ Done
Globals ✅ Done
Delete ✅ Done
Exceptions ✅ Done
Yield ❌ Not supported
Exception handling ❌ Not supported
Context managers ❌ Not supported
Async / Await ❌ Not supported
Type hints / Static typing ❌ Not supported

Getting started

git clone https://github.com/mlhoutel/compy.git && cd compy

Library development

cargo test
cargo build

Demo website

cd docs
wasm-pack build --target web --out-dir static
npm i && npm run start

Once the server is running, you can open your web browser and navigate to http://localhost:8000 to see the demo website in action.

Releases

No releases published

Packages

No packages published