descry-codegraph 0.2.0__tar.gz → 0.3.0__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 (165) hide show
  1. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/.github/workflows/ci.yml +4 -9
  2. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/.github/workflows/release.yml +10 -10
  3. descry_codegraph-0.3.0/CHANGELOG.md +745 -0
  4. descry_codegraph-0.3.0/CLAUDE.md +82 -0
  5. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/PKG-INFO +154 -41
  6. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/README.md +136 -23
  7. descry_codegraph-0.3.0/THIRD-PARTY-NOTICES.md +23 -0
  8. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/claude-skill/descry/SKILL.md +2 -1
  9. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/claude-skill/descry/references/cli-reference.md +7 -6
  10. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/claude-skill/descry/references/mcp-tools.md +6 -5
  11. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/claude-skill/descry/references/recipes.md +3 -1
  12. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/justfile +2 -2
  13. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/pi-extension/README.md +1 -0
  14. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/pi-extension/descry-cli.py +2 -2
  15. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/pi-extension/descry-tools.ts +21 -5
  16. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/pyproject.toml +25 -14
  17. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/__init__.py +1 -1
  18. descry_codegraph-0.3.0/src/descry/_comments.py +84 -0
  19. descry_codegraph-0.3.0/src/descry/_env.py +8 -0
  20. descry_codegraph-0.3.0/src/descry/_files.py +49 -0
  21. descry_codegraph-0.3.0/src/descry/_graph.py +110 -0
  22. descry_codegraph-0.3.0/src/descry/_stdlib.py +71 -0
  23. descry_codegraph-0.3.0/src/descry/clang_parser.py +1690 -0
  24. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/cli.py +21 -4
  25. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/cross_lang.py +138 -33
  26. descry_codegraph-0.3.0/src/descry/dart_parser.py +1701 -0
  27. descry_codegraph-0.3.0/src/descry/dotnet_parser.py +1359 -0
  28. descry_codegraph-0.3.0/src/descry/embeddings.py +929 -0
  29. descry_codegraph-0.3.0/src/descry/generate.py +25633 -0
  30. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/git_history.py +409 -275
  31. descry_codegraph-0.3.0/src/descry/go_parser.py +920 -0
  32. descry_codegraph-0.3.0/src/descry/handlers.py +3092 -0
  33. descry_codegraph-0.3.0/src/descry/java_parser.py +881 -0
  34. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/mcp_server.py +43 -9
  35. descry_codegraph-0.3.0/src/descry/php_parser.py +1266 -0
  36. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/query.py +377 -231
  37. descry_codegraph-0.3.0/src/descry/ruby_parser.py +1468 -0
  38. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapter.py +44 -19
  39. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/clang.py +38 -68
  40. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/dart.py +23 -8
  41. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/dotnet.py +15 -21
  42. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/go.py +1 -15
  43. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/java.py +114 -75
  44. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/php.py +10 -13
  45. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/python.py +20 -24
  46. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/ruby.py +9 -15
  47. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/rust.py +89 -22
  48. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/typescript.py +52 -50
  49. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/cache.py +202 -118
  50. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/parser.py +256 -76
  51. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/support.py +3 -3
  52. descry_codegraph-0.3.0/src/descry/stdlib/c.json +1231 -0
  53. descry_codegraph-0.3.0/src/descry/stdlib/cpp.json +11711 -0
  54. descry_codegraph-0.3.0/src/descry/stdlib/dart.json +24956 -0
  55. descry_codegraph-0.3.0/src/descry/stdlib/dotnet.json +74874 -0
  56. descry_codegraph-0.3.0/src/descry/stdlib/go.json +14493 -0
  57. descry_codegraph-0.3.0/src/descry/stdlib/java.json +27459 -0
  58. descry_codegraph-0.3.0/src/descry/stdlib/node.json +122 -0
  59. descry_codegraph-0.3.0/src/descry/stdlib/php.json +7727 -0
  60. descry_codegraph-0.3.0/src/descry/stdlib/python.json +60134 -0
  61. descry_codegraph-0.3.0/src/descry/stdlib/ruby.json +12635 -0
  62. descry_codegraph-0.3.0/src/descry/stdlib/rust.json +52434 -0
  63. descry_codegraph-0.3.0/src/descry/stdlib/typescript.json +24232 -0
  64. descry_codegraph-0.3.0/src/descry/web/server.py +1072 -0
  65. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/web/web/index.html +34 -16
  66. descry_codegraph-0.3.0/tests/conftest.py +135 -0
  67. descry_codegraph-0.3.0/tests/eval/README.md +67 -0
  68. descry_codegraph-0.3.0/tests/eval/__init__.py +0 -0
  69. descry_codegraph-0.3.0/tests/eval/compare.py +159 -0
  70. descry_codegraph-0.3.0/tests/eval/corpus.py +80 -0
  71. descry_codegraph-0.3.0/tests/eval/metrics.py +61 -0
  72. descry_codegraph-0.3.0/tests/eval/registry.py +47 -0
  73. descry_codegraph-0.3.0/tests/eval/results/results-descry.json +271 -0
  74. descry_codegraph-0.3.0/tests/eval/results/results-ripgrep.json +271 -0
  75. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/fixtures/small_graph.json +1 -1
  76. descry_codegraph-0.3.0/tests/test_backtracking.py +243 -0
  77. descry_codegraph-0.3.0/tests/test_clang_parser.py +930 -0
  78. descry_codegraph-0.3.0/tests/test_cli.py +227 -0
  79. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/test_config.py +58 -28
  80. descry_codegraph-0.3.0/tests/test_cross_lang.py +376 -0
  81. descry_codegraph-0.3.0/tests/test_dart_parser.py +645 -0
  82. descry_codegraph-0.3.0/tests/test_dotnet_parser.py +887 -0
  83. descry_codegraph-0.3.0/tests/test_embeddings.py +1185 -0
  84. descry_codegraph-0.3.0/tests/test_generate.py +30841 -0
  85. descry_codegraph-0.3.0/tests/test_git_history.py +1239 -0
  86. descry_codegraph-0.3.0/tests/test_go_parser.py +512 -0
  87. descry_codegraph-0.3.0/tests/test_handlers.py +1559 -0
  88. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/test_hardening.py +226 -15
  89. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/test_java_parser.py +173 -3
  90. descry_codegraph-0.3.0/tests/test_mcp.py +366 -0
  91. descry_codegraph-0.3.0/tests/test_non_regular_files.py +161 -0
  92. descry_codegraph-0.3.0/tests/test_php_parser.py +685 -0
  93. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/test_query.py +631 -39
  94. descry_codegraph-0.3.0/tests/test_ruby_parser.py +841 -0
  95. descry_codegraph-0.3.0/tests/test_scip.py +848 -0
  96. descry_codegraph-0.3.0/tests/test_scip_cache.py +400 -0
  97. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/test_scip_clang.py +37 -9
  98. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/test_scip_dart.py +65 -7
  99. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/test_scip_dotnet.py +19 -5
  100. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/test_scip_go.py +0 -25
  101. descry_codegraph-0.3.0/tests/test_scip_java.py +550 -0
  102. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/test_scip_php.py +0 -9
  103. descry_codegraph-0.3.0/tests/test_stdlib.py +544 -0
  104. descry_codegraph-0.3.0/tests/test_web_server.py +1968 -0
  105. descry_codegraph-0.3.0/tests/test_written_through.py +220 -0
  106. descry_codegraph-0.3.0/tools/stdlib/README.md +383 -0
  107. descry_codegraph-0.3.0/tools/stdlib/common.py +76 -0
  108. descry_codegraph-0.3.0/tools/stdlib/gen_c.py +227 -0
  109. descry_codegraph-0.3.0/tools/stdlib/gen_cpp.py +668 -0
  110. descry_codegraph-0.3.0/tools/stdlib/gen_dart.py +309 -0
  111. descry_codegraph-0.3.0/tools/stdlib/gen_dotnet.py +377 -0
  112. descry_codegraph-0.3.0/tools/stdlib/gen_go.py +181 -0
  113. descry_codegraph-0.3.0/tools/stdlib/gen_java.py +270 -0
  114. descry_codegraph-0.3.0/tools/stdlib/gen_node.py +50 -0
  115. descry_codegraph-0.3.0/tools/stdlib/gen_php.py +291 -0
  116. descry_codegraph-0.3.0/tools/stdlib/gen_python.py +623 -0
  117. descry_codegraph-0.3.0/tools/stdlib/gen_ruby.py +224 -0
  118. descry_codegraph-0.3.0/tools/stdlib/gen_rust.py +609 -0
  119. descry_codegraph-0.3.0/tools/stdlib/gen_typescript.py +455 -0
  120. descry_codegraph-0.2.0/CHANGELOG.md +0 -369
  121. descry_codegraph-0.2.0/CLAUDE.md +0 -69
  122. descry_codegraph-0.2.0/src/descry/_env.py +0 -30
  123. descry_codegraph-0.2.0/src/descry/_graph.py +0 -36
  124. descry_codegraph-0.2.0/src/descry/ast_grep.py +0 -388
  125. descry_codegraph-0.2.0/src/descry/clang_parser.py +0 -443
  126. descry_codegraph-0.2.0/src/descry/dart_parser.py +0 -451
  127. descry_codegraph-0.2.0/src/descry/dotnet_parser.py +0 -418
  128. descry_codegraph-0.2.0/src/descry/embeddings.py +0 -554
  129. descry_codegraph-0.2.0/src/descry/generate.py +0 -8417
  130. descry_codegraph-0.2.0/src/descry/go_parser.py +0 -382
  131. descry_codegraph-0.2.0/src/descry/handlers.py +0 -2062
  132. descry_codegraph-0.2.0/src/descry/java_parser.py +0 -336
  133. descry_codegraph-0.2.0/src/descry/php_parser.py +0 -367
  134. descry_codegraph-0.2.0/src/descry/ruby_parser.py +0 -328
  135. descry_codegraph-0.2.0/src/descry/tree_sitter_parser.py +0 -356
  136. descry_codegraph-0.2.0/src/descry/web/server.py +0 -1491
  137. descry_codegraph-0.2.0/tests/conftest.py +0 -29
  138. descry_codegraph-0.2.0/tests/test_clang_parser.py +0 -160
  139. descry_codegraph-0.2.0/tests/test_cli.py +0 -66
  140. descry_codegraph-0.2.0/tests/test_dart_parser.py +0 -216
  141. descry_codegraph-0.2.0/tests/test_dotnet_parser.py +0 -241
  142. descry_codegraph-0.2.0/tests/test_generate.py +0 -859
  143. descry_codegraph-0.2.0/tests/test_git_history.py +0 -284
  144. descry_codegraph-0.2.0/tests/test_go_parser.py +0 -261
  145. descry_codegraph-0.2.0/tests/test_handlers.py +0 -252
  146. descry_codegraph-0.2.0/tests/test_mcp.py +0 -96
  147. descry_codegraph-0.2.0/tests/test_php_parser.py +0 -227
  148. descry_codegraph-0.2.0/tests/test_ruby_parser.py +0 -228
  149. descry_codegraph-0.2.0/tests/test_scip.py +0 -417
  150. descry_codegraph-0.2.0/tests/test_scip_java.py +0 -306
  151. descry_codegraph-0.2.0/tests/test_tree_sitter_parser.py +0 -125
  152. descry_codegraph-0.2.0/tests/test_web_server.py +0 -210
  153. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/.github/assets/01-landing.png +0 -0
  154. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/.gitignore +0 -0
  155. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/LICENSE +0 -0
  156. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/SECURITY.md +0 -0
  157. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/claude-skill/README.md +0 -0
  158. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/__init__.py +0 -0
  159. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/__init__.py +0 -0
  160. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/adapters/_java_compat.init.gradle +0 -0
  161. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/scip/pb2.py +0 -0
  162. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/web/__init__.py +0 -0
  163. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/src/descry/web/web/style.css +0 -0
  164. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/tests/__init__.py +0 -0
  165. {descry_codegraph-0.2.0 → descry_codegraph-0.3.0}/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