codeanalyzer-python 0.3.1__tar.gz → 0.3.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 (56) hide show
  1. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/PKG-INFO +20 -25
  2. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/README.md +18 -18
  3. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/pyproject.toml +1 -8
  4. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/.gitignore +0 -0
  5. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/LICENSE +0 -0
  6. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/NOTICE +0 -0
  7. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/__init__.py +0 -0
  8. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/__main__.py +0 -0
  9. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/config/__init__.py +0 -0
  10. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/config/config.py +0 -0
  11. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/core.py +0 -0
  12. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/jedi/__init__.py +0 -0
  13. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/jedi/jedi.py +0 -0
  14. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/neo4j/__init__.py +0 -0
  15. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/neo4j/bolt.py +0 -0
  16. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/neo4j/cypher.py +0 -0
  17. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/neo4j/emit.py +0 -0
  18. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/neo4j/project.py +0 -0
  19. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/neo4j/rows.py +0 -0
  20. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/neo4j/schema.py +0 -0
  21. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/options/__init__.py +0 -0
  22. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/options/options.py +0 -0
  23. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/provenance.py +0 -0
  24. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/py.typed +0 -0
  25. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/schema/__init__.py +0 -0
  26. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/schema/py_schema.py +0 -0
  27. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/semantic_analysis/__init__.py +0 -0
  28. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/semantic_analysis/call_graph.py +0 -0
  29. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/semantic_analysis/pycg/__init__.py +0 -0
  30. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/semantic_analysis/pycg/pycg_analysis.py +0 -0
  31. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/semantic_analysis/pycg/pycg_exceptions.py +0 -0
  32. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/semantic_analysis/pycg/shard_planner.py +0 -0
  33. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/syntactic_analysis/__init__.py +0 -0
  34. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/syntactic_analysis/exceptions.py +0 -0
  35. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/syntactic_analysis/import_resolver.py +0 -0
  36. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/syntactic_analysis/symbol_table_builder.py +0 -0
  37. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/utils/__init__.py +0 -0
  38. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/utils/logging.py +0 -0
  39. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/codeanalyzer/utils/progress_bar.py +0 -0
  40. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/schema-uml.drawio +0 -0
  41. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/schema.neo4j.json +0 -0
  42. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/flask/README.md +0 -0
  43. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/flask/examples/celery/README.md +0 -0
  44. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/flask/requirements-skip/README.md +0 -0
  45. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/flask/src/flask/sansio/README.md +0 -0
  46. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/requests/LICENSE +0 -0
  47. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/requests/NOTICE +0 -0
  48. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/requests/README.md +0 -0
  49. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/requests/docs/_themes/LICENSE +0 -0
  50. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/requests/ext/LICENSE +0 -0
  51. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/xarray/LICENSE +0 -0
  52. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/xarray/README.md +0 -0
  53. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/xarray/properties/README.md +0 -0
  54. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/xarray/xarray/datatree_/LICENSE +0 -0
  55. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/xarray/xarray/datatree_/README.md +0 -0
  56. {codeanalyzer_python-0.3.1 → codeanalyzer_python-0.3.2}/test/fixtures/whole_applications/xarray/xarray/datatree_/docs/README.md +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: codeanalyzer-python
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Static Analysis on Python source code using Jedi, CodeQL and Treesitter — emits analysis.json or a Neo4j property graph.
5
5
  Author-email: Rahul Krishna <i.m.ralk@gmail.com>
6
6
  License-File: LICENSE
@@ -12,12 +12,7 @@ Requires-Dist: msgpack<1.0.7,>=1.0.0; python_version < '3.11'
12
12
  Requires-Dist: msgpack<2.0.0,>=1.0.7; python_version >= '3.11'
13
13
  Requires-Dist: networkx<3.2.0,>=2.6.0; python_version < '3.11'
14
14
  Requires-Dist: networkx<4.0.0,>=3.0.0; python_version >= '3.11'
15
- Requires-Dist: numpy<1.24.0,>=1.21.0; python_version < '3.11'
16
- Requires-Dist: numpy<2.0.0,>=1.24.0; python_version >= '3.11' and python_version < '3.12'
17
- Requires-Dist: numpy<2.0.0,>=1.26.0; python_version >= '3.12'
18
15
  Requires-Dist: packaging>=25.0
