Skip to content

Commit ebaf7d3

Browse files
authored
Merge branch 'main' into issue-79-support-c
2 parents ad6bf18 + 91322dd commit ebaf7d3

File tree

632 files changed

+54042
-2749
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

632 files changed

+54042
-2749
lines changed

.github/workflows/mkdocs-deploy.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ name: mkdocs-deploy
22
on:
33
push:
44
branches:
5-
- master
6-
- main
5+
- docs
6+
77
permissions:
88
contents: write
99
jobs:
@@ -20,6 +20,6 @@ jobs:
2020
with:
2121
python-version: "3.11"
2222
- name: Install Dependencies
23-
run: pip install mkdocs-material mkdocs-autorefs mkdocs-get-deps mkdocs-material-extensions mkdocstrings mkdocstrings-python
23+
run: pip install mkdocs-material[imaging] mkdocs-autorefs mkdocs-get-deps mkdocs-material-extensions mkdocstrings mkdocstrings-python mkdocs-git-revision-date-localized-plugin
2424
- name: Deploy docs
25-
run: mkdocs gh-deploy --force --verbose
25+
run: mkdocs gh-deploy --force --verbose

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
# BlueJ files
1515
*.ctxt
1616

17+
# Cache files
18+
.cache/
19+
1720
# Mobile Tools for Java (J2ME)
1821
.mtj.tmp/
1922

README.md

