Commit 9eea71f
committed
Add PyCG sharding for level 2 analysis on large projects
- Introduces --pycg-shard/--no-pycg-shard to run PyCG independently per
Python package root instead of over the whole project, with cross-package
imports treated as ghost nodes.
- Adds --pycg-shard-ceiling (default 100) to skip shards with too many
files, and --pycg-shard-timeout (default 120s) as a final
safety net for packages whose pointer fixpoint diverges indefinitely.
- Adds test fixtures (decorators_and_hof, class_hierarchy, async_patterns,
Flask 3.0.3, requests 2.31.0) and corresponding CLI tests with PyCG-
specific edge assertions.
Verified on a 6086-file project: 74,008 PyCG edges produced across 748/753
shards; 5 deep-OO framework shards timed out and were gracefully skipped.
Signed-off-by: Saurabh Sinha <sinha108@gmail.com>1 parent aab32e8 commit 9eea71f
357 files changed
Lines changed: 61566 additions & 89 deletions
File tree
- codeanalyzer
- options
- semantic_analysis/pycg
- test
- fixtures
- single_functionalities
- async_patterns
- class_hierarchy
- decorators_and_hof
- whole_applications
- flask
- .devcontainer
- .github
- ISSUE_TEMPLATE
- workflows
- docs
- _static
- deploying
- patterns
- tutorial
- examples
- celery
- src/task_app
- templates
- javascript
- js_example
- templates
- tests
- tutorial
- flaskr
- static
- templates
- auth
- blog
- tests
- requirements-skip
- requirements
- src/flask
- json
- sansio
- tests
- static
- templates
- nested
- test_apps
- blueprintapp
- apps
- admin
- static
- css
- templates/admin
- frontend
- templates/frontend
- cliapp
- inner1
- inner2
- helloworld
- subdomaintestmodule
- static
- typing
- requests
- .github
- ISSUE_TEMPLATE
- workflows
- docs
- _static
- _templates
- _themes
- community
- dev
- user
- ext
- requests
- tests
- testserver
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
83 | 125 | | |
84 | 126 | | |
85 | 127 | | |
| |||
93 | 135 | | |
94 | 136 | | |
95 | 137 | | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
96 | 141 | | |
97 | 142 | | |
98 | 143 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
255 | 260 | | |
256 | 261 | | |
257 | 262 | | |
258 | 263 | | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
270 | 277 | | |
271 | 278 | | |
272 | 279 | | |
| |||
284 | 291 | | |
285 | 292 | | |
286 | 293 | | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
292 | 302 | | |
293 | 303 | | |
294 | 304 | | |
| |||
552 | 562 | | |
553 | 563 | | |
554 | 564 | | |
555 | | - | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
556 | 572 | | |
557 | 573 | | |
558 | 574 | | |
559 | 575 | | |
560 | 576 | | |
561 | 577 | | |
| 578 | + | |
562 | 579 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
0 commit comments