janus-llm

Leveraging LLMs for modernization through intelligent chunking, iterative prompting and reflection, and retrieval augmented generation (RAG).

https://github.com/janus-llm/janus-llm

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary

Keywords

chroma chromadb cli langchain llm modernization python rag tree-sitter
Last synced: 4 months ago · JSON representation ·

Repository

Leveraging LLMs for modernization through intelligent chunking, iterative prompting and reflection, and retrieval augmented generation (RAG).

Basic Info
Statistics
  • Stars: 36
  • Watchers: 3
  • Forks: 5
  • Open Issues: 3
  • Releases: 9
Topics
chroma chromadb cli langchain llm modernization python rag tree-sitter
Created almost 2 years ago · Last pushed 5 months ago
Metadata Files
Readme License Citation

README.md

Pages Publish Code Style: black Python versions Package version

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 vector database.
  2. Translate from one programming language to another on a file-by-file basis using an LLM.
  3. Translate from a binary file to a programming language using Ghidra decompilation.
  4. Generate requirements, UML diagrams, code comments, and summaries from source code.
  5. Evaluate the products that you generate.
  6. Do 1-5 with a CLI tool (janus).

Installation

shell pip install janus-llm

Installing from Source

Clone the repository:

shell git clone git@github.com:janus-llm/janus-llm.git

Then, install the requirements:

shell curl -sSkL https://install.python-poetry.org | python - export PATH=$PATH:$HOME/.local/bin poetry install

Documentation

See the documentation for more information on how to use the package.

Contributing

See our contributing pages

Copyright

Copyright ©2025 The MITRE Corporation. ALL RIGHTS RESERVED. Approved for Public Release; Distribution Unlimited. Public Release Case Number 23-4084.

Owner

  • Name: Janus LLM
  • Login: janus-llm
  • Kind: organization
  • Location: United States of America

Modernization tools developed under MITRE’s Independent Research and Development Program.

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Janus LLM
message: >-
  If you use this software, please cite it using the metadata from this file.
type: software
authors:
  - given-names: Michael
    family-names: Doyle
    email: mdoyle@mitre.org
    affiliation: MITRE
    orcid: 'https://orcid.org/0009-0002-0229-5693'
  - given-names: Chris
    family-names: Glasz
    email: cglasz@mitre.org
    affiliation: MITRE
  - given-names: Chris
    family-names: Tohline
    email: ctohline@mitre.org
    affiliation: MITRE
  - given-names: William
    family-names: Macke
    email: wmacke@mitre.org
    affiliation: MITRE
  - given-names: Paul
    family-names: Kirk
    email: pkirk@mitre.org
    affiliation: MITRE
  - given-names: Lily
    family-names: Wong
    email: lwong@mitre.org
    affiliation: MITRE
  - given-names: Michael
    family-names: Threet
    email: mthreet@mitre.org
    affiliation: MITRE
  - given-names: Colin
    family-names: Diggs
    email: cdiggs@mitre.org
    affiliation: MITRE
  - given-names: Pranay
    family-names: Jain
    email: pranayjain@mitre.org
    affiliation: MITRE
  - given-names: Chris
    family-names: Kempis
    email: ckempis@mitre.org
    affiliation: MITRE
repository-code: 'https://github.com/janus-llm/janus-llm'
url: 'janus-llm.github.io/janus-llm'
repository-artifact: 'https://pypi.org/project/janus-llm/'
abstract: >-
  Janus LLM allows users to parse and chunk over 100 programming languages and embed that information into a vector database for retrieval augmented generation (RAG).
keywords:
  - large language models
  - llm
  - parsing
  - nlp
  - translation
  - vector database
  - chroma
  - python
license: Apache-2.0
version: 1.0.0
date-released: '2024-01-29'

GitHub Events

Total
  • Create event: 52
  • Issues event: 1
  • Release event: 3
  • Watch event: 15
  • Delete event: 15
  • Issue comment event: 2
  • Push event: 13
  • Pull request event: 1
  • Fork event: 2
