Skip to content

Commit 29a9b21

Browse files
authored
Merge pull request #140 from codellm-devkit/update-doc-strings
Update doc strings
2 parents 697cafe + 3e6ca52 commit 29a9b21

15 files changed

Lines changed: 1665 additions & 992 deletions

File tree

.github/workflows/release.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@ jobs:
6666
- name: Build Package
6767
run: poetry build
6868

69+
- name: Read Changelog Entry
70+
id: changelog_reader
71+
uses: mindsers/changelog-reader-action@v2
72+
with:
73+
validation_level: warn
74+
version: ${{ steps.tag_name.outputs.current_version }}
75+
path: ./CHANGELOG.md
76+
6977
- name: Build Changelog
7078
id: gen_changelog
7179
uses: mikepenz/release-changelog-builder-action@v5

.pypirc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[testpypi]
2+
username = __token__
3+
password = pypi-AgENdGVzdC5weXBpLm9yZwIkZTc4MDc4ZDgtZjE3Yy00MzBkLThlNzgtMWM5OTYyYmQ4MmJlAAIqWzMsImQ0ODAwOGM2LTk5NzEtNGNkMS1iODRjLTE1ZmI5MzUzMTVmMCJdAAAGIGwt_2ZTCD_lxDBM2qgoO_JYk0yzX1xsIfIbbn4Dq6VX

