Skip to content

HyperGraph Isomorphism Checker

Welcome to the documentation for the Hypergraph Isomorphism Checker (HgIC) project!

Overview

The current version is a serial Python library for directed hypergraphs.

Key Features

  • ๐Ÿ”— Graph Structures: Support for directed hypergraphs/graphs
  • โœ… Validation: Comprehensive validation of graph structures and signatures
  • ๐ŸŽจ Visualization: Built-in support for rendering graphs using Graphviz
  • ๐Ÿงช Well-Tested: Extensive test coverage with pytest
  • ๐Ÿš€ Type-Safe: Full type hints for better IDE support and code quality

Use Case

from IsomorphismChecker_python_serial.node import Node
from IsomorphismChecker_python_serial.edge import Edge
from IsomorphismChecker_python_serial.graph import Graph

# Create nodes
n1 = Node(index=0, label="A")
n2 = Node(index=1, label="B")

# Create edge
edge = Edge(source=n1, target=n2, label="f")

# Create graph
graph = Graph(nodes=[n1, n2], edges=[edge])

# Validate
if graph.is_valid():
    print("Graph is valid!")

Getting Started

Check out the Installation Guide to get started with the HgIC.

Project Structure

src/IsomorphismChecker_python_serial/
โ”œโ”€โ”€ node.py              # Node definitions
โ”œโ”€โ”€ edge.py              # Simple edge definitions
โ”œโ”€โ”€ hyperedge.py         # Hyperedge definitions
โ”œโ”€โ”€ graph.py             # Directed graph implementation
โ”œโ”€โ”€ hypergraph.py        # Hypergraph implementation
โ”œโ”€โ”€ signature.py         # Signature handling
โ”œโ”€โ”€ diagram.py           # Graph visualization
โ”œโ”€โ”€ validation.py        # Validation utilities
โ””โ”€โ”€ ...

Contributing

We welcome contributions! See our Contributing Guide for details.

Table of Contents