gradio pandas openai loguru promptic tenacity PyMuPDF ebooklib bs4