Skip to content

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.

JediRhymeTrix/PyCrust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 🚀

  1. Install Docker and Docker Compose
  2. Clone this repository: git clone https://github.com/JediRhymeTrix/pycrust.git
  3. cd pycrust
  4. Create a .env file with your ChatGPT API key: echo "API_KEY=<your-api-key>" > .env
  5. Give the runner shell script the appropriate permission to run: chmod +x scripts/pycrust.sh
  6. Run the Docker container and transpile your code using the command ./pycrust.sh /path/to/input.py to 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 .rs extension.

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.

About

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.

Topics

Resources

Stars

Watchers

Forks