Documentation | Getting started | Tutorials | Contributing
| Package |
|
| Testing |
|
| Quality assurance |
|
| Project & community |
|
HyperTorch is a library for hypergraph learning and benchmarking. It provides standardized workflows for loading hypergraph datasets, training models, evaluating them under comparable settings, and reporting results for both hyperlink prediction and node classification.
The library is built around extensibility: datasets are represented in HIF format and converted into typed tensor objects, models can be implemented as standard Lightning modules, and benchmarking is handled through reusable trainers, samplers, metrics, loggers, and result exporters (Markdown/LaTeX). HyperTorch includes preloaded datasets, mini-batch and full-hypergraph data loading, negative sampling utilities, structural feature enrichers, neural components, and many built-in models.
Use HyperTorch to:
- Benchmark existing models across a shared collection of hypergraph datasets.
- Develop custom PyTorch or Lightning models and compare them with built-in baselines.
- Load local or remote
.jsonand.json.zstHIF datasets and run the same training, evaluation, and reporting pipeline on them.
| What you can do | Public APIs | |
|---|---|---|
| Data and HIF integration | Load built-in datasets or .json/.json.zst HIF data from files and URLs and work with typed HData objects |
hypertorch.data, hypertorch.types |
| Preparation and enrichment | Split datasets, sample nodes or hyperedges, generate negative samples, batch data, and enrich node or hyperedge features | hypertorch.data |
| Hyperlink prediction | Use ready-to-train hyperlink prediction pipelines | hypertorch.hyperlink_prediction |
| Node classification | Use ready-to-train node classification pipelines | hypertorch.node_classification |
| Models and neural components | Reuse model implementations, layers, aggregators, losses, activations, and normalization helpers | hypertorch.models, hypertorch.nn |
| Training and benchmarking | Train and compare multiple models with shared data, callbacks, device settings, checkpoints, and per-model trainer options | hypertorch.train, hypertorch.types |
| Logging and visualization | Write CSV metrics and Markdown/LaTeX comparison tables; optionally log to and auto-start TensorBoard | hypertorch.train |
HyperTorch requires Python 3.10 or newer. The currently documented and CI-tested range is Python 3.10 through 3.14 on Linux x86_64 and ARM/aarch64, macOS arm64, and Windows x64.
For a CPU installation, follow the platform-specific installation guide to install compatible PyTorch and PyG wheels, then install HyperTorch from PyPI:
uv pip install hypertorchIf you use pip, replace uv pip install with pip install. For CUDA or other hardware, you can install the matching PyTorch and PyG wheels within HyperTorch's declared dependency ranges before installing HyperTorch.
git clone https://github.com/hypernetwork-research-group/hypertorch.git
cd hypertorch
make setupSee the installation guide for platform notes and dependency ranges.
Install the optional TensorBoard integration from PyPI with:
uv pip install "hypertorch[tensorboard]"For a source installation, use:
make setup-tensorboardRun examples from the repository root with make run. For example:
# Hyperlink prediction
make run examples/hyperlink_prediction/nhp.py
# Node classification
make run examples/node_classification/hypergcn.pyThe tutorials guide lists examples for dataset loading, feature enrichment, hyperlink prediction, node classification, sampling, splitting, and training customization.
See CONTRIBUTING.md for the contributor quickstart and the development guide for the complete workflow.
Read the documentation for installation, tutorials, user guides, API references, development guidance, and release notes.
Build or serve it locally with the documented Makefile targets:
make docs-build
make docs-serveUse make docs to build and serve in one command. The local site is available at http://127.0.0.1:8000.
This project is released under the Apache License 2.0 license. See LICENSE.
- Use GitHub Discussions for questions and ideas.
- Use the GitHub issue tracker for bugs and feature requests.
- Use Discord for community chat.
Please follow SECURITY.md instead of opening a public issue for suspected security vulnerabilities.
Please cite us if you use HyperTorch in your work:
@software{Citro_HyperTorch_2026,
author = {Citro, Tiziano and De Vinco, Daniele and Spagnuolo, Carmine},
title = {{HyperTorch: A Python Library for Hypergraph Learning and Benchmarking}},
url = {https://github.com/hypernetwork-research-group/hypertorch},
year = {2026}
}