descry-codegraph 0.2.0__tar.gz → 0.3.1__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 (168) hide show
  1. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/.github/workflows/ci.yml +4 -9
  2. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/.github/workflows/release.yml +10 -10
  3. descry_codegraph-0.3.1/CHANGELOG.md +778 -0
  4. descry_codegraph-0.3.1/CLAUDE.md +82 -0
  5. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/PKG-INFO +155 -42
  6. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/README.md +137 -24
  7. descry_codegraph-0.3.1/THIRD-PARTY-NOTICES.md +23 -0
  8. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/claude-skill/descry/SKILL.md +2 -1
  9. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/claude-skill/descry/references/cli-reference.md +7 -6
  10. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/claude-skill/descry/references/mcp-tools.md +6 -5
  11. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/claude-skill/descry/references/recipes.md +3 -1
  12. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/justfile +2 -2
  13. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/pi-extension/README.md +1 -0
  14. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/pi-extension/descry-cli.py +2 -2
  15. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/pi-extension/descry-tools.ts +21 -5
  16. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/pyproject.toml +25 -14
  17. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/__init__.py +1 -1
  18. descry_codegraph-0.3.1/src/descry/_comments.py +84 -0
  19. descry_codegraph-0.3.1/src/descry/_env.py +8 -0
  20. descry_codegraph-0.3.1/src/descry/_files.py +49 -0
  21. descry_codegraph-0.3.1/src/descry/_graph.py +115 -0
  22. descry_codegraph-0.3.1/src/descry/_stdlib.py +71 -0
  23. descry_codegraph-0.3.1/src/descry/clang_parser.py +1690 -0
  24. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/cli.py +22 -5
  25. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/cross_lang.py +138 -33
  26. descry_codegraph-0.3.1/src/descry/dart_parser.py +1701 -0
  27. descry_codegraph-0.3.1/src/descry/dotnet_parser.py +1359 -0
  28. descry_codegraph-0.3.1/src/descry/embeddings.py +929 -0
  29. descry_codegraph-0.3.1/src/descry/generate.py +25629 -0
  30. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/git_history.py +412 -279
  31. descry_codegraph-0.3.1/src/descry/go_parser.py +920 -0
  32. descry_codegraph-0.3.1/src/descry/handlers.py +3067 -0
  33. descry_codegraph-0.3.1/src/descry/java_parser.py +881 -0
  34. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/mcp_server.py +46 -12
  35. descry_codegraph-0.3.1/src/descry/php_parser.py +1266 -0
  36. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/query.py +399 -259
  37. descry_codegraph-0.3.1/src/descry/ruby_parser.py +1468 -0
  38. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapter.py +44 -19
  39. descry_codegraph-0.3.1/src/descry/scip/adapters/_empty_environment.json +1 -0
  40. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/clang.py +38 -68
  41. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/dart.py +23 -8
  42. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/dotnet.py +15 -21
  43. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/go.py +1 -15
  44. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/java.py +114 -75
  45. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/php.py +10 -13
  46. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/python.py +32 -25
  47. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/ruby.py +9 -15
  48. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/rust.py +89 -22
  49. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/typescript.py +52 -50
  50. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/cache.py +209 -121
  51. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/parser.py +256 -76
  52. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/support.py +3 -3
  53. descry_codegraph-0.3.1/src/descry/stdlib/c.json +1231 -0
  54. descry_codegraph-0.3.1/src/descry/stdlib/cpp.json +11711 -0
  55. descry_codegraph-0.3.1/src/descry/stdlib/dart.json +24956 -0
  56. descry_codegraph-0.3.1/src/descry/stdlib/dotnet.json +74874 -0
  57. descry_codegraph-0.3.1/src/descry/stdlib/go.json +14493 -0
  58. descry_codegraph-0.3.1/src/descry/stdlib/java.json +27459 -0
  59. descry_codegraph-0.3.1/src/descry/stdlib/node.json +122 -0
  60. descry_codegraph-0.3.1/src/descry/stdlib/php.json +7727 -0
  61. descry_codegraph-0.3.1/src/descry/stdlib/python.json +60134 -0
  62. descry_codegraph-0.3.1/src/descry/stdlib/ruby.json +12635 -0
  63. descry_codegraph-0.3.1/src/descry/stdlib/rust.json +52434 -0
  64. descry_codegraph-0.3.1/src/descry/stdlib/typescript.json +24232 -0
  65. descry_codegraph-0.3.1/src/descry/web/server.py +1072 -0
  66. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/web/web/index.html +47 -25
  67. descry_codegraph-0.3.1/tests/conftest.py +135 -0
  68. descry_codegraph-0.3.1/tests/eval/README.md +67 -0
  69. descry_codegraph-0.3.1/tests/eval/__init__.py +0 -0
  70. descry_codegraph-0.3.1/tests/eval/compare.py +159 -0
  71. descry_codegraph-0.3.1/tests/eval/corpus.py +80 -0
  72. descry_codegraph-0.3.1/tests/eval/metrics.py +61 -0
  73. descry_codegraph-0.3.1/tests/eval/registry.py +47 -0
  74. descry_codegraph-0.3.1/tests/eval/results/results-descry.json +271 -0
  75. descry_codegraph-0.3.1/tests/eval/results/results-ripgrep.json +271 -0
  76. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/fixtures/small_graph.json +1 -1
  77. descry_codegraph-0.3.1/tests/test_backtracking.py +243 -0
  78. descry_codegraph-0.3.1/tests/test_clang_parser.py +930 -0
  79. descry_codegraph-0.3.1/tests/test_cli.py +227 -0
  80. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/test_config.py +58 -28
  81. descry_codegraph-0.3.1/tests/test_cross_lang.py +376 -0
  82. descry_codegraph-0.3.1/tests/test_dart_parser.py +645 -0
  83. descry_codegraph-0.3.1/tests/test_dotnet_parser.py +887 -0
  84. descry_codegraph-0.3.1/tests/test_embeddings.py +1185 -0
  85. descry_codegraph-0.3.1/tests/test_generate.py +30860 -0
  86. descry_codegraph-0.3.1/tests/test_git_history.py +1284 -0
  87. descry_codegraph-0.3.1/tests/test_go_parser.py +512 -0
  88. descry_codegraph-0.3.1/tests/test_handlers.py +1600 -0
  89. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/test_hardening.py +226 -15
  90. descry_codegraph-0.3.1/tests/test_interfaces.py +178 -0
  91. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/test_java_parser.py +173 -3
  92. descry_codegraph-0.3.1/tests/test_mcp.py +366 -0
  93. descry_codegraph-0.3.1/tests/test_non_regular_files.py +161 -0
  94. descry_codegraph-0.3.1/tests/test_php_parser.py +685 -0
  95. descry_codegraph-0.3.1/tests/test_query.py +1466 -0
  96. descry_codegraph-0.3.1/tests/test_ruby_parser.py +841 -0
  97. descry_codegraph-0.3.1/tests/test_scip.py +848 -0
  98. descry_codegraph-0.3.1/tests/test_scip_cache.py +438 -0
  99. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/test_scip_clang.py +37 -9
  100. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/test_scip_dart.py +65 -7
  101. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/test_scip_dotnet.py +19 -5
  102. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/test_scip_go.py +0 -25
  103. descry_codegraph-0.3.1/tests/test_scip_java.py +550 -0
  104. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/test_scip_php.py +0 -9
  105. descry_codegraph-0.3.1/tests/test_stdlib.py +544 -0
  106. descry_codegraph-0.3.1/tests/test_web_server.py +1991 -0
  107. descry_codegraph-0.3.1/tests/test_written_through.py +220 -0
  108. descry_codegraph-0.3.1/tools/stdlib/README.md +383 -0
  109. descry_codegraph-0.3.1/tools/stdlib/common.py +76 -0
  110. descry_codegraph-0.3.1/tools/stdlib/gen_c.py +227 -0
  111. descry_codegraph-0.3.1/tools/stdlib/gen_cpp.py +668 -0
  112. descry_codegraph-0.3.1/tools/stdlib/gen_dart.py +309 -0
  113. descry_codegraph-0.3.1/tools/stdlib/gen_dotnet.py +377 -0
  114. descry_codegraph-0.3.1/tools/stdlib/gen_go.py +181 -0
  115. descry_codegraph-0.3.1/tools/stdlib/gen_java.py +270 -0
  116. descry_codegraph-0.3.1/tools/stdlib/gen_node.py +50 -0
  117. descry_codegraph-0.3.1/tools/stdlib/gen_php.py +291 -0
  118. descry_codegraph-0.3.1/tools/stdlib/gen_python.py +623 -0
  119. descry_codegraph-0.3.1/tools/stdlib/gen_ruby.py +224 -0
  120. descry_codegraph-0.3.1/tools/stdlib/gen_rust.py +609 -0
  121. descry_codegraph-0.3.1/tools/stdlib/gen_typescript.py +455 -0
  122. descry_codegraph-0.2.0/CHANGELOG.md +0 -369
  123. descry_codegraph-0.2.0/CLAUDE.md +0 -69
  124. descry_codegraph-0.2.0/src/descry/_env.py +0 -30
  125. descry_codegraph-0.2.0/src/descry/_graph.py +0 -36
  126. descry_codegraph-0.2.0/src/descry/ast_grep.py +0 -388
  127. descry_codegraph-0.2.0/src/descry/clang_parser.py +0 -443
  128. descry_codegraph-0.2.0/src/descry/dart_parser.py +0 -451
  129. descry_codegraph-0.2.0/src/descry/dotnet_parser.py +0 -418
  130. descry_codegraph-0.2.0/src/descry/embeddings.py +0 -554
  131. descry_codegraph-0.2.0/src/descry/generate.py +0 -8417
  132. descry_codegraph-0.2.0/src/descry/go_parser.py +0 -382
  133. descry_codegraph-0.2.0/src/descry/handlers.py +0 -2062
  134. descry_codegraph-0.2.0/src/descry/java_parser.py +0 -336
  135. descry_codegraph-0.2.0/src/descry/php_parser.py +0 -367
  136. descry_codegraph-0.2.0/src/descry/ruby_parser.py +0 -328
  137. descry_codegraph-0.2.0/src/descry/tree_sitter_parser.py +0 -356
  138. descry_codegraph-0.2.0/src/descry/web/server.py +0 -1491
  139. descry_codegraph-0.2.0/tests/conftest.py +0 -29
  140. descry_codegraph-0.2.0/tests/test_clang_parser.py +0 -160
  141. descry_codegraph-0.2.0/tests/test_cli.py +0 -66
  142. descry_codegraph-0.2.0/tests/test_dart_parser.py +0 -216
  143. descry_codegraph-0.2.0/tests/test_dotnet_parser.py +0 -241
  144. descry_codegraph-0.2.0/tests/test_generate.py +0 -859
  145. descry_codegraph-0.2.0/tests/test_git_history.py +0 -284
  146. descry_codegraph-0.2.0/tests/test_go_parser.py +0 -261
  147. descry_codegraph-0.2.0/tests/test_handlers.py +0 -252
  148. descry_codegraph-0.2.0/tests/test_mcp.py +0 -96
  149. descry_codegraph-0.2.0/tests/test_php_parser.py +0 -227
  150. descry_codegraph-0.2.0/tests/test_query.py +0 -809
  151. descry_codegraph-0.2.0/tests/test_ruby_parser.py +0 -228
  152. descry_codegraph-0.2.0/tests/test_scip.py +0 -417
  153. descry_codegraph-0.2.0/tests/test_scip_java.py +0 -306
  154. descry_codegraph-0.2.0/tests/test_tree_sitter_parser.py +0 -125
  155. descry_codegraph-0.2.0/tests/test_web_server.py +0 -210
  156. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/.github/assets/01-landing.png +0 -0
  157. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/.gitignore +0 -0
  158. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/LICENSE +0 -0
  159. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/SECURITY.md +0 -0
  160. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/claude-skill/README.md +0 -0
  161. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/__init__.py +0 -0
  162. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/__init__.py +0 -0
  163. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/adapters/_java_compat.init.gradle +0 -0
  164. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/scip/pb2.py +0 -0
  165. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/web/__init__.py +0 -0
  166. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/src/descry/web/web/style.css +0 -0
  167. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/__init__.py +0 -0
  168. {descry_codegraph-0.2.0 → descry_codegraph-0.3.1}/tests/test_scip_ruby.py +0 -0
