PyCrust is a CLI tool that converts Python code to Rust using OpenAI's GPT-3.5 language model for code generation. It provides an easy-to-use interface for converting Python code to Rust code, making it easier for Python developers to leverage Rust's performance benefits.
PyCrust ๐ฅง [WIP] ๐ง
Pie-crust / Py(c)Rust
PyCrust is a command-line tool that transpiles Python code to Rust code, replacing Python libraries with equivalent Rust libraries wherever possible. It uses the OpenAI ChatGPT API to perform the transpilation.
Usage ๐
- Install Docker and Docker Compose
- Clone this repository:
git clone https://github.com/JediRhymeTrix/pycrust.git cd pycrust- Create a
.envfile with your ChatGPT API key:echo "API_KEY=<your-api-key>" > .env - Give the runner shell script the appropriate permission to run:
chmod +x scripts/pycrust.sh - Run the Docker container and transpile your code using the command
./pycrust.sh /path/to/input.pyto transpile the Python code to Rust code. The output will be saved in a file with the same name as the input file, but with the.rsextension.
Dependencies ๐ฆ
- Docker
- Docker Compose
- OpenAI ChatGPT API key
Directory Structure ๐
pycrust/ โโโ docker-compose.yml โโโ Dockerfile โโโ scripts/ โ โโโ download_dependencies.sh โ โโโ pycrust.sh โโโ src/ โ โโโ init.py โ โโโ pycrust.py โโโ tests/ โ โโโ test_pycrust.py โโโ requirements.txt
Notes ๐
- This tool is still in development and may not work with all Python code.
- The Rust code generated by PyCrust may require additional work to compile and run.
- If a Rust equivalent library for a Python library does not exist, PyCrust will generate a list of missing dependencies.