pdfkit jinja2 openai pdfkit numpy langchain pydantic typing datetime