======= POM CSV ======= Export the dependencies from the POM file to a CSV file. Open a Streamlit window that contains a text area where you can paste the contents of the `pom.xml` file. After pasting, you can click the **"Parse"** button to process the data, and then click the **"Save CSV"** button to download the CSV file. :: import streamlit as st import xmltodict import pandas as pd Print banner. :: @st.cache_data def print_banner(): print(""" _______ _______ __ __ _______ _______ __ __ | || || |_| | | || || | | | | _ || _ || | ____ | || _____|| |_| | | |_| || | | || ||____| | || |_____ | | | ___|| |_| || | | _||_____ || | | | | || ||_|| | | |_ _____| | | | |___| |_______||_| |_| |_______||_______| |___| """) return 1 print_banner() pom_text = st.text_area("POM") Parse dependencies in "pom.xml" and store them to dataframe. Dataframe is stored in ``session_state``. :: if st.button("Parse"): tree = xmltodict.parse(pom_text) dependencies = tree['project']['dependencies']['dependency'] st.session_state.df = pd.DataFrame(dependencies) st.write(f"### `{len(dependencies)}` dependencies") st.table(st.session_state.df) Save dataframe to csv file. :: if "df" in st.session_state and st.button("Save CSV"): csv_name = 'pom.csv' st.session_state.df.to_csv(csv_name, index=False) st.write(f"`{csv_name}` created")