+50-35
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,48 @@
1-
# CodeLLM-Devkit: A Python library for seamless interaction with CodeLLMs
2-
3-
![codellm-devkit logo](https://github.com/IBM/codellm-devkit/blob/main/docs/assets/cldk.png?raw=true)
4-
5-
[![arXiv](https://img.shields.io/badge/arXiv-2410.13007-b31b1b.svg)](https://arxiv.org/abs/2410.13007)
6-
[![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/)
7-
[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)
8-
[![Documentation](https://img.shields.io/badge/GitHub%20Pages-Docs-blue)](https://ibm.github.io/codellm-devkit/)
9-
[![PyPI version](https://badge.fury.io/py/cldk.svg)](https://badge.fury.io/py/cldk)
10-
11-
12-
Codellm-devkit (CLDK) is a multilingual program analysis framework that bridges the gap between traditional static analysis tools and Large Language Models (LLMs) specialized for code (CodeLLMs). Codellm-devkit allows developers to streamline the process of transforming raw code into actionable insights by providing a unified interface for integrating outputs from various analysis tools and preparing them for effective use by CodeLLMs.
13-
14-
Codellm-devkit simplifies the complex process of analyzing codebases that span multiple programming languages, making it easier to extract meaningful insights and drive LLM-based code analysis. `CLDK` achieves this through an open-source Python library that abstracts the intricacies of program analysis and LLM interactions. With this library, developer can streamline the process of transforming raw code into actionable insights by providing a unified interface for integrating outputs from various analysis tools and preparing them for effective use by CodeLLMs.
15-
16-
**The purpose of Codellm-devkit is to enable the development and experimentation of robust analysis pipelines that harness the power of both traditional program analysis tools and CodeLLMs.**
17-
By providing a consistent and extensible framework, Codellm-devkit aims to reduce the friction associated with multi-language code analysis and ensure compatibility across different analysis tools and LLM platforms.
18-
19-
Codellm-devkit is designed to integrate seamlessly with a variety of popular analysis tools, such as WALA, Tree-sitter, LLVM, and CodeQL, each implemented in different languages. Codellm-devkit acts as a crucial intermediary layer, enabling efficient and consistent communication between these tools and the CodeLLMs.
20-
21-
Codellm-devkit is constantly evolving to include new tools and frameworks, ensuring it remains a versatile solution for code analysis and LLM integration.
22-
23-
Codellm-devkit is:
1+
<picture>
2+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/images/cldk-dark.png">
3+
<source media="(prefers-color-scheme: light)" srcset="docs/assets/images/cldk-light.png">
4+
<img src="docs/assets/img-light.png" alt="Logo">
5+
</picture>
6+
7+
<p align='center'>
8+
<a href="https://arxiv.org/abs/2410.13007">
9+
<img src="https://img.shields.io/badge/arXiv-2410.13007-b31b1b?style=for-the-badge" />
10+
</a>
11+
<a href="https://www.python.org/downloads/release/python-3110/">
12+
<img src="https://img.shields.io/badge/python-3.11-blue?style=for-the-badge" />
13+
</a>
14+
<a href="https://opensource.org/licenses/Apache-2.0">
15+
<img src="https://img.shields.io/badge/License-Apache%202.0-green?style=for-the-badge" />
16+
</a>
17+
<a href="https://ibm.github.io/codellm-devkit/">
18+
<img src="https://img.shields.io/badge/GitHub%20Pages-Docs-blue?style=for-the-badge" />
19+
</a>
20+
<a href="https://badge.fury.io/py/cldk">
21+
<img src="https://img.shields.io/pypi/v/cldk?style=for-the-badge&label=codellm-devkit&color=blue" />
22+
</a>
23+
<a href="https://discord.gg/zEjz9YrmqN">
24+
<img src="https://dcbadge.limes.pink/api/server/https://discord.gg/zEjz9YrmqN?style=for-the-badge"/>
25+
</a>
26+
</p>
27+
28+
Codellm-Devkit (CLDK) is a multilingual program analysis framework that bridges the gap between traditional static analysis tools and Large Language Models (LLMs) specialized for code (CodeLLMs). Codellm-Devkit allows developers to streamline the process of transforming raw code into actionable insights by providing a unified interface for integrating outputs from various analysis tools and preparing them for effective use by CodeLLMs.
29+
30+
Codellm-Devkit simplifies the complex process of analyzing codebases that span multiple programming languages, making it easier to extract meaningful insights and drive LLM-based code analysis. `CLDK` achieves this through an open-source Python library that abstracts the intricacies of program analysis and LLM interactions. With this library, developer can streamline the process of transforming raw code into actionable insights by providing a unified interface for integrating outputs from various analysis tools and preparing them for effective use by CodeLLMs.
31+
32+
**The purpose of Codellm-Devkit is to enable the development and experimentation of robust analysis pipelines that harness the power of both traditional program analysis tools and CodeLLMs.**
33+
By providing a consistent and extensible framework, Codellm-Devkit aims to reduce the friction associated with multi-language code analysis and ensure compatibility across different analysis tools and LLM platforms.
34+
35+
Codellm-Devkit is designed to integrate seamlessly with a variety of popular analysis tools, such as WALA, Tree-sitter, LLVM, and CodeQL, each implemented in different languages. Codellm-Devkit acts as a crucial intermediary layer, enabling efficient and consistent communication between these tools and the CodeLLMs.
36+
37+
Codellm-Devkit is constantly evolving to include new tools and frameworks, ensuring it remains a versatile solution for code analysis and LLM integration.
38+
39+
Codellm-Devkit is:
2440

2541
- **Unified**: Provides a single framework for integrating multiple analysis tools and CodeLLMs, regardless of the programming languages involved.
2642
- **Extensible**: Designed to support new analysis tools and LLM platforms, making it adaptable to the evolving landscape of code analysis.
2743
- **Streamlined**: Simplifies the process of transforming raw code into structured, LLM-ready inputs, reducing the overhead typically associated with multi-language analysis.
2844

29-
Codellm-devkit is an ongoing project, developed at IBM Research.
45+
Codellm-Devkit is an ongoing project, developed at IBM Research.
3046

3147
## Contact
3248

@@ -39,17 +55,16 @@ For any questions, feedback, or suggestions, please contact the authors:
3955
| Saurabh Sihna | [[email protected]](mailto:[email protected]) |
4056
## Table of Contents
4157

42-
- [CodeLLM-Devkit: A Python library for seamless interaction with CodeLLMs](#codellm-devkit-a-python-library-for-seamless-interaction-with-codellms)
43-
- [Contact](#contact)
44-
- [Table of Contents](#table-of-contents)
45-
- [Architectural and Design Overview](#architectural-and-design-overview)
46-
- [Quick Start: Example Walkthrough](#quick-start-example-walkthrough)
47-
- [Prerequisites](#prerequisites)
48-
- [Step 1: Set up an Ollama server](#step-1--set-up-an-ollama-server)
49-
- [Pull the latest version of Granite 8b instruct model from ollama](#pull-the-latest-version-of-granite-8b-instruct-model-from-ollama)
50-
- [Step 2: Install CLDK](#step-2--install-cldk)
51-
- [Step 3: Build a code summarization pipeline](#step-3--build-a-code-summarization-pipeline)
52-
- [Publication (papers and blogs related to CLDK)](#publication-papers-and-blogs-related-to-cldk)
58+
- [Contact](#contact)
59+
- [Table of Contents](#table-of-contents)
60+
- [Architectural and Design Overview](#architectural-and-design-overview)
61+
- [Quick Start: Example Walkthrough](#quick-start-example-walkthrough)
62+
- [Prerequisites](#prerequisites)
63+
- [Step 1: Set up an Ollama server](#step-1--set-up-an-ollama-server)
64+
- [Pull the latest version of Granite 8b instruct model from ollama](#pull-the-latest-version-of-granite-8b-instruct-model-from-ollama)
65+
- [Step 2: Install CLDK](#step-2--install-cldk)
66+
- [Step 3: Build a code summarization pipeline](#step-3--build-a-code-summarization-pipeline)
67+
- [Publication (papers and blogs related to CLDK)](#publication-papers-and-blogs-related-to-cldk)
5368

5469
## Architectural and Design Overview
5570

docs/CNAME

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
codellm-devkit.info

docs/README.md

-78
This file was deleted.

docs/api_reference.md

-21
This file was deleted.

0 commit comments

Comments
 (0)