File size: 1,173 Bytes
86f5e84
7a18dc2
 
 
 
f47916d
 
 
 
7a18dc2
f47916d
86f5e84
e2b52d0
 
7a18dc2
c0c7d17
 
7a18dc2
 
b7f4f75
 
c0c7d17
b7f4f75
c0c7d17
 
 
c9e9696
 
 
 
 
 
 
 
 
 
 
 
 
 
7a18dc2
 
b7f4f75
 
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
45
import os
import streamlit as st
import pandas as pd


LEAGUE_NAME = "LOFG"
DATA_URL = "../tests/mocks/2023_keepers.csv"


@st.cache_data
def load_data():
    data = pd.read_csv(os.path.join(os.path.dirname(__file__), DATA_URL), index_col=0)
    # Hack to get position, replace with better position from yahoo api in future
    data["position"] = data["eligible_positions"].apply(lambda x: eval(x)[0])
    data.columns = data.columns.str.lower()
    teams_list = sorted(list(data["team_name"].unique()))
    return data, teams_list


def get_app():
    st.title(f"{LEAGUE_NAME} Keeper Options")
    data, teams_list = load_data()

    teams_selected = st.multiselect("Team:", teams_list)
    teams_filter = data["team_name"].isin(teams_selected) if teams_selected else data["team_name"].isin(teams_list)

    filtered_data = data.loc[teams_filter]
    st.dataframe(
        filtered_data,
        hide_index=True,
        column_order=[
            "team_name",
            "name",
            "position",
            "keeper_cost",
            "years_eligible",
            "eligible",
        ],
        column_config={},
    )


if __name__ == "__main__":
    get_app()