codingest 0.2.0__tar.gz → 0.2.2__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 (85) hide show
  1. {codingest-0.2.0 → codingest-0.2.2}/Cargo.lock +8 -8
  2. {codingest-0.2.0 → codingest-0.2.2}/Cargo.toml +8 -5
  3. {codingest-0.2.0 → codingest-0.2.2}/PKG-INFO +5 -5
  4. {codingest-0.2.0 → codingest-0.2.2}/README.md +3 -3
  5. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/Cargo.toml +1 -1
  6. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/Cargo.toml +1 -1
  7. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-mcp/Cargo.toml +1 -1
  8. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-py/Cargo.toml +3 -3
  9. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-py/src/lib.rs +1 -1
  10. {codingest-0.2.0 → codingest-0.2.2}/pyproject.toml +2 -2
  11. {codingest-0.2.0 → codingest-0.2.2}/LICENSE +0 -0
  12. {codingest-0.2.0 → codingest-0.2.2}/codingest/__init__.py +0 -0
  13. {codingest-0.2.0 → codingest-0.2.2}/codingest/__init__.pyi +0 -0
  14. {codingest-0.2.0 → codingest-0.2.2}/codingest/cli.py +0 -0
  15. {codingest-0.2.0 → codingest-0.2.2}/codingest/mcp_server.py +0 -0
  16. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/bin/codingest_bench.rs +0 -0
  17. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/bin/codingest_stats.rs +0 -0
  18. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/call_edges.rs +0 -0
  19. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/js_workspace.rs +0 -0
  20. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/load/edge_frames.rs +0 -0
  21. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/load/entity_frames.rs +0 -0
  22. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/load.rs +0 -0
  23. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/mod.rs +0 -0
  24. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/other_edges.rs +0 -0
  25. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/routes/django.rs +0 -0
  26. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/routes/fastapi.rs +0 -0
  27. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/routes/flask.rs +0 -0
  28. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/routes/mod.rs +0 -0
  29. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/semantic_edges.rs +0 -0
  30. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/builder/type_edges.rs +0 -0
  31. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/cross_lang.rs +0 -0
  32. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/docs/mod.rs +0 -0
  33. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/docs/rst.rs +0 -0
  34. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/lib.rs +0 -0
  35. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/manifest/mod.rs +0 -0
  36. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/models.rs +0 -0
  37. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/agc.rs +0 -0
  38. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/cpp.rs +0 -0
  39. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/csharp.rs +0 -0
  40. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/css.rs +0 -0
  41. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/dart.rs +0 -0
  42. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/go.rs +0 -0
  43. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/html.rs +0 -0
  44. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/java.rs +0 -0
  45. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/mod.rs +0 -0
  46. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/php.rs +0 -0
  47. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/python.rs +0 -0
  48. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/registry.rs +0 -0
  49. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/rust_lang.rs +0 -0
  50. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/shared.rs +0 -0
  51. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/swift.rs +0 -0
  52. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/parsers/typescript.rs +0 -0
  53. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/repo.rs +0 -0
  54. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/src/rev.rs +0 -0
  55. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/agc_apollo.rs +0 -0
  56. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/README.md +0 -0
  57. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/agc_basic.sha256 +0 -0
  58. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/cross_ts_py.sha256 +0 -0
  59. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/docs_ext_collide.sha256 +0 -0
  60. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/docs_mdx.sha256 +0 -0
  61. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/dup_minified_assets.sha256 +0 -0
  62. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/html_js_lang_group.sha256 +0 -0
  63. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/py_basic.sha256 +0 -0
  64. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/py_inheritance.sha256 +0 -0
  65. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/py_nested_defs.sha256 +0 -0
  66. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/py_routes_dup.sha256 +0 -0
  67. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/rust_xfile.sha256 +0 -0
  68. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/ts_callback.sha256 +0 -0
  69. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/ts_closure_scope.sha256 +0 -0
  70. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/ts_hof_binding.sha256 +0 -0
  71. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/goldens/ts_monorepo.sha256 +0 -0
  72. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest/tests/parity.rs +0 -0
  73. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/skills/codingest-code-review/SKILL.md +0 -0
  74. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/skills/codingest-code-review/references/mcp-upgrade.md +0 -0
  75. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/skills/codingest-code-review/references/public-repositories.md +0 -0
  76. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/skills/codingest-code-review/references/queries.md +0 -0
  77. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/src/code_tree_cli.rs +0 -0
  78. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/src/lib.rs +0 -0
  79. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/src/main.rs +0 -0
  80. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/src/query.rs +0 -0
  81. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/src/skill.rs +0 -0
  82. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/src/skill_assets.rs +0 -0
  83. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-cli/tests/exit_codes.rs +0 -0
  84. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-mcp/src/lib.rs +0 -0
  85. {codingest-0.2.0 → codingest-0.2.2}/crates/codingest-mcp/src/main.rs +0 -0
