from flask import Flask, render_template, url_for
import pandas as pd
app = Flask(__name__)
@app.route('/')
def index():
# Load the CSV file into a DataFrame
df = pd.read_csv('static/leaderboard.csv')
df = df.round(3)
df.insert(0, '#', '')
df = df.rename(columns={
"Ordinal (Win rate)": "Ordinal (Win rate) (+)",
"Cardinal (Score)": "Cardinal (Score) (+)",
"RO Stability": "RO Stability (+)",
"Rank Distance": "Rank Distance (-)",
"CFI": "CFI (+)",
"SRMR": "SRMR (-)",
"RMSEA": "RMSEA (-)",
"Cronbach alpha": "Cronbach alpha (+)"
})
# Generate the table HTML with clickable model names
table_html = df.to_html(classes='table table-striped table-bordered', escape=False, index=False)
# Modify the table HTML to add links to model names
for model in df['Model']:
model_link = f'{model}'
table_html = table_html.replace(f'>{model}<', f'>{model_link}<')
# Render the template with the table HTML
return render_template('index.html', table_html=table_html)
@app.route('/model/')
def model_detail(model_name):
return render_template('model_detail.html', model_name=model_name)
@app.route('/about')
def about():
return render_template('about.html')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860, debug=True)