pycode-kg 0.25.0__tar.gz → 0.25.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.
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/PKG-INFO +5 -5
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/README.md +4 -4
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/pyproject.toml +1 -1
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/__init__.py +1 -1
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/snapshots.py +4 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/LICENSE +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/.DS_Store +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/__main__.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/analysis/__init__.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/analysis/bridge.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/analysis/centrality.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/analysis/framework_detector.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/app.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/architecture.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/build_pycodekg_sqlite.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/__init__.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_analyze.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_architecture.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_bridges.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_build.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_build_full.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_centrality.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_explain.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_framework_nodes.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_hooks.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_init.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_mcp.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_model.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_query.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_quilt.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_snapshot.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/cmd_viz.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/main.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/cli/options.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/config.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/explain.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/graph.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/graph_html.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/index.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/kg.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/layout3d.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/mcp_server.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/module/__init__.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/module/base.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/module/extractor.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/module/types.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/pycodekg.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/pycodekg_thorough_analysis.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/ranking/__init__.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/ranking/cli_rank.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/ranking/coderank.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/render.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/report.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/resolution.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/scene3d.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/sql/004_add_centrality_table.sql +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/store.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/theme.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/utils.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/visitor.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.1}/src/pycode_kg/viz3d.py +0 -0
- {pycode_kg-0.25.0 → pycode_kg-0.25.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.25.
|
|
3
|
+
Version: 0.25.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
|
|
@@ -60,7 +60,7 @@ Description-Content-Type: text/markdown
|
|
|
60
60
|
|
|
61
61
|
[](https://www.python.org/)
|
|
62
62
|
[](https://www.elastic.co/licensing/elastic-license)
|
|
63
|
-
[](https://github.com/Flux-Frontiers/pycode_kg/releases)
|
|
64
64
|
[](https://github.com/Flux-Frontiers/pycode_kg/actions/workflows/ci.yml)
|
|
65
65
|
[](https://python-poetry.org/)
|
|
66
66
|
[](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.25.
|
|
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.25.1.md](docs/analysis_v0.25.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
|
[](https://zenodo.org/badge/latestdoi/1202379010)
|
|
284
284
|
|
|
285
|
-
> Suchanek, E. G. (2026). *PyCodeKG: A Knowledge Graph for Python Codebases* (Version 0.25.
|
|
285
|
+
> Suchanek, E. G. (2026). *PyCodeKG: A Knowledge Graph for Python Codebases* (Version 0.25.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.25.
|
|
291
|
+
version = {0.25.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
|
[](https://www.python.org/)
|
|
7
7
|
[](https://www.elastic.co/licensing/elastic-license)
|
|
8
|
-
[](https://github.com/Flux-Frontiers/pycode_kg/releases)
|
|
9
9
|
[](https://github.com/Flux-Frontiers/pycode_kg/actions/workflows/ci.yml)
|
|
10
10
|
[](https://python-poetry.org/)
|
|
11
11
|
[](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.25.
|
|
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.25.1.md](docs/analysis_v0.25.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
|
[](https://zenodo.org/badge/latestdoi/1202379010)
|
|
229
229
|
|
|
230
|
-
> Suchanek, E. G. (2026). *PyCodeKG: A Knowledge Graph for Python Codebases* (Version 0.25.
|
|
230
|
+
> Suchanek, E. G. (2026). *PyCodeKG: A Knowledge Graph for Python Codebases* (Version 0.25.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.25.
|
|
236
|
+
version = {0.25.1},
|
|
237
237
|
year = {2026},
|
|
238
238
|
publisher = {Flux-Frontiers},
|
|
239
239
|
url = {https://github.com/Flux-Frontiers/pycode_kg},
|
|
@@ -70,7 +70,7 @@ torch = [
|
|
|
70
70
|
# ---------------------------------------------------------------------------
|
|
71
71
|
[project]
|
|
72
72
|
name = "pycode-kg"
|
|
73
|
-
version = "0.25.
|
|
73
|
+
version = "0.25.1"
|
|
74
74
|
description = "A tool to build a searchable knowledge graph from Python repositories"
|
|
75
75
|
readme = "README.md"
|
|
76
76
|
license = "Elastic-2.0"
|
|
@@ -472,6 +472,10 @@ class SnapshotManager(_BaseSnapshotManager):
|
|
|
472
472
|
vs_previous=snapshot.__dict__["vs_previous"],
|
|
473
473
|
vs_baseline=snapshot.__dict__["vs_baseline"],
|
|
474
474
|
tree_hash=snapshot.tree_hash,
|
|
475
|
+
snapshot_key=snapshot.snapshot_key,
|
|
476
|
+
subject=snapshot.subject,
|
|
477
|
+
tool=snapshot.tool,
|
|
478
|
+
tool_version=snapshot.tool_version,
|
|
475
479
|
)
|
|
476
480
|
return super().save_snapshot(raw, force=force)
|
|
477
481
|
return super().save_snapshot(snapshot, force=force)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|