Metadata-Version: 2.4
Name: unihgrf-viz
Version: 0.1.0
Summary: A lightweight UniHGRF capability visualization toolkit
Author: Sun Jiangfeng
License: MIT
Keywords: unihgrf,visualization,graph-learning,rich,cli
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=13.7.0
Dynamic: license-file

# unihgrf-viz

`unihgrf-viz` is a lightweight Python library for visualizing the capability flow of the UniHGRF framework.

The current version includes a built-in `TUDataset` catalog sourced from the official TU Dortmund collection:

- https://chrsmrrs.github.io/datasets/docs/datasets/

It focuses on a simple pipeline-style view of the framework, including steps such as:

- input type recognition
- graph structure category confirmation
- graph constructor generation
- learning path selection
- training progress

## Install

```bash
pip install unihgrf-viz
```

For local development:

```bash
pip install -e .
```

## Quick Start

```bash
python -m unihgrf_viz datasets
```

```bash
python -m unihgrf_viz demo --dataset PROTEINS --delay 0.8
```

By default, the training stage follows a real-time schedule: one log entry is emitted every 10 seconds until the configured maximum training time is reached. If you only want a quick check during development, pass a smaller `--log-interval-seconds` value explicitly.

## Export HTML / SVG

```bash
python -m unihgrf_viz export --dataset MUTAG --html unihgrf_demo.html --svg unihgrf_demo.svg
```

## Python API

```python
from unihgrf_viz import UniHGRFVisualizer, get_dataset_profile

profile = get_dataset_profile("PROTEINS")
viz = UniHGRFVisualizer.from_dataset_profile(profile)
viz.simulate(delay=0.6)
```

## Supported Built-In Datasets

The package currently provides fixed UniHGRF routing profiles for the following TUDataset names:

- `MUTAG`, `PTC_MR`, `NCI1`, `NCI109`, `DD`
- `IMDB-BINARY`, `IMDB-MULTI`, `COLLAB`
- `ENZYMES`, `BZR`, `COX2`, `DHFR`
- `FRANKENSTEIN`, `COIL-DEL`, `COIL-RAG`, `Letter-high`
- `PROTEINS`, `PROTEINS_full`, `AIDS`, `REDDIT-MULTI-12K`

Each dataset now owns 2-3 candidate learning routes, and one route is selected randomly on each call. You can also provide `--seed` to make the selection reproducible.

- structure enhancement only
- spectral-space collaboration only
- semantic fusion only
- full capability collaboration

## Supported Input Types

- `molecule-graph`
- `protein-graph`
- `social-graph`
- `attributed-graph`
- `vision-graph`
- `hybrid-graph`

## Supported Graph Types

- `discrete-structure-graph`
- `large-structure-graph`
- `interaction-graph`
- `spectral-attribute-graph`
- `semantic-heterogeneous-graph`
- `heterogeneous-multi-view-graph`

## License

MIT