@@ -308,7 +308,7 @@ dependencies = [
308
308
 
309
309
  [[package]]
310
310
  name = "codingest"
311
- version = "0.2.0"
311
+ version = "0.2.2"
312
312
  dependencies = [
313
313
  "aho-corasick",
314
314
  "base64 0.22.1",
@@ -340,7 +340,7 @@ dependencies = [
340
340
 
341
341
  [[package]]
342
342
  name = "codingest-cli"
343
- version = "0.2.0"
343
+ version = "0.2.2"
344
344
  dependencies = [
345
345
  "anyhow",
346
346
  "clap",
@@ -352,7 +352,7 @@ dependencies = [
352
352
 
353
353
  [[package]]
354
354
  name = "codingest-mcp"
355
- version = "0.2.0"
355
+ version = "0.2.2"
356
356
  dependencies = [
357
357
  "anyhow",
358
358
  "codingest",
@@ -361,7 +361,7 @@ dependencies = [
361
361
 
362
362
  [[package]]
363
363
  name = "codingest-py"
364
- version = "0.2.0"
364
+ version = "0.2.2"
365
365
  dependencies = [
366
366
  "codingest",
367
367
  "codingest-cli",
@@ -1388,9 +1388,9 @@ dependencies = [
1388
1388
 
1389
1389
  [[package]]
1390
1390
  name = "kglite"
1391
- version = "0.15.11"
1391
+ version = "0.15.13"
1392
1392
  source = "registry+https://github.com/rust-lang/crates.io-index"
1393
- checksum = "ab3210d1c2855536403c7e86725fe673ed4fce3b950bef81832324523b5d0357"
1393
+ checksum = "30cb58ba44e467d5f0892ad1d2ccb70747b0b72c9e6264d3516fd179eb4e7d7c"
1394
1394
  dependencies = [
1395
1395
  "bzip2",
1396
1396
  "chrono",
@@ -1423,9 +1423,9 @@ dependencies = [
1423
1423
 
1424
1424
  [[package]]
1425
1425
  name = "kglite-mcp-server"
1426
- version = "0.15.11"
1426
+ version = "0.15.13"
1427
1427
  source = "registry+https://github.com/rust-lang/crates.io-index"
1428
- checksum = "920fed2716305e6be2663153782183c150330b643c06bf349dfaaf764fef54fe"
1428
+ checksum = "7a5d069a5d728179b2b5e7045caa3e0e4ad1d81e6220d33d7b7de8d32b988334"
1429
1429
  dependencies = [
1430
1430
  "anyhow",
1431
1431
  "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.2.0"
6
+ version = "0.2.2"
7
7
  edition = "2021"
8
8
  rust-version = "1.88"
9
9
  license = "MIT"
@@ -12,8 +12,11 @@ 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.11
16
- # floor brings three things, only one of which changes what we run:
15
+ # kglite engine + MCP server — imported as crates.io libraries. The 0.15.13
16
+ # floor adds 0.15.13's planner fix for joins filtered on a type's title/id field
17
+ # (anchored traversals 5.7-327x faster here; see BENCHMARKS.md 0.2.1) on top of
18
+ # the 0.15.11 floor, which brought three things, only one of which changed what
19
+ # we run:
17
20
  # * 0.15.10's `add_connections` resolves its edge-property columns once per
18
21
  # call instead of once per cell — upstream measured 66.7ms -> 30.4ms
19
22
  # (-54%) on 60k edges x 10 property columns. That is exactly the shape of
@@ -66,8 +69,8 @@ sha2 = "0.11"
66
69
  # and no disk storage. Neither 0.15.7 nor 0.15.8 changes the `kglite::api` we
67
70
  # call, graph output, property encoding, or `.kgl` serialization.
68
71
  # Keep both libraries aligned so the graph and server share one engine release.
69
- kglite = { version = "0.15.11", default-features = false }
70
- kglite-mcp-server = { version = "0.15.11", default-features = false }
72
+ kglite = { version = "0.15.13", default-features = false }
73
+ kglite-mcp-server = { version = "0.15.13", default-features = false }
71
74
 
72
75
  # Mirror KGLite's release codegen so the standalone builder has
73
76
  # 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.2.0
3
+ Version: 0.2.2
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.11,<0.16
15
+ Requires-Dist: kglite>=0.15.13,<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
@@ -191,7 +191,7 @@ codingest skill install # code-review Agent Skill
191
191
  ```
192
192
 
193
193
  The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
194
- commands. KGLite ≥0.15.11 is installed automatically as the query/storage
194
+ commands. KGLite ≥0.15.13 is installed automatically as the query/storage
195
195
  engine; its MCP server and the transitive `mcp-methods` framework power the
196
196
  builder-aware Codingest server. Nothing else needs to be installed.
197
197
 
@@ -204,7 +204,7 @@ Python prerequisites.
204
204
  ```toml
205
205
  [dependencies]
206
206
  codingest = "0.1"
207
- kglite = "0.15.11"
207
+ kglite = "0.15.13"
208
208
  ```
209
209
 
210
210
  ```rust
@@ -276,7 +276,7 @@ diagnostic.
276
276
  ## Dependency policy
277
277
 
278
278
  `kglite` and `kglite-mcp-server` use matching crates.io requirements with a
279
- 0.15.11 minimum and a shared lockfile. This keeps the builder, persistence
279
+ 0.15.13 minimum and a shared lockfile. This keeps the builder, persistence
280
280
  handoff, and embedded MCP server on one compatible engine patch line.
281
281
 
282
282
  ## Parity with the (now-removed) in-tree component
@@ -164,7 +164,7 @@ codingest skill install # code-review Agent Skill
164
164
  ```
165
165
 
166
166
  The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
167
- commands. KGLite ≥0.15.11 is installed automatically as the query/storage
167
+ commands. KGLite ≥0.15.13 is installed automatically as the query/storage
168
168
  engine; its MCP server and the transitive `mcp-methods` framework power the
169
169
  builder-aware Codingest server. Nothing else needs to be installed.
170
170
 
@@ -177,7 +177,7 @@ Python prerequisites.
177
177
  ```toml
178
178
  [dependencies]
179
179
  codingest = "0.1"
180
- kglite = "0.15.11"
180
+ kglite = "0.15.13"
181
181
  ```
182
182
 
183
183
  ```rust
@@ -249,7 +249,7 @@ diagnostic.
249
249
  ## Dependency policy
250
250
 
251
251
  `kglite` and `kglite-mcp-server` use matching crates.io requirements with a
252
- 0.15.11 minimum and a shared lockfile. This keeps the builder, persistence
252
+ 0.15.13 minimum and a shared lockfile. This keeps the builder, persistence
253
253
  handoff, and embedded MCP server on one compatible engine patch line.
254
254
 
255
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.11).
13
+ # workspace pins the current 0.15 patch floor (0.15.13).
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.2.0", path = "../codingest" }
17
+ codingest = { version = "0.2.2", path = "../codingest" }
18
18
  kglite = { workspace = true }
19
19
  anyhow = "1.0.104"
20
20
  clap = { version = "4.6.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.2.0", path = "../codingest" }
17
+ codingest = { version = "0.2.2", path = "../codingest" }
18
18
  kglite-mcp-server = { workspace = true }
19
19
  anyhow = "1.0.104"
@@ -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.2.0", path = "../codingest", default-features = false }
45
+ codingest = { version = "0.2.2", 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.27.0"
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.2.0", path = "../codingest-cli" }
56
+ codingest-cli = { version = "0.2.2", 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.2.0", path = "../codingest-mcp" }
61
+ codingest-mcp = { version = "0.2.2", 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.11`."
70
+ `kglite` failed ({e}). Install it: `pip install kglite>=0.15.13`."
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.11"` == `>=0.15.11,<0.16.0`) exactly — bump both together.
45
+ # (`version = "0.15.13"` == `>=0.15.13,<0.16.0`) exactly — bump both together.
46
46
  dependencies = [
47
- "kglite>=0.15.11,<0.16",
47
+ "kglite>=0.15.13,<0.16",
48
48
  ]
49
49
 
50
50
  [project.urls]
File without changes
File without changes