CodeKite Code Intelligence Toolkit
codekite is a modular, production-grade Python toolkit for codebase mapping, symbol extraction, code search, and building LLM-powered developer tools, agents, and workflows.
Use codekite to build things like code reviewers, code generators, even IDEs, all enriched with the right code context.
Quick Installation
Install from PyPI
# Installation (includes all features)
uv tool install codekite
Install from Source
git clone https://github.com/shaneholloman/codekite.git
cd codekite
uv sync
uv pip install -e .
Basic Usage
from codekite import Repository
# Load a local repository
repo = Repository("/path/to/your/local/codebase")
# Load a remote public GitHub repo
# repo = Repository("https://github.com/owner/repo")
# Explore the repo
print(repo.get_file_tree())
# Output: [{"path": "src/main.py", "is_dir": False, ...}, ...]
print(repo.extract_symbols('src/main.py'))
# Output: [{"name": "main", "type": "function", "file": "src/main.py", ...}, ...]
Key Features & Capabilities
codekite helps your apps and agents deeply understand and interact with codebases, providing the core components to build your own AI-powered developer tools. Here are just a few of the things you can do:
-
Explore Code Structure:
- Get a bird's-eye view with
repo.get_file_tree()to list all files and directories. - Dive into specifics with
repo.extract_symbols()to identify all functions, classes, and other code constructs, either across the entire repository or within a single file.
- Get a bird's-eye view with
-
Pinpoint Information:
- Perform precise textual or regular expression searches across your codebase using
repo.search_text(). - Track down every definition and reference of a specific symbol (like a function or class) with
repo.find_symbol_usages().
- Perform precise textual or regular expression searches across your codebase using
-
Prepare Code for LLMs & Analysis:
- Break down large files into manageable pieces for LLM context windows using
repo.chunk_file_by_lines()orrepo.chunk_file_by_symbols(). - Instantly grab the full definition of a function or class just by knowing a line number within it using
repo.extract_context_around_line().
- Break down large files into manageable pieces for LLM context windows using
-
Generate Code Summaries (Alpha):
- Leverage LLMs to create natural language summaries for files, functions, or classes using the
Summarizer(e.g.,summarizer.summarize_file(),summarizer.summarize_function()). - Build a searchable semantic index of these AI-generated docstrings with
DocstringIndexerand query it withSummarySearcherto find code based on intent and meaning.
- Leverage LLMs to create natural language summaries for files, functions, or classes using the
-
And much more...
codekitealso offers capabilities for semantic search on raw code, building custom context for LLMs, and more.
License
MIT License
Metadata
Release files for codekite 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| codekite-0.1.7.tar.gz | 56.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| codekite-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.0 kB
Release files / codekite-0.1.7.tar.gz
| Download URL | codekite-0.1.7.tar.gz |
|---|---|
| Size | 56.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b6392b69b29ac7b3d280f2920d2c1b725b3bd0a81b2c54185a51101b3e7cecb2
|
|
BLAKE2b-256 checksum How to use checksums |
3ad762d5ba3658cf99de0db1fbbf1b93ca23210735c2ae53650dab7cf08b097e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.2
|
Release files / codekite-0.1.7-py3-none-any.whl
| Download URL | codekite-0.1.7-py3-none-any.whl |
|---|---|
| Size | 40.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
56ef436cbbad70ac40c3f9e32911290bd53910547c461f8e8a57214cf9c0dd7f
|
|
BLAKE2b-256 checksum How to use checksums |
1e61dd27a8c1c8238286939caf071d35c1a7ff308386ca555de2984aec2f2015
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.2
|