MuhammadHananKhan123 commited on
Commit
f947ccc
·
verified ·
1 Parent(s): 9597002

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -0
app.py CHANGED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+
4
+ # Load materials data
5
+ @st.cache
6
+ def load_data():
7
+ # This data should be preprocessed and saved as a CSV for properties and materials
8
+ data = pd.read_csv('materials_properties.csv')
9
+ return data
10
+
11
+ # Title
12
+ st.title("Material Selector App")
13
+ st.sidebar.title("Material Filters")
14
+
15
+ # Load data
16
+ data = load_data()
17
+
18
+ # Filters
19
+ st.sidebar.header("Filter by Class")
20
+ material_class = st.sidebar.selectbox("Select Material Class", data['Class'].unique())
21
+
22
+ st.sidebar.header("Filter by Properties")
23
+ property_filter = st.sidebar.multiselect("Select Properties to Filter", data.columns[2:], default=[])
24
+
25
+ # Filter data based on selection
26
+ filtered_data = data[data['Class'] == material_class]
27
+ if property_filter:
28
+ filtered_data = filtered_data[property_filter + ['Material', 'Class']]
29
+
30
+ # Show filtered data
31
+ st.subheader("Filtered Materials")
32
+ st.write(filtered_data)
33
+
34
+ # Download filtered data
35
+ st.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
+ # Footer
43
+ st.markdown("Powered by Streamlit and designed for Hugging Face deployment.")