codingest 0.1.6__tar.gz → 0.1.7__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 (82) hide show
  1. {codingest-0.1.6 → codingest-0.1.7}/Cargo.lock +8 -8
  2. {codingest-0.1.6 → codingest-0.1.7}/Cargo.toml +9 -5
  3. {codingest-0.1.6 → codingest-0.1.7}/PKG-INFO +9 -5
  4. {codingest-0.1.6 → codingest-0.1.7}/README.md +7 -3
  5. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/Cargo.toml +1 -1
  6. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/Cargo.toml +1 -1
  7. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-mcp/Cargo.toml +1 -1
  8. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-py/Cargo.toml +3 -3
  9. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-py/src/lib.rs +1 -1
  10. {codingest-0.1.6 → codingest-0.1.7}/pyproject.toml +2 -2
  11. {codingest-0.1.6 → codingest-0.1.7}/LICENSE +0 -0
  12. {codingest-0.1.6 → codingest-0.1.7}/codingest/__init__.py +0 -0
  13. {codingest-0.1.6 → codingest-0.1.7}/codingest/__init__.pyi +0 -0
  14. {codingest-0.1.6 → codingest-0.1.7}/codingest/cli.py +0 -0
  15. {codingest-0.1.6 → codingest-0.1.7}/codingest/mcp_server.py +0 -0
  16. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/bin/codingest_bench.rs +0 -0
  17. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/bin/codingest_stats.rs +0 -0
  18. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/call_edges.rs +0 -0
  19. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/js_workspace.rs +0 -0
  20. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/load/edge_frames.rs +0 -0
  21. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/load/entity_frames.rs +0 -0
  22. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/load.rs +0 -0
  23. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/mod.rs +0 -0
  24. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/other_edges.rs +0 -0
  25. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/routes/django.rs +0 -0
  26. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/routes/fastapi.rs +0 -0
  27. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/routes/flask.rs +0 -0
  28. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/routes/mod.rs +0 -0
  29. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/semantic_edges.rs +0 -0
  30. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/builder/type_edges.rs +0 -0
  31. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/cross_lang.rs +0 -0
  32. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/docs/mod.rs +0 -0
  33. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/docs/rst.rs +0 -0
  34. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/lib.rs +0 -0
  35. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/manifest/mod.rs +0 -0
  36. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/models.rs +0 -0
  37. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/agc.rs +0 -0
  38. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/cpp.rs +0 -0
  39. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/csharp.rs +0 -0
  40. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/css.rs +0 -0
  41. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/dart.rs +0 -0
  42. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/go.rs +0 -0
  43. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/html.rs +0 -0
  44. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/java.rs +0 -0
  45. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/mod.rs +0 -0
  46. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/php.rs +0 -0
  47. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/python.rs +0 -0
  48. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/registry.rs +0 -0
  49. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/rust_lang.rs +0 -0
  50. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/shared.rs +0 -0
  51. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/swift.rs +0 -0
  52. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/parsers/typescript.rs +0 -0
  53. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/repo.rs +0 -0
  54. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/src/rev.rs +0 -0
  55. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/agc_apollo.rs +0 -0
  56. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/README.md +0 -0
  57. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/agc_basic.sha256 +0 -0
  58. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/cross_ts_py.sha256 +0 -0
  59. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/docs_mdx.sha256 +0 -0
  60. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/dup_minified_assets.sha256 +0 -0
  61. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/py_basic.sha256 +0 -0
  62. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/py_inheritance.sha256 +0 -0
  63. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/py_nested_defs.sha256 +0 -0
  64. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/rust_xfile.sha256 +0 -0
  65. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/ts_callback.sha256 +0 -0
  66. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/ts_closure_scope.sha256 +0 -0
  67. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/ts_hof_binding.sha256 +0 -0
  68. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/goldens/ts_monorepo.sha256 +0 -0
  69. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest/tests/parity.rs +0 -0
  70. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/skills/codingest-code-review/SKILL.md +0 -0
  71. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/skills/codingest-code-review/references/mcp-upgrade.md +0 -0
  72. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/skills/codingest-code-review/references/public-repositories.md +0 -0
  73. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/skills/codingest-code-review/references/queries.md +0 -0
  74. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/src/code_tree_cli.rs +0 -0
  75. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/src/lib.rs +0 -0
  76. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/src/main.rs +0 -0
  77. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/src/query.rs +0 -0
  78. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/src/skill.rs +0 -0
  79. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/src/skill_assets.rs +0 -0
  80. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-cli/tests/exit_codes.rs +0 -0
  81. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-mcp/src/lib.rs +0 -0
  82. {codingest-0.1.6 → codingest-0.1.7}/crates/codingest-mcp/src/main.rs +0 -0
