cocoindex-code 0.2.9__tar.gz → 0.2.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/PKG-INFO +101 -2
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/README.md +99 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/pyproject.toml +1 -1
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/_version.py +2 -2
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/.gitignore +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/LICENSE +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/__init__.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/__main__.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/chunking.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/cli.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/client.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/daemon.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/indexer.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/project.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/protocol.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/query.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/schema.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/server.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/settings.py +0 -0
- {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/shared.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cocoindex-code
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.10
|
|
4
4
|
Summary: MCP server for indexing and querying codebases using CocoIndex
|
|
5
5
|
Project-URL: Homepage, https://github.com/cocoindex-io/cocoindex-code
|
|
6
6
|
Project-URL: Repository, https://github.com/cocoindex-io/cocoindex-code
|
|
@@ -17,7 +17,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
18
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
19
19
|
Requires-Python: >=3.11
|
|
20
|
-
Requires-Dist: cocoindex[litellm]==1.0.
|
|
20
|
+
Requires-Dist: cocoindex[litellm]==1.0.0a38
|
|
21
21
|
Requires-Dist: einops>=0.8.2
|
|
22
22
|
Requires-Dist: mcp>=1.0.0
|
|
23
23
|
Requires-Dist: msgspec>=0.19.0
|
|
@@ -226,6 +226,105 @@ ccc search --refresh database schema # update index first, then
|
|
|
226
226
|
|
|
227
227
|
By default, `ccc search` scopes results to your current working directory (relative to the project root). Use `--path` to override.
|
|
228
228
|
|
|
229
|
+
## Docker
|
|
230
|
+
|
|
231
|
+
A Docker image is available for teams who want a reproducible, dependency-free
|
|
232
|
+
setup — no Python, `uv`, or system dependencies required on the host.
|
|
233
|
+
|
|
234
|
+
The recommended approach is a **persistent container**: start it once, and use
|
|
235
|
+
`docker exec` to run CLI commands or connect MCP sessions to it. The daemon
|
|
236
|
+
inside stays warm across sessions, so the embedding model is loaded only once.
|
|
237
|
+
|
|
238
|
+
### Step 1 — Start the container
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
docker run -d --name cocoindex-code \
|
|
242
|
+
--volume "$(pwd):/workspace" \
|
|
243
|
+
--volume cocoindex-db:/db \
|
|
244
|
+
--volume cocoindex-model-cache:/root/.cache \
|
|
245
|
+
ghcr.io/cocoindex-io/cocoindex-code:latest
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
- `/workspace` — mount your project root here
|
|
249
|
+
- `cocoindex-db` — index databases live inside the container (fast native I/O, no cross-OS volume issues)
|
|
250
|
+
- `cocoindex-model-cache` — persists the embedding model across image upgrades
|
|
251
|
+
|
|
252
|
+
### Step 2 — Index your codebase
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
docker exec -it cocoindex-code ccc index
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Step 3 — Connect your coding agent
|
|
259
|
+
|
|
260
|
+
<details>
|
|
261
|
+
<summary>Claude Code</summary>
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
claude mcp add cocoindex-code -- docker exec -i cocoindex-code ccc mcp
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Or via `.mcp.json`:
|
|
268
|
+
|
|
269
|
+
```json
|
|
270
|
+
{
|
|
271
|
+
"mcpServers": {
|
|
272
|
+
"cocoindex-code": {
|
|
273
|
+
"type": "stdio",
|
|
274
|
+
"command": "docker",
|
|
275
|
+
"args": ["exec", "-i", "cocoindex-code", "ccc", "mcp"]
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
</details>
|
|
281
|
+
|
|
282
|
+
<details>
|
|
283
|
+
<summary>Codex</summary>
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
codex mcp add cocoindex-code -- docker exec -i cocoindex-code ccc mcp
|
|
287
|
+
```
|
|
288
|
+
</details>
|
|
289
|
+
|
|
290
|
+
### CLI usage inside the container
|
|
291
|
+
|
|
292
|
+
All `ccc` commands work via `docker exec`:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
docker exec -it cocoindex-code ccc index
|
|
296
|
+
docker exec -it cocoindex-code ccc search "authentication logic"
|
|
297
|
+
docker exec -it cocoindex-code ccc status
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
Or set an alias on your host so it feels native:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
alias ccc='docker exec -it cocoindex-code ccc'
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Configuration via environment variables
|
|
307
|
+
|
|
308
|
+
Pass configuration to `docker run` with `-e`:
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
# Extra extensions (e.g. Typesafe Config, SBT build files)
|
|
312
|
+
-e COCOINDEX_CODE_EXTRA_EXTENSIONS="conf,sbt"
|
|
313
|
+
|
|
314
|
+
# Exclude build artefacts (Scala/SBT example)
|
|
315
|
+
-e COCOINDEX_CODE_EXCLUDE_PATTERNS='["**/target/**","**/.bloop/**","**/.metals/**"]'
|
|
316
|
+
|
|
317
|
+
# Swap in a code-optimised embedding model
|
|
318
|
+
-e COCOINDEX_CODE_EMBEDDING_MODEL=voyage/voyage-code-3
|
|
319
|
+
-e VOYAGE_API_KEY=your-key
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Build the image locally
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
docker build -t cocoindex-code:local -f docker/Dockerfile .
|
|
326
|
+
```
|
|
327
|
+
|
|
229
328
|
## Features
|
|
230
329
|
- **Semantic Code Search**: Find relevant code using natural language queries when grep doesn't work well, and save tokens immediately.
|
|
231
330
|
- **Ultra Performant**: ⚡ Built on top of ultra performant [Rust indexing engine](https://github.com/cocoindex-io/cocoindex). Only re-indexes changed files for fast updates.
|
|
@@ -187,6 +187,105 @@ ccc search --refresh database schema # update index first, then
|
|
|
187
187
|
|
|
188
188
|
By default, `ccc search` scopes results to your current working directory (relative to the project root). Use `--path` to override.
|
|
189
189
|
|
|
190
|
+
## Docker
|
|
191
|
+
|
|
192
|
+
A Docker image is available for teams who want a reproducible, dependency-free
|
|
193
|
+
setup — no Python, `uv`, or system dependencies required on the host.
|
|
194
|
+
|
|
195
|
+
The recommended approach is a **persistent container**: start it once, and use
|
|
196
|
+
`docker exec` to run CLI commands or connect MCP sessions to it. The daemon
|
|
197
|
+
inside stays warm across sessions, so the embedding model is loaded only once.
|
|
198
|
+
|
|
199
|
+
### Step 1 — Start the container
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
docker run -d --name cocoindex-code \
|
|
203
|
+
--volume "$(pwd):/workspace" \
|
|
204
|
+
--volume cocoindex-db:/db \
|
|
205
|
+
--volume cocoindex-model-cache:/root/.cache \
|
|
206
|
+
ghcr.io/cocoindex-io/cocoindex-code:latest
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
- `/workspace` — mount your project root here
|
|
210
|
+
- `cocoindex-db` — index databases live inside the container (fast native I/O, no cross-OS volume issues)
|
|
211
|
+
- `cocoindex-model-cache` — persists the embedding model across image upgrades
|
|
212
|
+
|
|
213
|
+
### Step 2 — Index your codebase
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
docker exec -it cocoindex-code ccc index
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Step 3 — Connect your coding agent
|
|
220
|
+
|
|
221
|
+
<details>
|
|
222
|
+
<summary>Claude Code</summary>
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
claude mcp add cocoindex-code -- docker exec -i cocoindex-code ccc mcp
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Or via `.mcp.json`:
|
|
229
|
+
|
|
230
|
+
```json
|
|
231
|
+
{
|
|
232
|
+
"mcpServers": {
|
|
233
|
+
"cocoindex-code": {
|
|
234
|
+
"type": "stdio",
|
|
235
|
+
"command": "docker",
|
|
236
|
+
"args": ["exec", "-i", "cocoindex-code", "ccc", "mcp"]
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
```
|
|
241
|
+
</details>
|
|
242
|
+
|
|
243
|
+
<details>
|
|
244
|
+
<summary>Codex</summary>
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
codex mcp add cocoindex-code -- docker exec -i cocoindex-code ccc mcp
|
|
248
|
+
```
|
|
249
|
+
</details>
|
|
250
|
+
|
|
251
|
+
### CLI usage inside the container
|
|
252
|
+
|
|
253
|
+
All `ccc` commands work via `docker exec`:
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
docker exec -it cocoindex-code ccc index
|
|
257
|
+
docker exec -it cocoindex-code ccc search "authentication logic"
|
|
258
|
+
docker exec -it cocoindex-code ccc status
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Or set an alias on your host so it feels native:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
alias ccc='docker exec -it cocoindex-code ccc'
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Configuration via environment variables
|
|
268
|
+
|
|
269
|
+
Pass configuration to `docker run` with `-e`:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# Extra extensions (e.g. Typesafe Config, SBT build files)
|
|
273
|
+
-e COCOINDEX_CODE_EXTRA_EXTENSIONS="conf,sbt"
|
|
274
|
+
|
|
275
|
+
# Exclude build artefacts (Scala/SBT example)
|
|
276
|
+
-e COCOINDEX_CODE_EXCLUDE_PATTERNS='["**/target/**","**/.bloop/**","**/.metals/**"]'
|
|
277
|
+
|
|
278
|
+
# Swap in a code-optimised embedding model
|
|
279
|
+
-e COCOINDEX_CODE_EMBEDDING_MODEL=voyage/voyage-code-3
|
|
280
|
+
-e VOYAGE_API_KEY=your-key
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### Build the image locally
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
docker build -t cocoindex-code:local -f docker/Dockerfile .
|
|
287
|
+
```
|
|
288
|
+
|
|
190
289
|
## Features
|
|
191
290
|
- **Semantic Code Search**: Find relevant code using natural language queries when grep doesn't work well, and save tokens immediately.
|
|
192
291
|
- **Ultra Performant**: ⚡ Built on top of ultra performant [Rust indexing engine](https://github.com/cocoindex-io/cocoindex). Only re-indexes changed files for fast updates.
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.2.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 2,
|
|
31
|
+
__version__ = version = '0.2.10'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 2, 10)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|