MuhammadHananKhan123/Material-Selector-App1
0
1import streamlit as st2import pandas as pd3 4# Load materials data5@st.cache6def load_data():7 # This data should be preprocessed and saved as a CSV for properties and materials8 data = pd.read_csv('materials_properties.csv')9 return data10 11# Title12st.title("Material Selector App")13st.sidebar.title("Material Filters")14 15# Load data16data = load_data()17 18# Filters19st.sidebar.header("Filter by Class")20material_class = st.sidebar.selectbox("Select Material Class", data['Class'].unique())21 22st.sidebar.header("Filter by Properties")23property_filter = st.sidebar.multiselect("Select Properties to Filter", data.columns[2:], default=[])24 25# Filter data based on selection26filtered_data = data[data['Class'] == material_class]27if property_filter:28 filtered_data = filtered_data[property_filter + ['Material', 'Class']]29 30# Show filtered data31st.subheader("Filtered Materials")32st.write(filtered_data)33 34# Download filtered data35st.sidebar.download_button(36 label="Download Filtered Data as CSV",37 data=filtered_data.to_csv(index=False),38 file_name='filtered_materials.csv',39 mime='text/csv',40)41 42# Footer43st.markdown("Powered by Streamlit and designed for Hugging Face deployment.")44 