<｜begin▁of▁sentence｜>### Instruction:
Given a graph with the edge set [(0, 1), (1, 2), (2, 3), (3, 4), (1, 5), (5, 6)], can you use the Graph.Graph.bfsiter function in igraph to iterate over the vertices in the order they are discovered in a breadth-first search starting from vertex 0? Notes: Print each vertex's name and its level in the BFS tree.
### Response:
from igraph import Graph

# Example usage
# Create a simple undirected graph
edges = [(0, 1), (1, 2), (2, 3), (3, 4), (1, 5), (5, 6)]
g = Graph(edges=edges)

# Use bfsiter to iterate over the graph in a BFS manner starting from vertex 0
for vertex in g.bfsiter(0):
    print(vertex['name'], vertex['level'])
<|EOT|>
