tscode-kg 0.4.0__tar.gz → 0.5.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 (36) hide show
  1. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/PKG-INFO +9 -11
  2. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/README.md +7 -9
  3. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/pyproject.toml +13 -4
  4. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/__init__.py +1 -1
  5. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/snapshots.py +7 -13
  6. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/LICENSE +0 -0
  7. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/__main__.py +0 -0
  8. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/analysis.py +0 -0
  9. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/app.py +0 -0
  10. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/bridge.py +0 -0
  11. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/centrality.py +0 -0
  12. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/__init__.py +0 -0
  13. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_analyze.py +0 -0
  14. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_bridges.py +0 -0
  15. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_build.py +0 -0
  16. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_centrality.py +0 -0
  17. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_explain.py +0 -0
  18. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_framework_nodes.py +0 -0
  19. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_hooks.py +0 -0
  20. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_init.py +0 -0
  21. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_mcp.py +0 -0
  22. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_model.py +0 -0
  23. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_query.py +0 -0
  24. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_snapshot.py +0 -0
  25. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_viz.py +0 -0
  26. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/main.py +0 -0
  27. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/coderank.py +0 -0
  28. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/config.py +0 -0
  29. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/explain.py +0 -0
  30. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/extractor.py +0 -0
  31. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/framework_detector.py +0 -0
  32. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/kg.py +0 -0
  33. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/layout3d.py +0 -0
  34. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/mcp_server.py +0 -0
  35. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/viz3d.py +0 -0
  36. {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/viz3d_timeline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tscode-kg
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: Knowledge graph for TypeScript/JavaScript codebases — AST extraction, hybrid semantic+structural search
5
5
  License-Expression: Elastic-2.0
6
6
  License-File: LICENSE
@@ -19,7 +19,7 @@ Provides-Extra: viz
19
19
  Provides-Extra: viz3d
20
20
  Requires-Dist: PyQt5 (>=5.15.11,<5.16) ; extra == "viz3d"
21
21
  Requires-Dist: click (>=8.1.0,<9)
22
- Requires-Dist: kgmodule-utils[semantic,sqlite-vec] (>=0.19.1)
22
+ Requires-Dist: kgmodule-utils[semantic,sqlite-vec] (>=0.20.0)
23
23
  Requires-Dist: markdown (>=3.10,<3.11) ; extra == "viz3d"
24
24
  Requires-Dist: mcp (>=1.0.0,<2)
25
25
  Requires-Dist: networkx (>=3.0)
@@ -42,10 +42,10 @@ Description-Content-Type: text/markdown
42
42
  [![Python](https://img.shields.io/badge/python-3.12%20%7C%203.13-blue.svg)](https://www.python.org/)
43
43
  [![License: Elastic-2.0](https://img.shields.io/badge/License-Elastic%202.0-blue.svg)](https://www.elastic.co/licensing/elastic-license)
44
44
  [![PyPI](https://img.shields.io/pypi/v/tscode-kg.svg)](https://pypi.org/project/tscode-kg/)
45
- [![Version](https://img.shields.io/badge/version-0.4.0-blue.svg)](https://github.com/Flux-Frontiers/tscode_kg/releases)
45
+ [![Version](https://img.shields.io/badge/version-0.5.0-blue.svg)](https://github.com/Flux-Frontiers/tscode_kg/releases)
46
46
  [![CI](https://github.com/Flux-Frontiers/tscode_kg/actions/workflows/ci.yml/badge.svg)](https://github.com/Flux-Frontiers/tscode_kg/actions/workflows/ci.yml)
47
47
  [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
48
- [![DOI](https://zenodo.org/badge/1247715028.svg)](https://zenodo.org/badge/latestdoi/1247715028)
48
+ [![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.22559450-blue.svg)](https://doi.org/10.5281/zenodo.22559450)
49
49
 
50
50
  Knowledge graph for TypeScript and JavaScript codebases — deterministic AST extraction, hybrid semantic + structural search.
51
51
 
@@ -193,25 +193,23 @@ Eric G. Suchanek, PhD — Flux Frontiers
193
193
 
194
194
  If you use TypeScriptKG in your research or project, please cite it:
195
195
 
196
- [![DOI](https://zenodo.org/badge/1247715028.svg)](https://zenodo.org/badge/latestdoi/1247715028)
196
+ [![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.22559450-blue.svg)](https://doi.org/10.5281/zenodo.22559450)
197
197
 
198
- > Suchanek, E. G. (2026). *TypeScriptKG: Semantic Knowledge Graph for TypeScript/JavaScript Codebases* (Version 0.4.0) [Software]. Flux-Frontiers. https://github.com/Flux-Frontiers/tscode_kg
198
+ > Suchanek, E. G. (2026). *TypeScriptKG: Semantic Knowledge Graph for TypeScript/JavaScript Codebases* (Version 0.5.0) [Software]. Flux-Frontiers. https://doi.org/10.5281/zenodo.22559450
199
199
 
200
200
  ```bibtex
201
201
  @software{suchanek_tscode_kg,
202
202
  author = {Suchanek, Eric G.},
203
203
  title = {{TypeScriptKG}: Semantic Knowledge Graph for TypeScript/JavaScript Codebases},
204
- version = {0.4.0},
204
+ version = {0.5.0},
205
205
  year = {2026},
206
206
  publisher = {Flux-Frontiers},
207
+ doi = {10.5281/zenodo.22559450},
207
208
  url = {https://github.com/Flux-Frontiers/tscode_kg},
208
209
  }
209
210
  ```
210
211
 
211
- Full citation metadata in [`CITATION.cff`](CITATION.cff). This is the first
212
- release archived by Zenodo; the DOI resolves via the badge above once the
213
- archive completes, and this section is updated with the concept DOI directly
214
- afterward.
212
+ Full citation metadata in [`CITATION.cff`](CITATION.cff).
215
213
 
216
214
  ## License
217
215
 
@@ -3,10 +3,10 @@
3
3
  [![Python](https://img.shields.io/badge/python-3.12%20%7C%203.13-blue.svg)](https://www.python.org/)
4
4
  [![License: Elastic-2.0](https://img.shields.io/badge/License-Elastic%202.0-blue.svg)](https://www.elastic.co/licensing/elastic-license)
5
5
  [![PyPI](https://img.shields.io/pypi/v/tscode-kg.svg)](https://pypi.org/project/tscode-kg/)
6
- [![Version](https://img.shields.io/badge/version-0.4.0-blue.svg)](https://github.com/Flux-Frontiers/tscode_kg/releases)
6
+ [![Version](https://img.shields.io/badge/version-0.5.0-blue.svg)](https://github.com/Flux-Frontiers/tscode_kg/releases)
7
7
  [![CI](https://github.com/Flux-Frontiers/tscode_kg/actions/workflows/ci.yml/badge.svg)](https://github.com/Flux-Frontiers/tscode_kg/actions/workflows/ci.yml)
8
8
  [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
9
- [![DOI](https://zenodo.org/badge/1247715028.svg)](https://zenodo.org/badge/latestdoi/1247715028)
9
+ [![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.22559450-blue.svg)](https://doi.org/10.5281/zenodo.22559450)
10
10
 
11
11
  Knowledge graph for TypeScript and JavaScript codebases — deterministic AST extraction, hybrid semantic + structural search.
12
12
 
@@ -154,25 +154,23 @@ Eric G. Suchanek, PhD — Flux Frontiers
154
154
 
155
155
  If you use TypeScriptKG in your research or project, please cite it:
156
156
 
157
- [![DOI](https://zenodo.org/badge/1247715028.svg)](https://zenodo.org/badge/latestdoi/1247715028)
157
+ [![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.22559450-blue.svg)](https://doi.org/10.5281/zenodo.22559450)
158
158
 
159
- > Suchanek, E. G. (2026). *TypeScriptKG: Semantic Knowledge Graph for TypeScript/JavaScript Codebases* (Version 0.4.0) [Software]. Flux-Frontiers. https://github.com/Flux-Frontiers/tscode_kg
159
+ > Suchanek, E. G. (2026). *TypeScriptKG: Semantic Knowledge Graph for TypeScript/JavaScript Codebases* (Version 0.5.0) [Software]. Flux-Frontiers. https://doi.org/10.5281/zenodo.22559450
160
160
 
161
161
  ```bibtex
162
162
  @software{suchanek_tscode_kg,
163
163
  author = {Suchanek, Eric G.},
164
164
  title = {{TypeScriptKG}: Semantic Knowledge Graph for TypeScript/JavaScript Codebases},
165
- version = {0.4.0},
165
+ version = {0.5.0},
166
166
  year = {2026},
167
167
  publisher = {Flux-Frontiers},
168
+ doi = {10.5281/zenodo.22559450},
168
169
  url = {https://github.com/Flux-Frontiers/tscode_kg},
169
170
  }
170
171
  ```
171
172
 
172
- Full citation metadata in [`CITATION.cff`](CITATION.cff). This is the first
173
- release archived by Zenodo; the DOI resolves via the badge above once the
174
- archive completes, and this section is updated with the concept DOI directly
175
- afterward.
173
+ Full citation metadata in [`CITATION.cff`](CITATION.cff).
176
174
 
177
175
  ## License
178
176
 
@@ -38,7 +38,7 @@ packages = [{ include = "tscode_kg", from = "src" }]
38
38
 
39
39
  [project]
40
40
  name = "tscode-kg"
41
- version = "0.4.0"
41
+ version = "0.5.0"
42
42
  description = "Knowledge graph for TypeScript/JavaScript codebases — AST extraction, hybrid semantic+structural search"
43
43
  readme = "README.md"
44
44
  license = "Elastic-2.0"
@@ -64,7 +64,11 @@ dependencies = [
64
64
  "tree-sitter>=0.25.0",
65
65
  "tree-sitter-typescript>=0.23.2",
66
66
  "rich>=14.3.3,<15",
67
- "kgmodule-utils[semantic,sqlite-vec]>=0.19.1",
67
+ # 0.20.0 is a hard requirement, not a preference: the whole snapshot
68
+ # manager is now the package_name class attribute, where it used to be an
69
+ # __init__ that only forwarded to super(). Against 0.19.x the manager
70
+ # reports itself as "kg-utils" in every snapshot's tool field.
71
+ "kgmodule-utils[semantic,sqlite-vec]>=0.20.0",
68
72
  "click>=8.1.0,<9",
69
73
  # Upper-bounded: mcp 2.0 removed the bundled `mcp.server.fastmcp` module
70
74
  # (FastMCP was split out into the standalone `fastmcp` package) and rebuilt
@@ -149,8 +153,13 @@ ruff = ">=0.4.0,<0.16"
149
153
  optional = true
150
154
 
151
155
  [tool.poetry.group.kg.dependencies]
152
- doc-kg = ">=0.24.1"
153
- pycode-kg = ">=0.26.0"
156
+ # Both floors are the releases that retired these packages' own snapshot
157
+ # overrides and moved them onto kgmodule-utils>=0.20.0, the same SDK this repo
158
+ # now requires. Pinned lower, `poetry install --with kg` could resolve a dockg
159
+ # or pycodekg predating the shared extension points into the same environment
160
+ # as a tscode_kg that depends on them.
161
+ doc-kg = ">=0.26.0"
162
+ pycode-kg = ">=0.27.0"
154
163
 
155
164
  [project.urls]
156
165
  Homepage = "https://github.com/Flux-Frontiers/tscode_kg"
@@ -18,7 +18,7 @@ KGExtractor SDK::
18
18
  from tscode_kg import TSCodeExtractor
19
19
  """
20
20
 
21
- __version__ = "0.4.0"
21
+ __version__ = "0.5.0"
22
22
  __author__ = "Eric G. Suchanek, PhD"
23
23
 
24
24
  from tscode_kg.extractor import TSCodeExtractor
@@ -4,9 +4,9 @@ snapshots.py — Temporal Snapshots of TypeScriptKG Metrics
4
4
  Thin layer over the shared ``kg_utils.snapshots`` module. The shared module
5
5
  provides the canonical ``Snapshot``, ``SnapshotManifest``, ``SnapshotManager``,
6
6
  and ``PruneResult`` backed by free-form metric dicts; this module re-exports
7
- those types and adds a ``SnapshotManager`` subclass that defaults
8
- ``package_name`` to ``"tscode-kg"`` so version auto-detection resolves to this
9
- package.
7
+ those types and adds a ``SnapshotManager`` subclass whose entire body is the
8
+ ``package_name = "tscode-kg"`` class attribute, so version auto-detection
9
+ resolves to this package.
10
10
 
11
11
  Snapshots are keyed on a caller-supplied release tag or, absent one, a UTC
12
12
  timestamp -- never a git tree hash, which is read before ``git add`` stages
@@ -29,8 +29,6 @@ Author: Eric G. Suchanek, PhD
29
29
 
30
30
  from __future__ import annotations
31
31
 
32
- from pathlib import Path
33
-
34
32
  from kg_utils.snapshots import (
35
33
  PruneResult, # noqa: F401 re-exported
36
34
  Snapshot, # noqa: F401 re-exported
@@ -53,16 +51,12 @@ class SnapshotManager(_BaseSnapshotManager):
53
51
  version auto-detection resolves against the installed ``tscode-kg``
54
52
  package instead of ``kg-utils``.
55
53
 
54
+ The whole class is one class attribute. It used to be an ``__init__``
55
+ whose entire body forwarded to ``super()`` to change that one string.
56
+
56
57
  :param snapshots_dir: Directory holding snapshot JSON files and manifest.
57
58
  :param package_name: Package whose installed version stamps snapshots.
58
59
  :param db_path: Optional SQLite graph path for per-module node counts.
59
60
  """
60
61
 
61
- def __init__(
62
- self,
63
- snapshots_dir: Path | str,
64
- *,
65
- package_name: str = "tscode-kg",
66
- db_path: Path | str | None = None,
67
- ) -> None:
68
- super().__init__(snapshots_dir, package_name=package_name, db_path=db_path)
62
+ package_name = "tscode-kg"
File without changes
File without changes