@@ -19,9 +19,9 @@ jobs:
19
19
  - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
20
20
  with:
21
21
  python-version: "3.12"
22
- - run: uv pip install --system ruff
23
- - run: ruff check src/ tests/
24
- - run: ruff format --check src/ tests/
22
+ - run: uv pip install --system ruff==0.16.4
23
+ - run: ruff check src/ tests/ tools/
24
+ - run: ruff format --check src/ tests/ tools/
25
25
 
26
26
  test:
27
27
  runs-on: ubuntu-latest
@@ -73,9 +73,4 @@ jobs:
73
73
  - name: Audit resolved environment
74
74
  run: |
75
75
  . .venv/bin/activate
76
- # CVE-2026-3219 (GHSA-58qw-9mgm-455v): concatenated tar/ZIP
77
- # interpretation conflict in pip itself. Affects pip <= 26.0.1
78
- # with no patched version upstream. pip is a build-time
79
- # installer in the venv, not a runtime dep we ship.
80
- # Re-evaluate when pip ships a fix.
81
- pip-audit --skip-editable --ignore-vuln CVE-2026-3219
76
+ pip-audit --skip-editable
@@ -27,11 +27,14 @@ jobs:
27
27
  steps:
28
28
  - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
29
29
  - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
30
+ with:
31
+ version: "0.12.23"
30
32
  - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