Last Year
  • Create event: 52
  • Issues event: 1
  • Release event: 3
  • Watch event: 15
  • Delete event: 15
  • Issue comment event: 2
  • Push event: 13
  • Pull request event: 1
  • Fork event: 2

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 4
  • Total pull requests: 3
  • Average time to close issues: 8 days
  • Average time to close pull requests: about 2 months
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 1.25
  • Average comments per pull request: 0.33
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 2
  • Average time to close issues: 8 days
  • Average time to close pull requests: about 2 hours
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.5
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • rlippmann (2)
  • ompanda (1)
  • huntermc45 (1)
  • jobeid1 (1)
Pull Request Authors
  • jobeid1 (2)
  • ewolos (2)
  • psirenny (2)
Top Labels
Issue Labels
Pull Request Labels
planned (2) dependencies (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 117 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 29
  • Total maintainers: 1
pypi.org: janus-llm

A transcoding library using LLMs.

  • Versions: 29
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 117 Last month
Rankings
Dependent packages count: 9.9%
Average: 37.7%
Dependent repos count: 65.5%
Maintainers (1)
Last synced: 4 months ago

Dependencies

pyproject.toml pypi
  • pytest-cov ^4.1.0 coverage
  • bandit ^1.7.5 develop
  • black ^23.3.0 develop
  • flake8 ^6.0.0 develop
  • isort ^5.12.0 develop
  • pre-commit ^3.3.1 develop
  • pydocstyle ^6.3.0 develop
  • pytest ^7.3.1 develop
  • Sphinx ^6.0.2 docs
  • furo ^2023.3.27 docs
  • myst-parser ^1.0.0 docs
  • sphinx-autoapi ^3.0.0 docs
  • sphinx-autobuild ^2021.3.14 docs
  • sphinx-copybutton ^0.5.2 docs
  • sphinx-rtd-theme ^1.0.0 docs
  • sphinxext-opengraph ^0.9.1 docs
  • aenum ^3.1.15
  • boto3 ^1.34.142
  • chromadb ^0.5.0
  • gitpython ^3.1.32
  • gpt4all ^2.0.2
  • langchain ^0.2.0
  • langchain-anthropic ^0.1.15
  • langchain-community ^0.2.0
  • langchain-core ^0.2.0
  • langchain-openai ^0.1.8
  • nltk ^3.8.1
  • numpy ^1.24.3
  • openai ^1.14.0
  • py-readability-metrics ^1.4.5
  • py-rouge ^1.1
  • python >=3.11, <3.12
  • python-dotenv ^1.0.0
  • rich ^13.7.1
  • sacrebleu ^2.4.1
  • sentence-transformers ^2.6.1
  • text-generation ^0.6.0
  • tiktoken ^0.7.0
  • transformers ^4.31.0
  • tree-sitter ^0.21.0
  • typer ^0.9.0
.github/workflows/pages.yml actions
  • JamesIves/github-pages-deploy-action v4 composite
  • actions/checkout v1 composite
.github/workflows/publish.yml actions
  • actions/checkout v1 composite
janus/prompts/templates/requirements/human.txt pypi
  • Finally ,returnaJSON
  • Hereisthecode *
  • Ifyouthinkanysectionofthecodeisdifficulttounderstandorhasuncertainrequirements ,thisshouldbedescribed.
  • Inaddition ,describethecapabilitiesandlimitationsofthefunctionality,aswellashowtotestthefunctionality.
  • Pleaseconvertthefollowingcodeintosoftwarerequirementsthatcanreplicateitsfunctionality. *
  • WritetherequirementsinthestyleofanINCOSEsoftwarerequirementsspecificationdocument. *
janus/prompts/templates/requirements/system.txt pypi
  • Yourpurposeistounderstandasourcecodefile *
  • andgenerateasoftwarerequirementsspecificationdocumentforit. *
poetry.lock pypi
  • 213 dependencies