@@ -313,7 +313,7 @@ dependencies = [
313
313
 
314
314
  [[package]]
315
315
  name = "codingest"
316
- version = "0.1.6"
316
+ version = "0.1.7"
317
317
  dependencies = [
318
318
  "aho-corasick",
319
319
  "base64",
@@ -345,7 +345,7 @@ dependencies = [
345
345
 
346
346
  [[package]]
347
347
  name = "codingest-cli"
348
- version = "0.1.6"
348
+ version = "0.1.7"
349
349
  dependencies = [
350
350
  "anyhow",
351
351
  "clap",
@@ -357,7 +357,7 @@ dependencies = [
357
357
 
358
358
  [[package]]
359
359
  name = "codingest-mcp"
360
- version = "0.1.6"
360
+ version = "0.1.7"
361
361
  dependencies = [
362
362
  "anyhow",
363
363
  "codingest",
@@ -366,7 +366,7 @@ dependencies = [
366
366
 
367
367
  [[package]]
368
368
  name = "codingest-py"
369
- version = "0.1.6"
369
+ version = "0.1.7"
370
370
  dependencies = [
371
371
  "codingest",
372
372
  "codingest-cli",
@@ -1393,9 +1393,9 @@ dependencies = [
1393
1393
 
1394
1394
  [[package]]
1395
1395
  name = "kglite"
1396
- version = "0.15.5"
1396
+ version = "0.15.6"
1397
1397
  source = "registry+https://github.com/rust-lang/crates.io-index"
1398
- checksum = "4664fc457e5dd762f5775977f06eb5377634556fffae45e4a86e2eb1e1eb0bfb"
1398
+ checksum = "a8cf3016156af6dafbc1041fa443e94002686b6deeee0fea38f9b712c50c96f8"
1399
1399
  dependencies = [
1400
1400
  "bzip2",
1401
1401
  "chrono",
@@ -1428,9 +1428,9 @@ dependencies = [
1428
1428
 
1429
1429
  [[package]]
1430
1430
  name = "kglite-mcp-server"
1431
- version = "0.15.5"
1431
+ version = "0.15.6"
1432
1432
  source = "registry+https://github.com/rust-lang/crates.io-index"
1433
- checksum = "e5e5d2207a45eb77c90e60a772bc8cc60ceac3d7c6f3ad2b948e8079355e1df4"
1433
+ checksum = "afaf8e38626f3991d7d7fca93df9230ec7160af894e855bc5cbe49e6c0342ab3"
1434
1434
  dependencies = [
1435
1435
  "anyhow",
1436
1436
  "bytes",
@@ -3,7 +3,7 @@ members = ["crates/codingest", "crates/codingest-cli", "crates/codingest-mcp", "
3
3
  resolver = "2"
4
4
 
5
5
  [workspace.package]
6
- version = "0.1.6"
6
+ version = "0.1.7"
7
7
  edition = "2021"
8
8
  rust-version = "1.88"
9
9
  license = "MIT"
@@ -12,8 +12,12 @@ repository = "https://github.com/kkollsga/codingest"
12
12
  [workspace.dependencies]
13
13
  base64 = "0.22"
14
14
  sha2 = "0.11"
15
- # kglite engine + MCP server — imported as crates.io libraries. The 0.15.5
16
- # floor adds the two workspace controls codingest asked upstream for:
15
+ # kglite engine + MCP server — imported as crates.io libraries. The 0.15.6
16
+ # floor fixes mixed-selection vector dispatch, mixed-metric exact search,
17
+ # community-detection modularity scoring, sampled-centrality validation, and
18
+ # persisted HNSW validation, while adding the bulk node-degree primitive and
19
+ # graph-algorithm/vector-search performance improvements. It builds on the two
20
+ # workspace controls codingest asked upstream for in 0.15.5:
17
21
  # `workspace.sandbox_root`, a real containment boundary that confines
18
22
  # `set_root_dir` to a subtree instead of trusting the caller's path, and
19
23
  # `workspace.adopt_client_roots`. Both land on top of the generic
@@ -25,8 +29,8 @@ sha2 = "0.11"
25
29
  # and no disk storage. Neither patch changes `kglite::api`, graph output,
26
30
  # property encoding, or `.kgl` serialization.
27
31
  # Keep both libraries aligned so the graph and server share one engine release.
28
- kglite = { version = "0.15.5", default-features = false }
29
- kglite-mcp-server = { version = "0.15.5", default-features = false }
32
+ kglite = { version = "0.15.6", default-features = false }
33
+ kglite-mcp-server = { version = "0.15.6", default-features = false }
30
34
 
31
35
  # Mirror KGLite's release codegen so the standalone builder has
32
36
  # performance parity with the in-tree component (see KGLite
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codingest
3
- Version: 0.1.6
3
+ Version: 0.1.7
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Programming Language :: Python :: 3
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.14
12
12
  Classifier: Programming Language :: Rust
13
13
  Classifier: Topic :: Software Development
14
14
  Classifier: Topic :: Software Development :: Libraries
15
- Requires-Dist: kglite>=0.15.5,<0.16
15
+ Requires-Dist: kglite>=0.15.6,<0.16
16
16
  License-File: LICENSE
17
17
  Summary: Build fast, queryable code graphs for AI agents, MCP code review, and local or GitHub repository analysis.
18
18
  Keywords: ai-agents,mcp,code-review,knowledge-graph,code-analysis,github,tree-sitter,cypher
@@ -60,6 +60,10 @@ a real `kglite.KnowledgeGraph`, ready for Cypher queries.
60
60
 
61
61
  - **Agent-ready MCP:** give an MCP client `graph_overview`, `cypher_query`,
62
62
  `read_code_source`, repository switching, and automatic graph refresh.
63
+ [opencode is set up and verified end to end](https://codingest.readthedocs.io/en/latest/mcp.html#using-codingest-mcp-with-opencode)
64
+ — including a config that needs no absolute paths — and `codingest skill
65
+ install` packages the review skill for Claude Code and Codex, which opencode
66
+ also discovers with no extra step.
63
67
  - **Fast local review:** map definitions, callers, dependencies, routes,
64
68
  inheritance, and affected tests without uploading or executing the project.
65
69
  - **Open-source intelligence:** clone and analyse a GitHub repository with one
@@ -187,7 +191,7 @@ codingest skill install # code-review Agent Skill
187
191
  ```
188
192
 
189
193
  The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
190
- commands. KGLite ≥0.15.5 is installed automatically as the query/storage
194
+ commands. KGLite ≥0.15.6 is installed automatically as the query/storage
191
195
  engine; its MCP server and the transitive `mcp-methods` framework power the
192
196
  builder-aware Codingest server. Nothing else needs to be installed.
193
197
 
@@ -200,7 +204,7 @@ Python prerequisites.
200
204
  ```toml
201
205
  [dependencies]
202
206
  codingest = "0.1"
203
- kglite = "0.15.5"
207
+ kglite = "0.15.6"
204
208
  ```
205
209
 
206
210
  ```rust
@@ -272,7 +276,7 @@ diagnostic.
272
276
  ## Dependency policy
273
277
 
274
278
  `kglite` and `kglite-mcp-server` use matching crates.io requirements with a
275
- 0.15.5 minimum and a shared lockfile. This keeps the builder, persistence
279
+ 0.15.6 minimum and a shared lockfile. This keeps the builder, persistence
276
280
  handoff, and embedded MCP server on one compatible engine patch line.
277
281
 
278
282
  ## Parity with the (now-removed) in-tree component
@@ -33,6 +33,10 @@ a real `kglite.KnowledgeGraph`, ready for Cypher queries.
33
33
 
34
34
  - **Agent-ready MCP:** give an MCP client `graph_overview`, `cypher_query`,
35
35
  `read_code_source`, repository switching, and automatic graph refresh.
36
+ [opencode is set up and verified end to end](https://codingest.readthedocs.io/en/latest/mcp.html#using-codingest-mcp-with-opencode)
37
+ — including a config that needs no absolute paths — and `codingest skill
38
+ install` packages the review skill for Claude Code and Codex, which opencode
39
+ also discovers with no extra step.
36
40
  - **Fast local review:** map definitions, callers, dependencies, routes,
37
41
  inheritance, and affected tests without uploading or executing the project.
38
42
  - **Open-source intelligence:** clone and analyse a GitHub repository with one
@@ -160,7 +164,7 @@ codingest skill install # code-review Agent Skill
160
164
  ```
161
165
 
162
166
  The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
163
- commands. KGLite ≥0.15.5 is installed automatically as the query/storage
167
+ commands. KGLite ≥0.15.6 is installed automatically as the query/storage
164
168
  engine; its MCP server and the transitive `mcp-methods` framework power the
165
169
  builder-aware Codingest server. Nothing else needs to be installed.
166
170
 
@@ -173,7 +177,7 @@ Python prerequisites.
173
177
  ```toml
174
178
  [dependencies]
175
179
  codingest = "0.1"
176
- kglite = "0.15.5"
180
+ kglite = "0.15.6"
177
181
  ```
178
182
 
179
183
  ```rust
@@ -245,7 +249,7 @@ diagnostic.
245
249
  ## Dependency policy
246
250
 
247
251
  `kglite` and `kglite-mcp-server` use matching crates.io requirements with a
248
- 0.15.5 minimum and a shared lockfile. This keeps the builder, persistence
252
+ 0.15.6 minimum and a shared lockfile. This keeps the builder, persistence
249
253
  handoff, and embedded MCP server on one compatible engine patch line.
250
254
 
251
255
  ## Parity with the (now-removed) in-tree component
@@ -10,7 +10,7 @@ keywords = ["knowledge-graph", "code-analysis", "tree-sitter", "cypher", "kglite
10
10
  categories = ["development-tools", "parser-implementations"]
11
11
 
12
12
  # Requires the kglite 0.15 engine API (`kglite::api::code_entities`); the
13
- # workspace pins the current 0.15 patch floor (0.15.5).
13
+ # workspace pins the current 0.15 patch floor (0.15.6).
14
14
 
15
15
  [lib]
16
16
  name = "codingest"
@@ -14,7 +14,7 @@ name = "codingest"
14
14
  path = "src/main.rs"
15
15
 
16
16
  [dependencies]
17
- codingest = { version = "0.1.6", path = "../codingest" }
17
+ codingest = { version = "0.1.7", path = "../codingest" }
18
18
  kglite = { workspace = true }
19
19
  anyhow = "1"
20
20
  clap = { version = "4", features = ["derive"] }
@@ -14,6 +14,6 @@ name = "codingest-mcp"
14
14
  path = "src/main.rs"
15
15
 
16
16
  [dependencies]
17
- codingest = { version = "0.1.6", path = "../codingest" }
17
+ codingest = { version = "0.1.7", path = "../codingest" }
18
18
  kglite-mcp-server = { workspace = true }
19
19
  anyhow = "1"
@@ -42,7 +42,7 @@ doctest = false
42
42
  pyo3 = { version = "0.29" }
43
43
  # The engine-free builder (parsers, call/type/route edges, rev merge, repo
44
44
  # clone, manifest reader). Docs pass gated by this crate's `docs` feature.
45
- codingest = { version = "0.1.6", path = "../codingest", default-features = false }
45
+ codingest = { version = "0.1.7", path = "../codingest", default-features = false }
46
46
  # `.kgl` persistence (`kglite::api::io::save_graph`) for the serialize half of
47
47
  # the build-then-load handoff, plus the `DirGraph` type the builder returns.
48
48
  kglite = { workspace = true }
@@ -53,9 +53,9 @@ tempfile = "3"
53
53
  # through `_run_cli`, so `pip install codingest` also installs the `codingest`
54
54
  # command without a second wheel or a duplicated builder build. Mirrors
55
55
  # kglite-py's `kglite-cli` bundling.
56
- codingest-cli = { version = "0.1.6", path = "../codingest-cli" }
56
+ codingest-cli = { version = "0.1.7", path = "../codingest-cli" }
57
57
  # Source-building MCP composition. The graph server and generic MCP lifecycle
58
58
  # remain owned by its existing kglite-mcp-server -> mcp-methods Rust dependency
59
59
  # chain; linking this thin library into the extension gives pip users the same
60
60
  # builder-aware server as the standalone `codingest-mcp` binary.
61
- codingest-mcp = { version = "0.1.6", path = "../codingest-mcp" }
61
+ codingest-mcp = { version = "0.1.7", path = "../codingest-mcp" }
@@ -67,7 +67,7 @@ fn load_via_kglite(py: Python<'_>, path: &Path) -> PyResult<Py<PyAny>> {
67
67
  let kglite = py.import("kglite").map_err(|e| {
68
68
  PyRuntimeError::new_err(format!(
69
69
  "codingest.build() returns a kglite.KnowledgeGraph, but importing \
70
- `kglite` failed ({e}). Install it: `pip install kglite>=0.15.5`."
70
+ `kglite` failed ({e}). Install it: `pip install kglite>=0.15.6`."
71
71
  ))
72
72
  })?;
73
73
  let graph = kglite.call_method1("load", (path.to_string_lossy().as_ref(),))?;
@@ -42,9 +42,9 @@ dynamic = ["version"]
42
42
  # minor releases (e.g. the v3->v4 break, which refuses old files outright), so
43
43
  # pip must never be free to pair our writer with a reader from a different
44
44
  # minor. This range therefore mirrors the Cargo semver range for the pin above
45
- # (`version = "0.15.5"` == `>=0.15.5,<0.16.0`) exactly — bump both together.
45
+ # (`version = "0.15.6"` == `>=0.15.6,<0.16.0`) exactly — bump both together.
46
46
  dependencies = [
47
- "kglite>=0.15.5,<0.16",
47
+ "kglite>=0.15.6,<0.16",
48
48
  ]
49
49
 
50
50
  [project.urls]
File without changes
File without changes