19
- Requires-Dist: pandas<2.0.0,>=1.3.0; python_version < '3.11'
20
- Requires-Dist: pandas<3.0.0,>=2.0.0; python_version >= '3.11'
21
16
  Requires-Dist: pycg>=0.0.6
22
17
  Requires-Dist: pydantic<2.0.0,>=1.8.0; python_version < '3.11'
23
18
  Requires-Dist: pydantic<3.0.0,>=2.0.0; python_version >= '3.11'
@@ -184,19 +179,19 @@ $ canpy --help
184
179
  │ --version Show the canpy │
185
180
  │ version and │
186
181
  │ exit. │
187
- │ --input -i PATH Path to the │
182
+ │ --input -i <path> Path to the │
188
183
  │ project root │
189
184
  │ directory (not │
190
185
  │ required for │
191
186
  │ --emit schema). │
192
- │ --output -o PATH Output directory │
187
+ │ --output -o <path> Output directory │
193
188
  │ for artifacts. │
194
- │ --format -f [json|msgpack] Output format │
189
+ │ --format -f <json|msgpack> Output format │
195
190
  │ for --emit json: │
196
191
  │ json or msgpack. │
197
192
  │ [default: json] │
198
- │ --emit [json|neo4j|sche Output target: │
199
- │ ma] json │
193
+ │ --emit <json|neo4j|sche Output target: │
194
+ │ ma> json │
200
195
  │ (analysis.json, │
201
196
  │ default) | neo4j │
202
197
  │ (graph.cypher or │
@@ -206,13 +201,13 @@ $ canpy --help
206
201
  │ schema.json │
207
202
  │ contract). │
208
203
  │ [default: json] │
209
- │ --app-name TEXT Logical │
204
+ │ --app-name <str> Logical │
210
205
  │ application name │
211
206
  │ for the graph │
212
207
  │ :PyApplication │
213
208
  │ anchor (default: │
214
209
  │ input dir name). │
215
- │ --neo4j-uri TEXT Push the graph │
210
+ │ --neo4j-uri <str> Push the graph │
216
211
  │ to a live Neo4j │
217
212
  │ over Bolt │
218
213
  │ (incremental); │
@@ -220,11 +215,11 @@ $ canpy --help
220
215
  │ graph.cypher. │
221
216
  │ [env var: │
222
217
  │ NEO4J_URI] │
223
- │ --neo4j-user TEXT Neo4j username. │
218
+ │ --neo4j-user <str> Neo4j username. │
224
219
  │ [env var: │
225
220
  │ NEO4J_USERNAME] │
226
221
  │ [default: neo4j] │
227
- │ --neo4j-password TEXT Neo4j password. │
222
+ │ --neo4j-password <str> Neo4j password. │
228
223
  │ Prefer the env │
229
224
  │ var over the │
