pycode-kg 0.23.0__tar.gz → 0.23.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 (62) hide show
  1. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/PKG-INFO +6 -6
  2. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/README.md +4 -4
  3. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/pyproject.toml +7 -2
  4. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/__init__.py +1 -1
  5. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/analysis/bridge.py +1 -1
  6. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/analysis/centrality.py +1 -1
  7. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/analysis/framework_detector.py +1 -1
  8. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_hooks.py +1 -1
  9. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/pycodekg.py +1 -1
  10. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/snapshots.py +1 -1
  11. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/LICENSE +0 -0
  12. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/.DS_Store +0 -0
  13. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/__main__.py +0 -0
  14. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/analysis/__init__.py +0 -0
  15. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/app.py +0 -0
  16. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/architecture.py +0 -0
  17. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/build_pycodekg_sqlite.py +0 -0
  18. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/__init__.py +0 -0
  19. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_analyze.py +0 -0
  20. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_architecture.py +0 -0
  21. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_bridges.py +0 -0
  22. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_build.py +0 -0
  23. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_build_full.py +0 -0
  24. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_centrality.py +0 -0
  25. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_explain.py +0 -0
  26. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_framework_nodes.py +0 -0
  27. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_init.py +0 -0
  28. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_mcp.py +0 -0
  29. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_model.py +0 -0
  30. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_query.py +0 -0
  31. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_quilt.py +0 -0
  32. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_snapshot.py +0 -0
  33. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/cmd_viz.py +0 -0
  34. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/main.py +0 -0
  35. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/cli/options.py +0 -0
  36. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/config.py +0 -0
  37. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/explain.py +0 -0
  38. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/graph.py +0 -0
  39. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/graph_html.py +0 -0
  40. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/index.py +0 -0
  41. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/kg.py +0 -0
  42. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/layout3d.py +0 -0
  43. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/mcp_server.py +0 -0
  44. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/module/__init__.py +0 -0
  45. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/module/base.py +0 -0
  46. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/module/extractor.py +0 -0
  47. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/module/types.py +0 -0
  48. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/pycodekg_thorough_analysis.py +0 -0
  49. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/ranking/__init__.py +0 -0
  50. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/ranking/cli_rank.py +0 -0
  51. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/ranking/coderank.py +0 -0
  52. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/render.py +0 -0
  53. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/report.py +0 -0
  54. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/resolution.py +0 -0
  55. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/scene3d.py +0 -0
  56. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/sql/004_add_centrality_table.sql +0 -0
  57. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/store.py +0 -0
  58. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/theme.py +0 -0
  59. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/utils.py +0 -0
  60. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/visitor.py +0 -0
  61. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/viz3d.py +0 -0
  62. {pycode_kg-0.23.0 → pycode_kg-0.23.1}/src/pycode_kg/viz3d_timeline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycode-kg
3
- Version: 0.23.0
3
+ Version: 0.23.1
4
4
  Summary: A tool to build a searchable knowledge graph from Python repositories
5
5
  License-Expression: Elastic-2.0
6
6
  License-File: LICENSE
@@ -21,7 +21,7 @@ Provides-Extra: viz3d
21
21
  Requires-Dist: PyQt5 (>=5.15.0) ; extra == "all"
22
22
  Requires-Dist: PyQt5 (>=5.15.0) ; extra == "viz3d"
23
23
  Requires-Dist: click (>=8.1.0,<9)
24
- Requires-Dist: kgmodule-utils[semantic,viz3d] (>=0.12.1)
24
+ Requires-Dist: kgmodule-utils[semantic,viz3d] (>=0.13.1)
25
25
  Requires-Dist: kgmodule-utils[viz3d-render] (>=0.12.1) ; extra == "viz3d"
26
26
  Requires-Dist: markdown (>=3.6) ; extra == "all"
27
27
  Requires-Dist: markdown (>=3.6) ; extra == "viz3d"
@@ -60,7 +60,7 @@ Description-Content-Type: text/markdown
60
60
 
