sayou-visualizer 0.0.12__py3-none-any.whl → 0.1.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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sayou-visualizer
|
|
3
|
-
Version: 0.0
|
|
3
|
+
Version: 0.1.0
|
|
4
4
|
Summary: Visualizer components for the Sayou Data Platform
|
|
5
5
|
Project-URL: Homepage, https://www.sayouzone.com/
|
|
6
6
|
Project-URL: Documentation, https://sayouzone.github.io/sayou-fabric/
|
|
@@ -209,15 +209,15 @@ License: Apache License
|
|
|
209
209
|
limitations under the License.
|
|
210
210
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
211
211
|
Classifier: Operating System :: OS Independent
|
|
212
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
213
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
214
212
|
Classifier: Programming Language :: Python :: 3.11
|
|
213
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
214
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
215
215
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
216
|
-
Requires-Python: >=3.
|
|
216
|
+
Requires-Python: >=3.11
|
|
217
217
|
Requires-Dist: networkx==3.2.1
|
|
218
218
|
Requires-Dist: pyvis==0.3.2
|
|
219
219
|
Requires-Dist: rich==14.2.0
|
|
220
|
-
Requires-Dist: sayou-core~=0.
|
|
220
|
+
Requires-Dist: sayou-core~=0.4.0
|
|
221
221
|
Requires-Dist: websocket-client==1.9.0
|
|
222
222
|
Description-Content-Type: text/markdown
|
|
223
223
|
|
|
@@ -228,67 +228,123 @@ Description-Content-Type: text/markdown
|
|
|
228
228
|
|
|
229
229
|
**The Interactive Observability Engine for Sayou Fabric.**
|
|
230
230
|
|
|
231
|
-
`sayou-visualizer` provides
|
|
231
|
+
`sayou-visualizer` provides transparency to the "Black Box" of data pipelines. It transforms invisible execution logs and complex graph data structures into intuitive, interactive **3D Holographic Knowledge Graphs**.
|
|
232
232
|
|
|
233
|
-
It
|
|
233
|
+
It serves two distinct purposes: **Pipeline Telemetry** (Debugging flow) and **Knowledge Rendering** (Showcasing data topology).
|
|
234
234
|
|
|
235
|
-
|
|
235
|
+
---
|
|
236
236
|
|
|
237
|
-
|
|
237
|
+
## 1. Architecture & Role
|
|
238
238
|
|
|
239
|
-
|
|
239
|
+
The Visualizer operates as a separate layer that can attach to a running pipeline (Tracer) or read static data (Renderer) to generate HTML artifacts.
|
|
240
240
|
|
|
241
|
-
|
|
241
|
+
```mermaid
|
|
242
|
+
graph LR
|
|
243
|
+
Data[Pipeline / JSON] --> Pipeline[Visualizer Pipeline]
|
|
244
|
+
|
|
245
|
+
subgraph Renderers
|
|
246
|
+
Tracer[DAG Tracer]
|
|
247
|
+
Analyst[Analyst KG View]
|
|
248
|
+
Showcase[Showcase 3D View]
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
Pipeline --> Renderers
|
|
252
|
+
Renderers --> HTML[Interactive HTML]
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### 1.1. Core Features
|
|
256
|
+
* **Non-Intrusive Monitoring**: Attaches to any Sayou pipeline via the callback system to visualize execution flow without modifying code.
|
|
257
|
+
* **Deterministic Layout**: Uses physics-based rendering (Cytoscape/Force-Graph) to reveal clusters and outliers in your data.
|
|
258
|
+
* **Interactive Inspection**: Click on nodes to inspect raw attributes, source code, or relationships in real-time.
|
|
259
|
+
|
|
260
|
+
---
|
|
242
261
|
|
|
243
|
-
2.
|
|
262
|
+
## 2. Available Strategies
|
|
244
263
|
|
|
245
|
-
|
|
264
|
+
`sayou-visualizer` offers specialized views depending on who is looking at the data.
|
|
246
265
|
|
|
247
|
-
|
|
266
|
+
| Strategy Key | Target Audience | Description |
|
|
267
|
+
| :--- | :--- | :--- |
|
|
268
|
+
| **`tracer`** | Data Engineer | Visualizes the **Pipeline Execution Flow** (DAG). Shows which components triggered which tasks. |
|
|
269
|
+
| **`analyst`** | QA / Researcher | **2D Analytic View**. Focuses on strict schema validation, attribute inspection, and debugging specific relationships. |
|
|
270
|
+
| **`showcase`** | Stakeholder | **3D Holographic View**. A visually stunning, high-performance renderer for presenting the scale and topology of the Knowledge Graph. |
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## 3. Installation
|
|
248
275
|
|
|
249
276
|
```bash
|
|
250
277
|
pip install sayou-visualizer
|
|
251
278
|
```
|
|
252
279
|
|
|
253
|
-
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 4. Usage
|
|
254
283
|
|
|
255
|
-
The `VisualizerPipeline`
|
|
284
|
+
The `VisualizerPipeline` is the entry point. You can use it to render existing graph files or attach it to live pipelines.
|
|
285
|
+
|
|
286
|
+
### Case A: Rendering a Knowledge Graph (3D Showcase)
|
|
287
|
+
|
|
288
|
+
Visualizes the output of `sayou-assembler` as an interactive 3D galaxy.
|
|
256
289
|
|
|
257
290
|
```python
|
|
258
|
-
from sayou.
|
|
259
|
-
|
|
291
|
+
from sayou.visualizer import VisualizerPipeline
|
|
292
|
+
|
|
293
|
+
viz = VisualizerPipeline()
|
|
294
|
+
|
|
295
|
+
kg_file_path = "./output/graph_data.json"
|
|
296
|
+
|
|
297
|
+
viz.process(
|
|
298
|
+
source=kg_file_path,
|
|
299
|
+
destination="./output/report_showcase.html",
|
|
300
|
+
strategy="showcase"
|
|
301
|
+
)
|
|
260
302
|
|
|
261
|
-
|
|
262
|
-
|
|
303
|
+
print("Report generated. Open 'report_showcase.html' in your browser.")
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Case B: Debugging Graph Data (2D Analyst)
|
|
307
|
+
|
|
308
|
+
Generates a detailed 2D view for inspecting node attributes and edge types.
|
|
309
|
+
|
|
310
|
+
```python
|
|
311
|
+
viz.process(
|
|
312
|
+
source=kg_file_path,
|
|
313
|
+
destination="./output/report_analyst.html",
|
|
314
|
+
strategy="analyst"
|
|
315
|
+
)
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Case C: Pipeline Tracing (Live Monitoring)
|
|
319
|
+
|
|
320
|
+
Attaches to a running Connector pipeline to visualize the crawling process.
|
|
321
|
+
|
|
322
|
+
```python
|
|
323
|
+
from sayou.connector import ConnectorPipeline
|
|
324
|
+
from sayou.visualizer import VisualizerPipeline
|
|
263
325
|
|
|
264
|
-
|
|
265
|
-
viz.attach_to(connector)
|
|
326
|
+
connector = ConnectorPipeline()
|
|
266
327
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
for packet in iterator:
|
|
270
|
-
print(f"Processed: {packet.task.uri}")
|
|
328
|
+
viz = VisualizerPipeline()
|
|
329
|
+
viz.attach_to(connector)
|
|
271
330
|
|
|
272
|
-
|
|
273
|
-
viz.report("examples/pipeline_flow.html")
|
|
331
|
+
connector.process(source="https://news.daum.net/tech", strategy="web")
|
|
274
332
|
|
|
275
|
-
|
|
276
|
-
main()
|
|
333
|
+
viz.report("pipeline_trace.html")
|
|
277
334
|
```
|
|
278
335
|
|
|
279
|
-
|
|
336
|
+
---
|
|
280
337
|
|
|
281
|
-
|
|
282
|
-
* **`GraphTracer`**: Listens to pipeline events and constructs a `NetworkX` Directed Acyclic Graph (DAG) in real-time. It distinguishes between Components (Generator/Fetcher) and Data (Tasks).
|
|
338
|
+
## 5. Configuration Keys
|
|
283
339
|
|
|
284
|
-
|
|
285
|
-
* **`PyVisRenderer`**: Converts the internal graph into an interactive HTML file powered by `Vis.js`. Features physics-based layout and modern dark UI.
|
|
286
|
-
* **`RichRenderer`** (_Planned_): Displays a tree-structure summary directly in the console using the `Rich` library.
|
|
340
|
+
Customize the visual appearance via the `config` dictionary.
|
|
287
341
|
|
|
288
|
-
|
|
342
|
+
* **`showcase`**: `node_color_by` (e.g., class), `particle_speed`, `background_color`.
|
|
343
|
+
* **`analyst`**: `layout_algorithm` (dagre/concentric), `show_attributes` (bool).
|
|
344
|
+
* **`tracer`**: `include_data_payload` (bool), `max_events`.
|
|
289
345
|
|
|
290
|
-
|
|
346
|
+
---
|
|
291
347
|
|
|
292
|
-
##
|
|
348
|
+
## 6. License
|
|
293
349
|
|
|
294
|
-
Apache 2.0 License ©
|
|
350
|
+
Apache 2.0 License © 2026 **Sayouzone**
|
|
@@ -10,6 +10,6 @@ sayou/visualizer/renderer/showcase_kg_renderer.py,sha256=P1OoKOsmAJFdP1weWWOD6EI
|
|
|
10
10
|
sayou/visualizer/tracer/graph_tracer.py,sha256=j0dqd0_67ZnQCNjn5siKHXXsXasWim9olYqUQA2jKxk,3638
|
|
11
11
|
sayou/visualizer/tracer/rich_tracer.py,sha256=ik7J1P7AMTN47lkjMLE7iTlRuksUpwSKluvWdpY6kdQ,2406
|
|
12
12
|
sayou/visualizer/tracer/websocket_tracer.py,sha256=OZLg4jTfuxp6IwDacmAACKZ_0FirZFhyLysqh9QyrJA,1626
|
|
13
|
-
sayou_visualizer-0.0.
|
|
14
|
-
sayou_visualizer-0.0.
|
|
15
|
-
sayou_visualizer-0.0.
|
|
13
|
+
sayou_visualizer-0.1.0.dist-info/METADATA,sha256=kFw0i1bXdB4Oah8nPKCHadjrWYvWvX7raUyfMlS-UEU,17805
|
|
14
|
+
sayou_visualizer-0.1.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
15
|
+
sayou_visualizer-0.1.0.dist-info/RECORD,,
|
|
File without changes
|