31
33
  with:
32
34
  python-version: "3.12"
33
35
  - name: Verify tag matches pyproject version
34
- if: github.event_name == 'push'
36
+ # A manual run that targets PyPI must be dispatched from the release tag.
37
+ if: github.event_name == 'push' || inputs.target == 'pypi'
35
38
  env:
36
39
  GIT_TAG: ${{ github.ref_name }}
37
40
  run: |
@@ -45,7 +48,7 @@ jobs:
45
48
  run: uv build
46
49
  - name: Check distributions with twine
47
50
  run: |
48
- uv pip install --system twine
51
+ uv pip install --system twine==7.0.0
49
52
  twine check --strict dist/*
50
53
  - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
51
54
  with:
@@ -59,6 +62,8 @@ jobs:
59
62
  steps:
60
63
  - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
61
64
  - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
65
+ with:
66
+ version: "0.12.23"
62
67
  - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
63
68
  with:
64
69
  python-version: "3.12"
@@ -70,12 +75,7 @@ jobs:
70
75
  - name: Audit resolved environment
71
76
  run: |
72
77
  . .venv/bin/activate
73
- # CVE-2026-3219 (GHSA-58qw-9mgm-455v): concatenated tar/ZIP
74
- # interpretation conflict in pip itself. Affects pip <= 26.0.1
75
- # with no patched version upstream. pip is a build-time
76
- # installer in the venv, not a runtime dep we ship.
77
- # Re-evaluate when pip ships a fix.
78
- pip-audit --skip-editable --ignore-vuln CVE-2026-3219
78
+ pip-audit --skip-editable
79
79
 
80
80
  publish-testpypi:
81
81
  name: Publish to TestPyPI
@@ -99,7 +99,7 @@ jobs:
99
99
  # digest exists. Pinning to the version tag is the documented
100
100
  # approach; PyPA controls this tag and tag mutation would be a
101
101
  # notable event we'd catch via the trusted-publisher audit log.
102
- uses: pypa/gh-action-pypi-publish@v1.14.0
102
+ uses: pypa/gh-action-pypi-publish@v1.14.3
103
103
  with:
104
104
  repository-url: https://test.pypi.org/legacy/
105
105
 
@@ -125,4 +125,4 @@ jobs:
125
125
  # digest exists. Pinning to the version tag is the documented
126
126
  # approach; PyPA controls this tag and tag mutation would be a
127
127
  # notable event we'd catch via the trusted-publisher audit log.
128
- uses: pypa/gh-action-pypi-publish@v1.14.0
128
+ uses: pypa/gh-action-pypi-publish@v1.14.3