61
61
  [![Python](https://img.shields.io/badge/python-3.12%20%7C%203.13-blue.svg)](https://www.python.org/)
62
62
  [![License: Elastic-2.0](https://img.shields.io/badge/License-Elastic%202.0-blue.svg)](https://www.elastic.co/licensing/elastic-license)
63
- [![Version](https://img.shields.io/badge/version-0.23.0-blue.svg)](https://github.com/Flux-Frontiers/pycode_kg/releases)
63
+ [![Version](https://img.shields.io/badge/version-0.23.1-blue.svg)](https://github.com/Flux-Frontiers/pycode_kg/releases)
64
64
  [![CI](https://github.com/Flux-Frontiers/pycode_kg/actions/workflows/ci.yml/badge.svg)](https://github.com/Flux-Frontiers/pycode_kg/actions/workflows/ci.yml)
65
65
  [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
66
66
  [![DOI](https://zenodo.org/badge/1202379010.svg)](https://zenodo.org/badge/latestdoi/1202379010)
@@ -255,7 +255,7 @@ src/pycode_kg/
255
255
  └── viz3d_timeline.py # Metric history timeline
256
256
  ```
257
257
 
258
- The MCP server, the CLI, and the Streamlit app are thin wrappers over the same store + index + ranking core — there is exactly one code path for each capability. The latest architectural deep-dive is in [docs/analysis_v0.23.0.md](docs/analysis_v0.23.0.md), produced (of course) by `pycodekg analyze` against this very repo.
258
+ The MCP server, the CLI, and the Streamlit app are thin wrappers over the same store + index + ranking core — there is exactly one code path for each capability. The latest architectural deep-dive is in [docs/analysis_v0.23.1.md](docs/analysis_v0.23.1.md), produced (of course) by `pycodekg analyze` against this very repo.
259
259
 
260
260
  ---
261
261
 
@@ -282,13 +282,13 @@ If you use PyCodeKG in your research or project, please cite it:
282
282
 
283
283
  [![DOI](https://zenodo.org/badge/1202379010.svg)](https://zenodo.org/badge/latestdoi/1202379010)
284
284
 
285
- > Suchanek, E. G. (2026). *PyCodeKG: A Knowledge Graph for Python Codebases* (Version 0.23.0) [Software]. Flux-Frontiers. https://doi.org/10.5281/zenodo.19737993
285
+ > Suchanek, E. G. (2026). *PyCodeKG: A Knowledge Graph for Python Codebases* (Version 0.23.1) [Software]. Flux-Frontiers. https://doi.org/10.5281/zenodo.19737993
286
286
 
287
287
  ```bibtex
288
288
  @software{suchanek_pycode_kg,
289
289
  author = {Suchanek, Eric G.},
290
290
  title = {{PyCodeKG}: A Knowledge Graph for Python Codebases},
291
- version = {0.23.0},
291
+ version = {0.23.1},
292
292
  year = {2026},
293
293
  publisher = {Flux-Frontiers},
294
294
  url = {https://github.com/Flux-Frontiers/pycode_kg},
@@ -5,7 +5,7 @@
5
5
 
6
6
  [![Python](https://img.shields.io/badge/python-3.12%20%7C%203.13-blue.svg)](https://www.python.org/)
7
7
  [![License: Elastic-2.0](https://img.shields.io/badge/License-Elastic%202.0-blue.svg)](https://www.elastic.co/licensing/elastic-license)
8
- [![Version](https://img.shields.io/badge/version-0.23.0-blue.svg)](https://github.com/Flux-Frontiers/pycode_kg/releases)
8
+ [![Version](https://img.shields.io/badge/version-0.23.1-blue.svg)](https://github.com/Flux-Frontiers/pycode_kg/releases)
9
9
  [![CI](https://github.com/Flux-Frontiers/pycode_kg/actions/workflows/ci.yml/badge.svg)](https://github.com/Flux-Frontiers/pycode_kg/actions/workflows/ci.yml)
10
10
  [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
11
11
  [![DOI](https://zenodo.org/badge/1202379010.svg)](https://zenodo.org/badge/latestdoi/1202379010)
@@ -200,7 +200,7 @@ src/pycode_kg/
200
200
  └── viz3d_timeline.py # Metric history timeline
201
201
  ```
202
202
 
203
- The MCP server, the CLI, and the Streamlit app are thin wrappers over the same store + index + ranking core — there is exactly one code path for each capability. The latest architectural deep-dive is in [docs/analysis_v0.23.0.md](docs/analysis_v0.23.0.md), produced (of course) by `pycodekg analyze` against this very repo.
203
+ The MCP server, the CLI, and the Streamlit app are thin wrappers over the same store + index + ranking core — there is exactly one code path for each capability. The latest architectural deep-dive is in [docs/analysis_v0.23.1.md](docs/analysis_v0.23.1.md), produced (of course) by `pycodekg analyze` against this very repo.
204
204
 
205
205
  ---
206
206
 
@@ -227,13 +227,13 @@ If you use PyCodeKG in your research or project, please cite it:
227
227
 
228
228
  [![DOI](https://zenodo.org/badge/1202379010.svg)](https://zenodo.org/badge/latestdoi/1202379010)
229
229
 
230
- > Suchanek, E. G. (2026). *PyCodeKG: A Knowledge Graph for Python Codebases* (Version 0.23.0) [Software]. Flux-Frontiers. https://doi.org/10.5281/zenodo.19737993
230
+ > Suchanek, E. G. (2026). *PyCodeKG: A Knowledge Graph for Python Codebases* (Version 0.23.1) [Software]. Flux-Frontiers. https://doi.org/10.5281/zenodo.19737993
231
231
 
232
232
  ```bibtex
233
233
  @software{suchanek_pycode_kg,
234
234
  author = {Suchanek, Eric G.},
235
235
  title = {{PyCodeKG}: A Knowledge Graph for Python Codebases},
236
- version = {0.23.0},
236
+ version = {0.23.1},
237
237
  year = {2026},
238
238
  publisher = {Flux-Frontiers},
239
239
  url = {https://github.com/Flux-Frontiers/pycode_kg},
@@ -71,7 +71,7 @@ torch = [
71
71
  # ---------------------------------------------------------------------------
72
72
  [project]
73
73
  name = "pycode-kg"
74
- version = "0.23.0"
74
+ version = "0.23.1"
75
75
  description = "A tool to build a searchable knowledge graph from Python repositories"
76
76
  readme = "README.md"
77
77
  license = "Elastic-2.0"
@@ -137,7 +137,12 @@ dependencies = [
137
137
  # Its only dependency is numpy, which `[semantic]` already pulls, so it adds
138
138
  # nothing to the install — it just declares what layout3d actually imports.
139
139
  # Unlike `[viz]`, there is no pyvis to leak into a bare install.
140
- "kgmodule-utils[semantic,viz3d]>=0.12.1",
140
+ # Floor is 0.13.1 rather than 0.12.1 because that is the release which
141
+ # stops SnapshotManager writing absolute paths into snapshot JSON. This
142
+ # package ships `pycodekg snapshot save`, and those snapshots get committed
143
+ # to the user's repo — against an older kgmodule-utils the command writes
144
+ # their home directory and username into version control.
145
+ "kgmodule-utils[semantic,viz3d]>=0.13.1",
141
146
  ]
142
147
 
143
148
  [project.optional-dependencies]
@@ -36,7 +36,7 @@ Author: Eric G. Suchanek, PhD
36
36
  License: Elastic 2.0
37
37
  """
38
38
 
39
- __version__ = "0.23.0"
39
+ __version__ = "0.23.1"
40
40
  __author__ = "Eric G. Suchanek, PhD"
41
41
 
42
42
  # Low-level primitives (locked v0 contract)
@@ -4,7 +4,7 @@ Measures module interaction complexity: how many unique modules each module call
4
4
  For well-modularized codebases, identifies orchestrator and hub modules.
5
5
 
6
6
  Author: Eric G. Suchanek, PhD
7
- Last Revision: 2026-08-14 20:59:39
7
+ Last Revision: 2026-08-15 00:46:18
8
8
  License: Elastic 2.0
9
9
  """
10
10
 
@@ -12,7 +12,7 @@ Public API:
12
12
  - :func:`aggregate_module_scores` — roll node scores up to module level.
13
13
 
14
14
  Author: Eric G. Suchanek, PhD
15
- Last Revision: 2026-08-14 22:45:27
15
+ Last Revision: 2026-08-15 00:46:18
16
16
 
17
17
  License: Elastic 2.0
18
18
  """
@@ -3,7 +3,7 @@ Framework Detector for PyCodeKG.
3
3
  Identifies repo-defining abstractions using centrality and cross-module signals.
4
4
 
5
5
  Author: Eric G. Suchanek, PhD
6
- Last Revision: 2026-08-14 20:59:39
6
+ Last Revision: 2026-08-15 00:46:18
7
7
  License: Elastic 2.0
8
8
  """
9
9
 
@@ -6,7 +6,7 @@ CLI command for installing PyCodeKG git hooks:
6
6
  install-hooks — install the pre-commit snapshot hook into .git/hooks/
7
7
 
8
8
  Author: Eric G. Suchanek, PhD
9
- Last Revision: 2026-08-11 19:32:52
9
+ Last Revision: 2026-08-14 22:51:58
10
10
 
11
11
  Author: Eric G. Suchanek, PhD
12
12
 
@@ -23,7 +23,7 @@ No persistence, no embeddings, no LLMs—just pure AST extraction. Integration w
23
23
  vector databases and semantic search happens downstream.
24
24
 
25
25
  Author: Eric G. Suchanek, PhD
26
- Last Revision: 2026-08-14 22:45:27
26
+ Last Revision: 2026-08-15 00:46:18
27
27
 
28
28
  License: Elastic 2.0
29
29
  """
@@ -35,7 +35,7 @@ Usage
35
35
  >>> prev = mgr.get_previous(tree_hash)
36
36
 
37
37
  Author: Eric G. Suchanek, PhD
38
- Last Revision: 2026-08-14
38
+ Last Revision: 2026-08-15
39
39
 
40
40
  License: Elastic 2.0
41
41
  """
File without changes