CHANGELOG.md

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [v1.0.7] - 2025-08-21
9+
10+
### Added
11+
- Doctest-style Examples across the public API surface of JavaAnalysis, PythonAnalysis, CAnalysis, and core CLDK helpers. Coverage includes Java CRUD operations and comment/docstring query APIs, plus concise inline examples for Python and C where applicable.
12+
- Examples documenting expected NotImplementedError behavior for placeholder APIs (PythonAnalysis and CAnalysis) using doctest flags.
13+
14+
### Changed
15+
- Converted and standardized docstrings to strict Google style (Args, Returns, Raises, Examples) across edited modules.
16+
- Standardized Examples to use the CLDK facade (e.g., `CLDK(language="java").analysis(...)`) instead of raw constructor calls.
17+
- Normalized all doctest Example inputs to single-line strings to ensure reliable mkdocstrings rendering.
18+
- Clarified `CLDK.analysis` return type with a precise union: `JavaAnalysis | PythonAnalysis | CAnalysis`.
19+
20+
### Fixed
21+
- Fixed README.md logo display on PyPI by updating image URLs to use raw GitHub URLs and maintaining theme-based auto-switching with proper fallback
22+
- mkdocstrings rendering issues caused by multi-line doctest strings and formatting inconsistencies.
23+
- Replaced confusing examples like `JavaAnalysis(None, None, ...)` with clear CLDK-based initialization patterns.
24+
- Packaging: ensured the built wheel includes the `cldk` package by adding `packages = [{ include = "cldk" }]` to Poetry configuration.
25+
26+
### Removed
27+
- Multi-line doctest strings in Examples that broke mkdocstrings rendering; all examples are now single-line.
28+
29+
## [v1.0.6] - 2025-07-23
30+
31+
### Added
32+
- Added `argument_expr` field to JCallSite model for capturing actual parameter expressions in method calls
33+
- Added Star History section to README.md for tracking project popularity
34+
35+
### Changed
36+
- Updated codeanalyzer jar to version 2.3.5 with support for call argument expressions and fully qualified parameter types
37+
- Modified codeanalyzer.py to preserve fully qualified parameter types in method signatures instead of simplifying them
38+
- Updated method signature format to use fully qualified type names (e.g., `java.lang.String` instead of `String`)
39+
- Updated test fixtures with new analysis.json data reflecting the signature format changes
40+
41+
### Fixed
42+
- Fixed method signature handling to maintain fully qualified parameter types for better type resolution
43+
- Updated test cases to use fully qualified method signatures for improved accuracy
44+
45+
## [v1.0.5] - 2025-06-24
46+
47+
### Fixed
48+
- Fixed issue #135
49+
- Analysis level compatibility checking for analysis.json with passed analysis level
50+
51+
### Changed
52+
- Updated treesitter analysis to use global declarations of parser and language
53+
54+
## [v1.0.4] - 2025-06-11
55+
56+
### Added
57+
- Added missing callable fields field validator
58+
59+
### Changed
60+
- Updated test fixture setup to use codeanalyzer jar from cldk/analysis/java/codeanalyzer/jar instead of test resources directory
61+
- Updated analysis.json fixtures (daytrader8 and plantsbywebsphere)
62+
63+
### Removed
64+
- Removed dangling codeanalyzer jars from test resources
65+
- Removed obsolete analysis.json fixture
66+
67+
## [v1.0.3] - 2025-06-01
68+
69+
### Added
70+
- Added code start line attribute to JCallable (corresponding to added attribute in the java code analyzer model)
71+
72+
## [v1.0.2] - 2025-05-24
73+
74+
### Added
75+
- Added test case and fixture for source analysis
76+
- Added missing attributes in compilation unit model
77+
78+
### Fixed
79+
- Fixed handling of `source_code` option in Java codeanalyzer
80+
- Updated core.py to match python analysis signature
81+
82+
## [v1.0.1] - 2025-05-07
83+
84+
### Changed
85+
- Updated treesitter analysis to use global declarations of parser and language
86+
87+
## [v1.0.0] - 2025-04-29
88+
89+
### Added
90+
- First stable release
91+
- Updated contributing guidelines
92+
93+
### Changed
94+
- Updated README.md
95+
- Updated codeanalyzer jar
96+
- Updated java version in release automation
97+
98+
## [v0.5.1] - 2025-03-13
99+
100+
### Changed
101+
- Updated Java model to comply with codeanalyzer v2.3.1
102+
- Updated codeanalyzer jar to the latest from codeanalyzer-java
103+
- Updated get_all_docstrings to return dict
104+
105+
## [v0.5.0] - 2025-02-21
106+
107+
### Added
108+
- Added release automation github actions
109+
- Added Java 11 support in github actions
110+
- Added release_config.json
111+
- Added Comment parsing APIs at file, class, method, and docstring level
112+
- Added support for parsing callable parameters and their location information
113+
- Added Dev container instructions with Python, Java, C, and Rust support
114+
- Added C/C++ analysis support
115+
- Added CRUD operations support for Java JPA applications
116+
117+
### Changed
118+
- Consolidated analysis_level enums in __init__.py
119+
- Updated codeanalyzer jar to the latest version
120+
- Changed coverage minimum to 70%
121+
- Updated documentation with mkdocs
122+
- Updated badges and logos in README
123+
- Added Discord community support
124+
125+
### Removed
126+
- Removed CodeQL dependency and refactored treesitter
127+
- Removed ABCs from analysis
128+
- Removed logic to find LLVM in linux OSes (only appears in Darwin)
129+
- Removed redundant is_entry_point fields from JCallable and JType
130+
- Removed unused parameters and code cleanup
131+
132+
### Fixed
133+
- Fixed various test cases and compatibility issues
134+
- Fixed treesitter superclass identification issues
135+
- Fixed entry point detection code
136+
- Fixed recursive error issues
137+
138+
## [v0.4.0] - 2024-11-13
139+
140+
### Fixed
141+
- Fixed issue 67 - symbol table is none
142+
143+
### Changed
144+
- Updated poetry build rules to include codeanalyzer-*.jar
145+
- Added test case to verify jar file exists
146+
147+
## [v0.3.0] - 2024-11-12
148+
149+
### Added
150+
- Support for reading slim JSON from codeanalyzer v1.1.0
151+
- Added more test tools (pylint, flake8, black, pspec, coverage)
152+
- Added test coverage reporting
153+
154+
### Changed
155+
- Updated README.md to include the arXiv paper
156+
- Removed obsolete test cases for unsupported languages
157+
158+
## [v0.2.0] - 2024-10-11
159+
160+
### Added
161+
- Added GitHub Action to publish manual releases
162+
- Added PyPi badge to README.md
163+
164+
## [v0.1.4] - 2024-10-21
165+
166+
### Fixed
167+
- Fixed codeanalyzer.jar not being a PosixPath
168+
169+
## [v0.1.3] - 2024-10-21
170+
171+
### Fixed
172+
- Fixed calling the correct codeanalyzer jar on version 0.1.3
173+
- Removed auto-download of codeanalyzer jar
174+
175+
## [v0.1.2] - 2024-10-17
176+
177+
### Fixed
178+
- Fixed tree-sitter bug
179+
- Defined self.captures explicitly
180+
181+
## [0.1.0-dev] - 2024-10-07
182+
183+
### Added
184+
- Initial development version
185+
- Set version to über json support
186+
- Support for slim JSONs from codeanalyzer
187+
- IBM Copyright added to all source files
188+
- Added code parsing support
189+
- Added support for symbol table call graph
190+
- Added notebook examples for code summarization and test generation
191+
- Basic CLDK framework implementation
192+
193+
### Changed
194+
- Updated dependencies in pyproject.toml
195+
- Added metadata for PyPi distribution
196+
- Updated README with installation instructions
197+
198+
### Fixed
199+
- Fixed caller method implementation
200+
- Fixed incremental analysis support
201+
- Fixed download jar issues
202+
203+
---
204+
205+
## Release Links
206+
207+
- [v1.0.5]: https://github.com/codellm-devkit/python-sdk/releases/tag/v1.0.5
208+
- [v1.0.4]: https://github.com/codellm-devkit/python-sdk/releases/tag/v1.0.4
209+
- [v1.0.3]: https://github.com/codellm-devkit/python-sdk/releases/tag/v1.0.3
210+
- [v1.0.2]: https://github.com/codellm-devkit/python-sdk/releases/tag/v1.0.2
211+
- [v1.0.1]: https://github.com/codellm-devkit/python-sdk/releases/tag/v1.0.1
212+
- [v1.0.0]: https://github.com/codellm-devkit/python-sdk/releases/tag/v1.0.0
213+
- [v0.5.1]: https://github.com/codellm-devkit/python-sdk/releases/tag/v0.5.1
214+
- [v0.5.0]: https://github.com/codellm-devkit/python-sdk/releases/tag/v0.5.0
215+
- [v0.4.0]: https://github.com/codellm-devkit/python-sdk/releases/tag/v0.4.0
216+
- [v0.3.0]: https://github.com/codellm-devkit/python-sdk/releases/tag/v0.3.0
217+
- [v0.2.0]: https://github.com/codellm-devkit/python-sdk/releases/tag/v0.2.0
218+
- [v0.1.4]: https://github.com/codellm-devkit/python-sdk/releases/tag/v0.1.4
219+
- [v0.1.3]: https://github.com/codellm-devkit/python-sdk/releases/tag/v0.1.3
220+
- [v0.1.2]: https://github.com/codellm-devkit/python-sdk/releases/tag/v0.1.2
221+
- [0.1.0-dev]: https://github.com/codellm-devkit/python-sdk/releases/tag/0.1.0-dev

