File size: 1,195 Bytes
f947ccc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
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.")
|