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.")