MuhammadHananKhan123's picture
Update app.py
f947ccc verified
import streamlit as st
import pandas as pd
# Load materials data
@st.cache
def load_data():
# This data should be preprocessed and saved as a CSV for properties and materials
data = pd.read_csv('materials_properties.csv')
return data
# Title
st.title("Material Selector App")
st.sidebar.title("Material Filters")
# Load data
data = load_data()
# Filters
st.sidebar.header("Filter by Class")
material_class = st.sidebar.selectbox("Select Material Class", data['Class'].unique())
st.sidebar.header("Filter by Properties")
property_filter = st.sidebar.multiselect("Select Properties to Filter", data.columns[2:], default=[])
# Filter data based on selection
filtered_data = data[data['Class'] == material_class]
if property_filter:
filtered_data = filtered_data[property_filter + ['Material', 'Class']]
# Show filtered data
st.subheader("Filtered Materials")
st.write(filtered_data)
# Download filtered data
st.sidebar.download_button(
label="Download Filtered Data as CSV",
data=filtered_data.to_csv(index=False),
file_name='filtered_materials.csv',
mime='text/csv',
)
# Footer
st.markdown("Powered by Streamlit and designed for Hugging Face deployment.")