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.
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/PKG-INFO +9 -11
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/README.md +7 -9
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/pyproject.toml +13 -4
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/__init__.py +1 -1
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/snapshots.py +7 -13
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/LICENSE +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/__main__.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/analysis.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/app.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/bridge.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/centrality.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/__init__.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_analyze.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_bridges.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_build.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_centrality.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_explain.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_framework_nodes.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_hooks.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_init.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_mcp.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_model.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_query.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_snapshot.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/cmd_viz.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/cli/main.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/coderank.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/config.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/explain.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/extractor.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/framework_detector.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/kg.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/layout3d.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/mcp_server.py +0 -0
- {tscode_kg-0.4.0 → tscode_kg-0.5.0}/src/tscode_kg/viz3d.py +0 -0
- {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.
|
|
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.
|
|
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
|
[](https://www.python.org/)
|
|
43
43
|
[](https://www.elastic.co/licensing/elastic-license)
|
|
44
44
|
[](https://pypi.org/project/tscode-kg/)
|
|
45
|
-
[](https://github.com/Flux-Frontiers/tscode_kg/releases)
|
|
46
46
|
[](https://github.com/Flux-Frontiers/tscode_kg/actions/workflows/ci.yml)
|
|
47
47
|
[](https://python-poetry.org/)
|
|
48
|
-
[](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
|
-
[](https://doi.org/10.5281/zenodo.22559450)
|
|
197
197
|
|
|
198
|
-
> Suchanek, E. G. (2026). *TypeScriptKG: Semantic Knowledge Graph for TypeScript/JavaScript Codebases* (Version 0.
|
|
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.
|
|
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).
|
|
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
|
[](https://www.python.org/)
|
|
4
4
|
[](https://www.elastic.co/licensing/elastic-license)
|
|
5
5
|
[](https://pypi.org/project/tscode-kg/)
|
|
6
|
-
[](https://github.com/Flux-Frontiers/tscode_kg/releases)
|
|
7
7
|
[](https://github.com/Flux-Frontiers/tscode_kg/actions/workflows/ci.yml)
|
|
8
8
|
[](https://python-poetry.org/)
|
|
9
|
-
[](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
|
-
[](https://doi.org/10.5281/zenodo.22559450)
|
|
158
158
|
|
|
159
|
-
> Suchanek, E. G. (2026). *TypeScriptKG: Semantic Knowledge Graph for TypeScript/JavaScript Codebases* (Version 0.
|
|
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.
|
|
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).
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
153
|
-
|
|
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"
|
|
@@ -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
|
|
8
|
-
``package_name
|
|
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
|
-
|
|
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
|
|
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
|