<p align="center">
<img src="assets/icons/logo_horizontal.png">
</p>
<p align="center">
<a href="https://github.com/janus-llm/janus-llm/actions/workflows/pages.yml" target="_blank">
<img src="https://github.com/janus-llm/janus-llm/actions/workflows/pages.yml/badge.svg" alt="Pages">
</a>
<a href="https://github.com/janus-llm/janus-llm/actions/workflows/publish.yml" target="_blank">
<img src="https://github.com/janus-llm/janus-llm/actions/workflows/publish.yml/badge.svg" alt="Publish">
</a>
<a href="https://github.com/psf/black" target="_blank">
<img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code Style: black">
</a>
<a href="https://pypi.org/project/janus-llm" target="_blank">
<img src="https://img.shields.io/pypi/pyversions/janus-llm" alt="Python versions">
</a>
<a href="https://pypi.org/project/janus-llm" target="_blank">
<img src="https://img.shields.io/pypi/v/janus-llm?color=%2334D058&label=pypi%20package" alt="Package version">
</a>
</p>
## Overview
Janus (`janus-llm`) uses LLMs to aid in the modernization of legacy IT systems. The repository can currently do the following:
1. Chunk code of over 100 programming languages to fit within different model context windows and add to a [Chroma](https://trychroma.com) vector database.
2. Translate from one programming language to another on a file-by-file basis using an LLM with varying results (with the `translate.py` script).
3. Translate from a binary file to a programming language using Ghidra decompilation.
4. Do 1-3 with a CLI tool (`janus`).
## Roadmap
### Priorities
1. Scripts interacting with Chroma Vector DB for RAG translation and understanding.
2. Evaluation of outputs in CLI using LLM self-evaluation or static analysis.
## Installation
```shell
pip install janus-llm
```
### Installing from Source
Clone the repository:
```shell
git clone git@github.com:janus-llm/janus-llm.git
```
**NOTE**: Make sure you're using Python 3.10 or 3.11.
Then, install the requirements:
```shell
curl -sSkL https://install.python-poetry.org | python -
export PATH=$PATH:$HOME/.local/bin
poetry install
```
### Contributing
See our [contributing pages](https://janus-llm.github.io/janus-llm/contributing.html)
### Copyright
Copyright ©2024 The MITRE Corporation. ALL RIGHTS RESERVED. Approved for Public Release; Distribution Unlimited. Public Release Case Number 23-4084.
Raw data
{
"_id": null,
"home_page": "https://github.com/janus-llm/janus-llm",
"name": "janus-llm",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.12,>=3.11",
"maintainer_email": null,
"keywords": null,
"author": "Michael Doyle",
"author_email": "mdoyle@mitre.org",
"download_url": "https://files.pythonhosted.org/packages/6d/f3/4f544582cf2ad4688c559a8ea5918cb67418ad2afa8fe6070f2331452af7/janus_llm-4.3.1.tar.gz",
"platform": null,
"description": "\n<p align=\"center\">\n <img src=\"assets/icons/logo_horizontal.png\">\n</p>\n<p align=\"center\">\n<a href=\"https://github.com/janus-llm/janus-llm/actions/workflows/pages.yml\" target=\"_blank\">\n <img src=\"https://github.com/janus-llm/janus-llm/actions/workflows/pages.yml/badge.svg\" alt=\"Pages\">\n</a>\n<a href=\"https://github.com/janus-llm/janus-llm/actions/workflows/publish.yml\" target=\"_blank\">\n <img src=\"https://github.com/janus-llm/janus-llm/actions/workflows/publish.yml/badge.svg\" alt=\"Publish\">\n</a>\n<a href=\"https://github.com/psf/black\" target=\"_blank\">\n <img src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" alt=\"Code Style: black\">\n</a>\n<a href=\"https://pypi.org/project/janus-llm\" target=\"_blank\">\n <img src=\"https://img.shields.io/pypi/pyversions/janus-llm\" alt=\"Python versions\">\n</a>\n<a href=\"https://pypi.org/project/janus-llm\" target=\"_blank\">\n <img src=\"https://img.shields.io/pypi/v/janus-llm?color=%2334D058&label=pypi%20package\" alt=\"Package version\">\n</a>\n</p>\n\n## Overview\n\nJanus (`janus-llm`) uses LLMs to aid in the modernization of legacy IT systems. The repository can currently do the following:\n\n1. Chunk code of over 100 programming languages to fit within different model context windows and add to a [Chroma](https://trychroma.com) vector database.\n2. Translate from one programming language to another on a file-by-file basis using an LLM with varying results (with the `translate.py` script).\n3. Translate from a binary file to a programming language using Ghidra decompilation.\n4. Do 1-3 with a CLI tool (`janus`).\n\n## Roadmap\n\n### Priorities\n\n1. Scripts interacting with Chroma Vector DB for RAG translation and understanding.\n2. Evaluation of outputs in CLI using LLM self-evaluation or static analysis.\n\n## Installation\n\n```shell\npip install janus-llm\n```\n\n### Installing from Source\n\nClone the repository:\n\n```shell\ngit clone git@github.com:janus-llm/janus-llm.git\n```\n\n**NOTE**: Make sure you're using Python 3.10 or 3.11.\n\nThen, install the requirements:\n\n```shell\ncurl -sSkL https://install.python-poetry.org | python -\nexport PATH=$PATH:$HOME/.local/bin\npoetry install\n```\n\n### Contributing\n\nSee our [contributing pages](https://janus-llm.github.io/janus-llm/contributing.html)\n\n### Copyright\nCopyright \u00a92024 The MITRE Corporation. ALL RIGHTS RESERVED. Approved for Public Release; Distribution Unlimited. Public Release Case Number 23-4084.\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "A transcoding library using LLMs.",
"version": "4.3.1",
"project_urls": {
"Documentation": "https://janus-llm.github.io/janus-llm",
"Homepage": "https://github.com/janus-llm/janus-llm",
"Repository": "https://github.com/janus-llm/janus-llm"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4a649ab10179fa58ca85a7d06fb536ace7462dce6a3cbd6df58b63b42db2b896",
"md5": "30836d3258ca4d50b43171a0f71035ba",
"sha256": "e8cf9d00fcf71b834d15824061cb79448ac53865a4053a0f25aaf93052e8e4e4"
},
"downloads": -1,
"filename": "janus_llm-4.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "30836d3258ca4d50b43171a0f71035ba",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12,>=3.11",
"size": 128781,
"upload_time": "2024-12-03T01:45:58",
"upload_time_iso_8601": "2024-12-03T01:45:58.740567Z",
"url": "https://files.pythonhosted.org/packages/4a/64/9ab10179fa58ca85a7d06fb536ace7462dce6a3cbd6df58b63b42db2b896/janus_llm-4.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6df34f544582cf2ad4688c559a8ea5918cb67418ad2afa8fe6070f2331452af7",
"md5": "def2ed58be98877fc1a59d76661f59b7",
"sha256": "c2ef2aebe7d3cabf4ff866baae5da0ec2cffdd6a6b1d71656e28d29b4cdd1adc"
},
"downloads": -1,
"filename": "janus_llm-4.3.1.tar.gz",
"has_sig": false,
"md5_digest": "def2ed58be98877fc1a59d76661f59b7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12,>=3.11",
"size": 92513,
"upload_time": "2024-12-03T01:46:00",
"upload_time_iso_8601": "2024-12-03T01:46:00.505644Z",
"url": "https://files.pythonhosted.org/packages/6d/f3/4f544582cf2ad4688c559a8ea5918cb67418ad2afa8fe6070f2331452af7/janus_llm-4.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-03 01:46:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "janus-llm",
"github_project": "janus-llm",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "janus-llm"
}