Repository: evidentlyai/evidently
Issue: Report object has no attribute save_html function
Root cause: Documentation Deficiency

I'm using the python 3.12 and evidently 0.7.4 version. I'm running the attached codes below for rendering the  testing report html file in the dashboard. Unfortunately, I got the error message showing save_html function is not available in the report object:

 `AttributeError: 'Report' object has no attribute 'save_html' `  , However, I do see that this `save_html` function is available from the official doc.

Any suggestions?

```
# === 🔟 Monitoring Dashboard ===
st.markdown("---")
st.subheader("📊 Monitoring Dashboard")

if os.path.exists(LOG_FILE):
    # Load logged data
    logged_data = pd.read_csv(LOG_FILE, parse_dates=['timestamp'])

    # Ensure minimal data exists to generate report
    if len(logged_data) >= 3:
        # Reference = first 50 rows, Current = last 50 rows
        reference_data = logged_data.head(50)
        current_data = logged_data.tail(50)

        # Drop empty columns from both datasets
        reference_data = reference_data.dropna(axis=1, how='all')
        current_data = current_data.dropna(axis=1, how='all')

        # Ensure both datasets have the same columns
        common_columns = reference_data.columns.intersection(current_data.columns)
        reference_data = reference_data[common_columns]
        current_data = current_data[common_columns]

        # Generate Evidently report
        report = Report([
            DataDriftPreset(),
            DataSummaryPreset()
        ],
        include_tests=True)
        
        # Run the report (no return value!)  
        report.run(current_data, reference_data)
       
        # Save the report as an HTML file
        report_file = "./evidently_report.html"
        report.save_html(report_file)
 
        # Render the HTML file in Streamlit
        with open(report_file, "r") as f:
            html_content = f.read()
        st.components.v1.html(html_content, height=800)

        with st.expander("🔎 View Logged Data"):
            st.dataframe(logged_data)
    else:
        st.info("Need at least 3 logged predictions to generate monitoring report.")
else:
    st.info("No predictions have been logged yet. Make some predictions to start monitoring.")
```





Hi @Jiadalee,

The Report object holds the definition of Metric that you want to include. To run the Report, you create a new object for this specific run that you can save. 

Try the following:

```python
# Run the report 
my_eval = report.run(current_data, reference_data)

# Save the report as an HTML file
my_eval.save_html
```

@elenasamuylova  hello, thank you for your answer.  Should I put the code `report_file = "/home/jyl51/jupyter_notebooks/ChagasDisease/evidently_report.html"`  between your codes?

```
# Run the report 
my_eval = report.run(current_data, reference_data)

# Save the report as an HTML file
my_eval.save_html
```

@elenasamuylova I still got no html file message: 

`FileNotFoundError: [Errno 2] No such file or directory: './evidently_report,html'`

@elenasamuylova I revised yours as this `my_eval.save_html(report_file)`. It works now.

i am facing the same issue with the following code
`import numpy as np
from evidently import Report
from evidently.presets import DataDriftPreset

# Create the report using new syntax
report_cat = Report(
    metrics=[DataDriftPreset(method="psi")],  # you can use method="statistical" or "psi"
    include_tests=True  # Optional: run built-in statistical tests
)

# Run the report (no need to assign to a new variable)
report_cat.run(reference_data=train_cat_clean, current_data=val_cat_clean)

# Save the report as HTML
report_cat.show_html("/home/yugesh.verma/ABSLI4.0/model_retraining/data_drift_anlysis/cat_drift_report.html")

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[68], [line 3](vscode-notebook-cell:?execution_count=68&line=3)
      [1](vscode-notebook-cell:?execution_count=68&line=1) report_cat = Report(metrics=[DataDriftPreset()])
      [2](vscode-notebook-cell:?execution_count=68&line=2) report_cat.run(reference_data=train_cat_clean, current_data=val_cat_clean)
----> [3](vscode-notebook-cell:?execution_count=68&line=3) report_cat.show(mode='inline')  # or report_cat.save_html("cat_drift.html")

AttributeError: 'Report' object has no attribute 'show'