CodeMage is a tool that translates a source file written in one programming language into another language. The translation will be done by Large Language Model AI(such as ChatGPT)
1. Supported Languages: Javascript, Python, C++, Java 2. Default target Language is Python 3. Supported LLM model: openrouter, groq 4. Default LLM model is openrouter(sao10k/l3-euryale-70b) - Python
- You need python 3.12 or later version to use this tool
- Install Python : https://www.python.org/downloads/
# for window user pip install code-mage # for mac user pip3 install code-mage2. Create your API_KEY at openrouter Or Groq
It's free with sign-up. You can easily sign-up with your google account
export GROQ_API_KEY=YOUR-API-KEY # if you use groq model export OPENROUTER_API_KEY=YOUR-API-KEY # if you use openrouter modelWith this option, you can also set other tool options more easily
- Start by creating a
.codemage-config.tomlin your home directory.
vi ~/.codemage-config.toml- Add the following environment settings in the file:
# the double quotes for string values are necessary. model="groq" # if you wish to use OPEN ROUTER you can just delete this line GROQ_API_KEY="<YOUR-GROQ-API-KEY>" OPENROUTER_API_KEY="<YOUR-OPEN-ROUTER-API-KEY>" language="java" # you can use any of the supported languages stream=false # if you wish to get the output streamed, set it `true` token_usage=false # if you wish to get token_usage info, set it `true` output="result" # type any name for the output file without the extensioncodemage <file-you-want-to-convert> # For example, codemage test.js codemage test.js -s codemage test.js -m openrouter # specify your model, or the default model is "groq"If you are using the tool by cloning the repo, you need poetry package manager.
curl -sSL https://install.python-poetry.org | python3 -OR if you have pipx installed on your local machine, you can use the following commend
pipx install poetryRefer to How to download pipx
git clone https://github.com/gitdevjin/code-mage.git cd code_magepoetry install4. Create your API_KEY at openrouter Or Groq
It's free with sign-up. You can easily sign-up with your google account
OPENROUTER_API_KEY=your_open_router_api_key GROQ_API_KEY=your_groq_api_key You can also use .toml file with this method Refer to this
Now you are ready to use the tool!
- Run the command
poetry run codemage <source_file> poetry run codemage ./example/test.jsYou can try the tool with the included example files as followings:
poetry run codemage ./example/test.js -l pythonYou can also use the tool with multiple files:
poetry run codemage ./example/test.js ./example/sample.js -l javaYou can select model with -m, --model <model_name> option:
poetry run codemage ./example/test.js -m groq -o result -tYou can stream out the result onto stdout with -s, --stream flag:
poetry run codemage ./example/test.js -s-h, --help : display help message and exit
-l, --language : choose your target language (currently python, java, c++, and javascript are supported)
-o, --output : enter your output file name without extension
-m, --model : select LLM API model (currently openrouter, and groq are supported)
-v, --version : Show program's version number and exit
-t, --token-usage : Get information about token usage for the prompt and response
-s, --stream : Stream out the output into stdout
