PyTorch Geometric (PyG) is a library for Graph Neural Networks (GNNs) built on PyTorch. It provides a modular framework for building and training GNNs, covering the full pipeline from data handling to model evaluation. The core architecture includes a message-passing base class (MessagePassing) that underpins dozens of convolution layers (e.g., GCN, GAT, SAGE, GIN, PNA, GPS), a composable aggregation system (e.g., sum, mean, attention, set2set, transformers), pooling operators (e.g., TopK, SAGPool, DiffPool), normalization layers, and high-level model implementations (e.g., SchNet, DimeNet, LightGCN, TGN, SGFormer). The library supports heterogeneous graphs, temporal graphs, point clouds, knowledge graphs, and distributed training. Key entry points include the `torch_geometric.nn`, `torch_geometric.data`, `torch_geometric.loader`, `torch_geometric.datasets`, and `torch_geometric.transforms` modules. External dependencies are primarily PyTorch itself, with optional packages (torch-scatter, torch-sparse, pyg-lib, etc.) for optimized operations. The repository also contains extensive examples, benchmarks, and an experiment management system (GraphGym). Although primarily a software library, it serves as a research platform with many paper reproductions and dataset loaders, making it a hybrid between a production-grade library and a research codebase.
PyGCL is a PyTorch-based library for Graph Contrastive Learning (GCL) that provides modular components for building GCL models. The library implements graph augmentation techniques, contrasting architectures, contrastive objectives, and negative sampling strategies. It features clean abstractions that separate concerns across different graph frameworks (PyG and DGL), standardized evaluation utilities, and comprehensive examples demonstrating usage. The architecture follows a modular design with distinct modules for augmentors, losses, models, evaluation, and utilities, allowing users to mix and match components to build custom GCL algorithms.
GQLAlchemy is a Python library and Object Graph Mapper (OGM) for the Memgraph graph database, with secondary support for Neo4j. It provides a fluent Cypher query builder, declarative node/relationship models (Pydantic v2-based), and full lifecycle management of graph database instances (Docker/binary), streams (Kafka, Pulsar), triggers, and high-availability routing. The library also includes a rich set of transformations for bidirectional conversion between Memgraph/Neo4j and popular graph machine learning frameworks (NetworkX, DGL, PyG, TF-GNN), as well as tabular data import (CSV, Parquet, ORC, Feather) from local filesystem, S3, and Azure Blob Storage. While primarily a software library for building graph applications, it has strong data research capabilities through its graph ML translators and ETL importers, making it a hybrid tool suited for both production graph apps and data science pipelines. The codebase is well-tested (unit and integration tests), has comprehensive CI/CD, and follows a modular architecture with abstract base classes for extensibility. However, some modules are large (e.g., monolithic query builders), and optional dependencies (PyTorch, DGL, TF-GNN, PyArrow) increase maintenance surface, with a medium level of technical drift due to some deprecated Pydantic v1 patterns and skipped tests.
graph_weather is a research-oriented deep learning library for weather forecasting with graph neural networks. It implements multiple model families—GraphCast-inspired encoder/processor/decoder models, the diffusion-based GenCast and GenDA, the ensemble FGN, WeatherMesh, Aurora, FengWu-GHR, and CaFA—along with a substantial set of data loaders, loss functions, training scripts, and evaluation utilities. The package is structured as a Python library with HuggingFace Hub model integration, PyTorch Lightning training support, and a comprehensive test suite, giving it a hybrid character: it is fundamentally research code, but packaged and tested with application-grade discipline. Entry points include GraphWeatherForecaster, GraphWeatherAssimilator, WeatherStationReader, and various dataset classes, while training scripts live under train/.
This repository is a comprehensive, curated list of anomaly detection (outlier detection) resources, maintained by the author of the PyOD library. It aggregates books, academic papers, tutorials, open-source toolkits, datasets, and relevant conferences/journals, covering tabular, time-series, graph, and text data modalities. The repository also includes two utility scripts: a downloader for paper PDFs and a robust URL checker for verifying links in the documentation. While the core value is the curated resource list itself, the utility scripts demonstrate clean engineering practices and are reusable for similar link-checking and batch download tasks. This is not a software application or data pipeline; it is a reference catalog for researchers and practitioners.
OpenHGNN is a comprehensive research framework for Heterogeneous Graph Neural Networks (HGNNs) built on PyTorch and DGL. The repository implements 83+ graph neural network models across 17+ tasks including node classification, link prediction, recommendation, knowledge graph completion, and temporal graph learning. It serves as a benchmarking platform for academic research, providing standardized implementations of state-of-the-art architectures like HGT, MAGNN, CompGCN, and HERO. The framework uses a registration pattern for dynamic model/trainer discovery and supports distributed training, hyperparameter optimization via Optuna, and GraphBolt integration for large-scale graphs. While it has CLI entry points and setup.py, its primary purpose is research reproducibility rather than production deployment. The codebase demonstrates strong architectural patterns with BaseDataset, BaseTask, and BaseFlow abstractions that enforce consistent interfaces across 50+ model implementations. However, significant technical debt exists including version mismatches (setup.py declares 0.7.0 while README claims 0.9.0), hardcoded dataset paths, mixed DGL/PyG usage, and monolithic configuration files. The repository contains extensive training artifacts in output/ directories and documentation drift between README, setup.py, and Sphinx docs. Despite these issues, it remains a valuable resource for graph learning researchers seeking reproducible implementations of heterogeneous GNN architectures.
This repository is a curated 'awesome list' for Federated Learning (FL) research, maintained as a Jekyll static site. It aggregates hundreds of linked GitHub repositories and DBLP search strategies. The core data asset is a machine-generated go.mod file that pseudo-pins the linked repositories as Go dependencies, produced by the add_dependent.py script which extracts GitHub URLs from README.md, queries the GitHub API for commit hashes, and writes a go.mod. However, this is not a functional Go module; it is a novelty lockfile. The dblp-search-keywords.md document provides a meticulous analysis of DBLP search syntax to discover FL papers without the 'federate' keyword. The repository has significant hybrid character: while it is primarily a content aggregation site (application-adjacent), its technical substance lies in the data exploration and search strategy documentation (research-oriented). The actual code is minimal and tightly coupled to the repository's specific structure, limiting reusability. The add_dependent.py script is a one-time scraper with hardcoded rate limiting and token placeholder, not a general-purpose tool.