python – Implementing BFS for Adj List

I am trying to implement a BFS to get the path from a starting vertex using the code below, where can I go from here?

class Node:
    def __init__ (self, value):
        self.vertex = value
        self.next = None

class Graph:
    def __init__(self, vertices):
        self.vx = vertices
        self.graph = (None) * self.vx
    def add_edge(self, node1, node2):
        # This is connection for 1st node
        node = Node(node2)
        node.next = self.graph(node1)
        self.graph(node1) = node

        # This is connection for 2nd node
        node = Node(node1)
        node.next = self.graph(node2)
        self.graph(node2) = node

    def print(self):
        print("Adjacency List")
        for i in range(len(self.graph)):
            print(i, ":", end="")
            a = self.graph(i)
            while a:
                print(" " ,(a.vertex), end="")
                a = a.next
            print("n",end="")
    
    

# First Graph
graph = Graph(8)
graph.add_edge(0, 2)
graph.add_edge(0, 3)
graph.add_edge(1, 4)
graph.add_edge(2, 1)
graph.add_edge(2, 3)
graph.add_edge(3, 4)
graph.add_edge(3, 5)
graph.add_edge(4, 5)
graph.add_edge(5, 7)

So for example if I input 2 I want the path to be able to go to 0.
Meaning it’ll have 2 > 0