README.md

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
<picture>
2-
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/codellm-devkit/.github/blob/main/profile/assets/cldk-dark.png">
3-
<source media="(prefers-color-scheme: light)" srcset="https://github.com/codellm-devkit/.github/blob/main/profile/assets/cldk-light.png">
4-
<img alt="Logo">
5-
</picture>
1+
<img src="https://github.com/codellm-devkit/.github/blob/main/profile/assets/cldk-dark.png" alt="Logo">
62
<p align='center'></p>
73
<p align='center'></p>
84
<p align='center'></p>
@@ -251,13 +247,3 @@ We invite contributors of all levels of experience! We would love to see you get
251247
1. Krishna, Rahul, Rangeet Pan, Raju Pavuluri, Srikanth Tamilselvam, Maja Vukovic, and Saurabh Sinha. "[Codellm-Devkit: A Framework for Contextualizing Code LLMs with Program Analysis Insights.](https://arxiv.org/pdf/2410.13007)" arXiv preprint arXiv:2410.13007 (2024).
252248
2. Pan, Rangeet, Myeongsoo Kim, Rahul Krishna, Raju Pavuluri, and Saurabh Sinha. "[Multi-language Unit Test Generation using LLMs.](https://arxiv.org/abs/2409.03093)" arXiv preprint arXiv:2409.03093 (2024).
253249
3. Pan, Rangeet, Rahul Krishna, Raju Pavuluri, Saurabh Sinha, and Maja Vukovic., "[Simplify your Code LLM solutions using CodeLLM Dev Kit (CLDK).](https://www.linkedin.com/pulse/simplify-your-code-llm-solutions-using-codellm-dev-kit-rangeet-pan-vnnpe/?trackingId=kZ3U6d8GSDCs8S1oApXZgg%3D%3D)", Blog.
254-
255-
## Star History
256-
257-
<a href="https://www.star-history.com/#codellm-devkit/python-sdk&Timeline">
258-
<picture>
259-
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=codellm-devkit/python-sdk&type=Timeline&theme=dark" />
260-
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=codellm-devkit/python-sdk&type=Timeline" />
261-
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=codellm-devkit/python-sdk&type=Timeline" />
262-
</picture>
263-
</a>

0 commit comments

Comments
 (0)