MaheshP98's picture
Rename utils/utils/report.py to utils/report.py
c4dff93 verified
raw
history blame contribute delete
730 Bytes
from weasyprint import HTML
import pandas as pd
import logging
import os
logger = logging.getLogger(__name__)
def generate_pdf(df):
"""Generate a PDF report from log data."""
logger.info("Generating PDF report...")
try:
html_content = f"""
<h1>LabOps Dashboard Report</h1>
<p>Generated on: {pd.Timestamp.now().strftime('%Y-%m-%d')}</p>
<h2>Log Data</h2>
{df.head().to_html(index=False)}
"""
pdf_path = "/tmp/labops_report.pdf"
HTML(string=html_content).write_pdf(pdf_path)
logger.info(f"PDF report saved to {pdf_path}")
return pdf_path
except Exception as e:
logger.error(f"Failed to generate PDF report: {e}")
raise