Algebraic Graph Algorithms : A Practical Guide Using Python