I am a student studying optimization, and I am interested in algorithms which finds step sizes satisfying the Wolfe (or strong Wolfe) conditions. I do know of one book which provides such an algorithm: Numerical Optimization by Nocedal and Wright. However, I find its presentation in this book somewhat difficult to understand. Could you please refer me to any resources which provide algorithm(s) for finding step sizes satisfying the Wolfe conditions? If they contain Python implementations that's a huge plus too. Thank you very much.