230
225
  │ flag (the flag │
@@ -234,12 +229,12 @@ $ canpy --help
234
229
  │ [env var: │
235
230
  │ NEO4J_PASSWORD] │
236
231
  │ [default: neo4j] │
237
- │ --neo4j-database TEXT Neo4j database │
232
+ │ --neo4j-database <str> Neo4j database │
238
233
  │ name (default: │
239
234
  │ server default). │
240
235
  │ [env var: │
241
236
  │ NEO4J_DATABASE] │
242
- │ --analysis-level -a INTEGER RANGE Analysis depth: │
237
+ │ --analysis-level -a <int range> Analysis depth: │
243
238
  │ [1<=x<=2] 1=symbol │
244
239
  │ table+Jedi call │
245
240
  │ graph, 2=+PyCG │
@@ -269,12 +264,12 @@ $ canpy --help
269
264
  │ environment │
270
265
  │ instead. │
271
266
  │ [default: venv] │
272
- │ --file-name PATH Analyze only the │
267
+ │ --file-name <path> Analyze only the │
273
268
  │ specified file │
274
269
  │ (relative to │
275
270
  │ input │
276
271
  │ directory). │
277
- │ --cache-dir -c PATH Directory to │
272
+ │ --cache-dir -c <path> Directory to │
278
273
  │ store analysis │
279
274
  │ cache. Defaults │
280
275
  │ to │
@@ -288,7 +283,7 @@ $ canpy --help
288
283
  │ retained. │
289
284
  │ [default: │
290
285
  │ keep-cache] │
291
- │ -v INTEGER Increase │
286
+ │ -v <int> Increase │
292
287
  │ verbosity: -v, │
293
288
  │ -vv, -vvv │
294
289
  │ [default: 0] │
@@ -315,7 +310,7 @@ $ canpy --help
315
310
  │ Jedi-only edges. │
316
311
  │ [default: │
317
312
  │ no-pycg-shard] │
318
- │ --pycg-shard-cei… INTEGER RANGE Maximum files │
313
+ │ --pycg-shard-cei… <int range> Maximum files │
319
314
  │ [x>=1] per shard when │
320
315
  │ --pycg-shard is │
321
316
  │ active (default │
@@ -337,7 +332,7 @@ $ canpy --help
337
332
  │ heavy import │
338
333
  │ graphs. │
339
334
  │ [default: 100] │
340
- │ --pycg-shard-tim… INTEGER RANGE Per-shard │
335
+ │ --pycg-shard-tim… <int range> Per-shard │
341
336
  │ [x>=0] wall-clock │
342
337
  │ timeout in │
343
338
  │ seconds when │
@@ -365,7 +360,7 @@ $ canpy --help
365
360
  │ ignored on │
366
361
  │ Windows. │
367
362
  │ [default: 120] │
368
- │ --pycg-shard-str… [jedi|package] How --pycg-shard │
363
+ │ --pycg-shard-str… <jedi|package> How --pycg-shard │
369
364
  │ groups files │
370
365
  │ (level 2 only). │
371
366
  │ 'jedi' (default) │
@@ -387,7 +382,7 @@ $ canpy --help
387
382
  │ one-shard-per-p… │
388
383
  │ grouping. │
389
384
  │ [default: jedi] │
390
- │ --pycg-max-iter INTEGER RANGE Cap on PyCG's │
385
+ │ --pycg-max-iter <int range> Cap on PyCG's │
391
386
  │ [x>=-1] fixpoint passes │
392
387
  │ per │
393
388
  │ shard/project │
@@ -147,19 +147,19 @@ $ canpy --help
147
147
  │ --version Show the canpy │
148
148
  │ version and │
149
149
  │ exit. │
150
- │ --input -i PATH Path to the │
150
+ │ --input -i <path> Path to the │
151
151
  │ project root │
152
152
  │ directory (not │
153
153
  │ required for │
154
154
  │ --emit schema). │
155
- │ --output -o PATH Output directory │
155
+ │ --output -o <path> Output directory │
156
156
  │ for artifacts. │
157
- │ --format -f [json|msgpack] Output format │
157
+ │ --format -f <json|msgpack> Output format │
158
158
  │ for --emit json: │
159
159
  │ json or msgpack. │
160
160
  │ [default: json] │
161
- │ --emit [json|neo4j|sche Output target: │
162
- │ ma] json │
161
+ │ --emit <json|neo4j|sche Output target: │
162
+ │ ma> json │
163
163
  │ (analysis.json, │
164
164
  │ default) | neo4j │
165
165
  │ (graph.cypher or │
@@ -169,13 +169,13 @@ $ canpy --help
169
169
  │ schema.json │
170
170
  │ contract). │
171
171
  │ [default: json] │
172
- │ --app-name TEXT Logical │
172
+ │ --app-name <str> Logical │
173
173
  │ application name │
174
174
  │ for the graph │
175
175
  │ :PyApplication │
176
176
  │ anchor (default: │
177
177
  │ input dir name). │
178
- │ --neo4j-uri TEXT Push the graph │
178
+ │ --neo4j-uri <str> Push the graph │
179
179
  │ to a live Neo4j │
180
180
  │ over Bolt │
181
181
  │ (incremental); │
@@ -183,11 +183,11 @@ $ canpy --help
183
183
  │ graph.cypher. │
184
184
  │ [env var: │
185
185
  │ NEO4J_URI] │
186
- │ --neo4j-user TEXT Neo4j username. │
186
+ │ --neo4j-user <str> Neo4j username. │
187
187
  │ [env var: │
188
188
  │ NEO4J_USERNAME] │
189
189
  │ [default: neo4j] │
190
- │ --neo4j-password TEXT Neo4j password. │
190
+ │ --neo4j-password <str> Neo4j password. │
191
191
  │ Prefer the env │
192
192
  │ var over the │
193
193
  │ flag (the flag │
@@ -197,12 +197,12 @@ $ canpy --help
197
197
  │ [env var: │
198
198
  │ NEO4J_PASSWORD] │
199
199
  │ [default: neo4j] │
200
- │ --neo4j-database TEXT Neo4j database │
200
+ │ --neo4j-database <str> Neo4j database │
201
201
  │ name (default: │
202
202
  │ server default). │
203
203
  │ [env var: │
204
204
  │ NEO4J_DATABASE] │
205
- │ --analysis-level -a INTEGER RANGE Analysis depth: │
205
+ │ --analysis-level -a <int range> Analysis depth: │
206
206
  │ [1<=x<=2] 1=symbol │
207
207
  │ table+Jedi call │
208
208
  │ graph, 2=+PyCG │
@@ -232,12 +232,12 @@ $ canpy --help
232
232
  │ environment │
233
233
  │ instead. │
234
234
  │ [default: venv] │
235
- │ --file-name PATH Analyze only the │
235
+ │ --file-name <path> Analyze only the │
236
236
  │ specified file │
237
237
  │ (relative to │
238
238
  │ input │
239
239
  │ directory). │
240
- │ --cache-dir -c PATH Directory to │
240
+ │ --cache-dir -c <path> Directory to │
241
241
  │ store analysis │
242
242
  │ cache. Defaults │
243
243
  │ to │
@@ -251,7 +251,7 @@ $ canpy --help
251
251
  │ retained. │
252
252
  │ [default: │
253
253
  │ keep-cache] │
254
- │ -v INTEGER Increase │
254
+ │ -v <int> Increase │
255
255
  │ verbosity: -v, │
256
256
  │ -vv, -vvv │
257
257
  │ [default: 0] │
@@ -278,7 +278,7 @@ $ canpy --help
278
278
  │ Jedi-only edges. │
279
279
  │ [default: │
280
280
  │ no-pycg-shard] │
281
- │ --pycg-shard-cei… INTEGER RANGE Maximum files │
281
+ │ --pycg-shard-cei… <int range> Maximum files │
282
282
  │ [x>=1] per shard when │
283
283
  │ --pycg-shard is │
284
284
  │ active (default │
@@ -300,7 +300,7 @@ $ canpy --help
300
300
  │ heavy import │
301
301
  │ graphs. │
302
302
  │ [default: 100] │
303
- │ --pycg-shard-tim… INTEGER RANGE Per-shard │
303
+ │ --pycg-shard-tim… <int range> Per-shard │
304
304
  │ [x>=0] wall-clock │
305
305
  │ timeout in │
306
306
  │ seconds when │
@@ -328,7 +328,7 @@ $ canpy --help
328
328
  │ ignored on │
329
329
  │ Windows. │
330
330
  │ [default: 120] │
331
- │ --pycg-shard-str… [jedi|package] How --pycg-shard │
331
+ │ --pycg-shard-str… <jedi|package> How --pycg-shard │
332
332
  │ groups files │
333
333
  │ (level 2 only). │
334
334
  │ 'jedi' (default) │
@@ -350,7 +350,7 @@ $ canpy --help
350
350
  │ one-shard-per-p… │
351
351
  │ grouping. │
352
352
  │ [default: jedi] │
353
- │ --pycg-max-iter INTEGER RANGE Cap on PyCG's │
353
+ │ --pycg-max-iter <int range> Cap on PyCG's │
354
354
  │ [x>=-1] fixpoint passes │
355
355
  │ per │
356
356
  │ shard/project │
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codeanalyzer-python"
3
- version = "0.3.1"
3
+ version = "0.3.2"
4
4
  description = "Static Analysis on Python source code using Jedi, CodeQL and Treesitter — emits analysis.json or a Neo4j property graph."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -18,13 +18,6 @@ dependencies = [
18
18
  # networkx
19
19
  "networkx>=2.6.0,<3.2.0; python_version < '3.11'",
20
20
  "networkx>=3.0.0,<4.0.0; python_version >= '3.11'",
21
- # pandas
22
- "pandas>=1.3.0,<2.0.0; python_version < '3.11'",
23
- "pandas>=2.0.0,<3.0.0; python_version >= '3.11'",
24
- # numpy
25
- "numpy>=1.21.0,<1.24.0; python_version < '3.11'",
26
- "numpy>=1.24.0,<2.0.0; python_version >= '3.11' and python_version < '3.12'",
27
- "numpy>=1.26.0,<2.0.0; python_version >= '3.12'",
28
21
  # pydantic
29
22
  "pydantic>=1.8.0,<2.0.0; python_version < '3.11'",
30
23
  "pydantic>=2.0.0,<3.0.0; python_version >= '3.11'",