keygraph 0.2.0__py3-none-any.whl
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.
- keygraph/__init__.py +8 -0
- keygraph/__main__.py +3 -0
- keygraph/adapters/__init__.py +33 -0
- keygraph/adapters/base.py +57 -0
- keygraph/adapters/clickhouse.py +67 -0
- keygraph/adapters/dump.py +169 -0
- keygraph/adapters/fetch.py +93 -0
- keygraph/adapters/live.py +50 -0
- keygraph/adapters/metabase.py +78 -0
- keygraph/adapters/mongo.py +93 -0
- keygraph/adapters/mysql.py +30 -0
- keygraph/adapters/postgres.py +68 -0
- keygraph/adapters/sqlite.py +24 -0
- keygraph/adapters/sqlserver.py +65 -0
- keygraph/areas.py +225 -0
- keygraph/cli.py +497 -0
- keygraph/context.py +387 -0
- keygraph/docs_out.py +199 -0
- keygraph/explorer.py +128 -0
- keygraph/graph.py +163 -0
- keygraph/hubs.py +48 -0
- keygraph/infer.py +344 -0
- keygraph/mcp_server.py +147 -0
- keygraph/mirrors.py +109 -0
- keygraph/model.py +149 -0
- keygraph/notes.py +114 -0
- keygraph/overrides.py +112 -0
- keygraph/probe.py +119 -0
- keygraph/profile.py +262 -0
- keygraph/query.py +376 -0
- keygraph/report.py +92 -0
- keygraph/search.py +175 -0
- keygraph/static/DAGRE_LICENSE +19 -0
- keygraph/static/OFL-Inter.txt +93 -0
- keygraph/static/OFL-JetBrainsMono.txt +93 -0
- keygraph/static/dagre-1.1.4.min.js +801 -0
- keygraph/static/explorer.html +69 -0
- keygraph/static/explorer.js +1076 -0
- keygraph/static/favicon.svg +1 -0
- keygraph/static/keygraph-logo.svg +1 -0
- keygraph/static/keygraph-mark.svg +1 -0
- keygraph/static/keygraph.inline.css +843 -0
- keygraph/static/kg-diagram.js +267 -0
- keygraph/static/kg-theme.js +269 -0
- keygraph/summary.py +60 -0
- keygraph-0.2.0.dist-info/METADATA +334 -0
- keygraph-0.2.0.dist-info/RECORD +50 -0
- keygraph-0.2.0.dist-info/WHEEL +4 -0
- keygraph-0.2.0.dist-info/entry_points.txt +2 -0
- keygraph-0.2.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en"><head><meta charset="utf-8">
|
|
3
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data:; font-src data:; base-uri 'none'; form-action 'none'"><meta name="viewport" content="width=device-width,initial-scale=1">
|
|
4
|
+
<title>keygraph explorer</title>
|
|
5
|
+
<!-- Generated by `keygraph build`. One self-contained file: nothing is fetched at runtime.
|
|
6
|
+
Bundled: @dagrejs/dagre 1.1.4 (MIT), Inter and JetBrains Mono (SIL Open Font License 1.1). Licence texts:
|
|
7
|
+
|
|
8
|
+
/*__LICENSES__*/
|
|
9
|
+
-->
|
|
10
|
+
<link rel="icon" href="data:image/svg+xml,/*__FAVICON__*/">
|
|
11
|
+
<style>/*__CSS__*/</style>
|
|
12
|
+
<style>
|
|
13
|
+
/* explorer-only additions on top of the keygraph design system */
|
|
14
|
+
.kg-entity-schema::after { content: none; }
|
|
15
|
+
a.kg-entity, a.kg-link-text { cursor: pointer; }
|
|
16
|
+
.kg-link-text { color: inherit; text-decoration: underline; text-decoration-color: var(--kg-border-strong); text-underline-offset: 3px; cursor: pointer; }
|
|
17
|
+
.kg-link-text:hover { text-decoration-color: currentColor; }
|
|
18
|
+
.kg-viewhead .kg-search { width: 340px; max-width: 38vw; }
|
|
19
|
+
.kg-viewhead .kg-search-input { height: 32px; }
|
|
20
|
+
.kg-search .kg-popover { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: var(--kg-z-popover, 40); max-height: 70vh; overflow: auto; }
|
|
21
|
+
.kg-menu-item { cursor: pointer; }
|
|
22
|
+
.kg-loading { display: grid; place-content: center; height: 100vh; gap: 12px; padding: 24px; background: var(--kg-canvas); color: var(--kg-text-2); font: var(--kg-type-small); font-family: var(--kg-font-sans); }
|
|
23
|
+
.kg-loading .kg-skeleton { width: 360px; }
|
|
24
|
+
.kg-callout-bar { position: absolute; left: 12px; top: 12px; z-index: var(--kg-z-overlay, 10); max-width: min(640px, calc(100% - 24px)); background: var(--kg-surface); box-shadow: var(--kg-shadow-1); align-items: center; }
|
|
25
|
+
.kg-pathfield input { border: 0; background: none; outline: none; font: inherit; font-family: var(--kg-font-mono); color: var(--kg-text); min-width: 0; flex: 1; padding: 0; }
|
|
26
|
+
.kg-pathfield { position: relative; }
|
|
27
|
+
.kg-pathfield .kg-popover { position: absolute; left: 0; min-width: 100%; top: calc(100% + 6px); z-index: var(--kg-z-popover, 40); max-height: 60vh; overflow: auto; }
|
|
28
|
+
.kg-alt { cursor: pointer; }
|
|
29
|
+
.kg-alt[aria-selected="true"] { border-color: var(--kg-accent-line); }
|
|
30
|
+
.kg-cols-grid td.kg-c-name a { color: inherit; text-decoration: none; }
|
|
31
|
+
.kg-cols-grid td.kg-c-name a:hover { text-decoration: underline; }
|
|
32
|
+
.kg-relitem .kg-entity { min-width: 0; overflow: hidden; }
|
|
33
|
+
.kg-list-plain { margin: 0; padding: 0; list-style: none; }
|
|
34
|
+
.kg-sel-hint { font: var(--kg-type-caption); color: var(--kg-text-3); white-space: nowrap; }
|
|
35
|
+
.kg-other-list { padding: 4px 0; }
|
|
36
|
+
.kg-strip .kg-nchip { cursor: pointer; }
|
|
37
|
+
pre.kg-code { white-space: pre; overflow: auto; }
|
|
38
|
+
|
|
39
|
+
.kg-two > div { min-width: 0; }
|
|
40
|
+
.kg-rel-join { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
41
|
+
.kg-relcollapsed { white-space: nowrap; overflow: hidden; }
|
|
42
|
+
/* real-data fixes: name-first rows, middle truncation, wrapped callouts, markup, path chips */
|
|
43
|
+
.kg-entity--nf { display: flex; min-width: 0; max-width: 100%; }
|
|
44
|
+
.kg-entity--nf .kg-entity-name { flex: 0 1 auto; min-width: 0; }
|
|
45
|
+
.kg-nf-schema { flex: 0 100 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--kg-text-3); font-size: 11px; }
|
|
46
|
+
.kg-level > * { min-width: 0; }
|
|
47
|
+
.kg-level-main { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
48
|
+
.kg-rel-line { min-width: 0; } .kg-rel-line > .kg-entity { flex: 1 1 auto; }
|
|
49
|
+
.kg-rel-head { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
50
|
+
.kg-callout, .kg-callout p, .kg-doc-grain, .kg-kv dd, .kg-section-body p { overflow-wrap: anywhere; }
|
|
51
|
+
.kg-md-list { margin: 4px 0 0; padding-left: 18px; } .kg-md-list li { margin: 2px 0; }
|
|
52
|
+
.kg-callout code, .kg-doc code, .kg-panel code { font-size: .92em; background: var(--kg-surface-3); padding: 0 4px; border-radius: var(--kg-radius-xs); }
|
|
53
|
+
.kg-step-warn { color: var(--kg-warning); display: inline-flex; align-items: center; }
|
|
54
|
+
.kg-alt-score { display: inline-flex; gap: 8px; align-items: center; }
|
|
55
|
+
.kg-pathfield { flex: 1 1 320px; max-width: 420px; }
|
|
56
|
+
pre.kg-code { white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
57
|
+
.kg-rail .kg-popover .kg-switch { display: flex !important; } /* the collapsed rail hides its switches; the popover shows them */
|
|
58
|
+
.kg-badge--unverified { background: var(--kg-warning-soft); color: var(--kg-warning); }
|
|
59
|
+
.kg-doc h2 .kg-col-filter { font: var(--kg-type-small); }
|
|
60
|
+
a.kg-chip, a.kg-hub { text-decoration: none; color: inherit; }
|
|
61
|
+
</style></head>
|
|
62
|
+
<body><div id="app"><div class="kg-loading" role="status"><div style="display:flex;align-items:center;gap:10px"><span class="kg-spinner"></span><span id="kg-loading-msg">Reading the embedded graph…</span></div><span class="kg-skeleton" style="width:70%"></span><span class="kg-skeleton" style="width:92%"></span><span class="kg-skeleton" style="width:54%"></span></div></div>
|
|
63
|
+
<script>window.KGLOGOS = /*__LOGOS__*/;</script>
|
|
64
|
+
<script type="application/octet-stream" id="kg-data">/*__DATA__*/</script>
|
|
65
|
+
<script>/*__DAGRE__*/</script>
|
|
66
|
+
<script>/*__THEME__*/</script>
|
|
67
|
+
<script>/*__DIAGRAM__*/</script>
|
|
68
|
+
<script>/*__APP__*/</script>
|
|
69
|
+
</body></html>
|