JediRhymeTrix / PyCrust

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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.


Languages

Language:Python 64.6%Language:Dockerfile 18.1%Language:Shell 17.3%