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.
Files changed (20) hide show
  1. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/PKG-INFO +101 -2
  2. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/README.md +99 -0
  3. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/pyproject.toml +1 -1
  4. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/_version.py +2 -2
  5. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/.gitignore +0 -0
  6. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/LICENSE +0 -0
  7. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/__init__.py +0 -0
  8. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/__main__.py +0 -0
  9. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/chunking.py +0 -0
  10. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/cli.py +0 -0
  11. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/client.py +0 -0
  12. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/daemon.py +0 -0
  13. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/indexer.py +0 -0
  14. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/project.py +0 -0
  15. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/protocol.py +0 -0
  16. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/query.py +0 -0
  17. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/schema.py +0 -0
  18. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/server.py +0 -0
  19. {cocoindex_code-0.2.9 → cocoindex_code-0.2.10}/src/cocoindex_code/settings.py +0 -0
  20. {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.9
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.0a37
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.
@@ -23,7 +23,7 @@ classifiers = [
23
23
 
24
24
  dependencies = [
25
25
  "mcp>=1.0.0",
26
- "cocoindex[litellm]==1.0.0a37",
26
+ "cocoindex[litellm]==1.0.0a38",
27
27
  "sentence-transformers>=2.2.0",
28
28
  "sqlite-vec>=0.1.0",
29
29
  "pydantic>=2.0.0",
@@ -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.9'
32
- __version_tuple__ = version_tuple = (0, 2, 9)
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