Spaces:
Sleeping
Sleeping
import datetime | |
import streamlit as st | |
from config import DEFAULT_ICON | |
from shared_page import common_page_config | |
from queries.footballguys.constants import YEAR | |
from queries.nflverse.github_data import get_snap_counts | |
from streamlit_filter import filter_dataframe | |
def load_data(): | |
data = get_snap_counts(YEAR) | |
data_load_time_str = datetime.datetime.utcnow().strftime("%m/%d/%Y %I:%M %p") | |
return data, data_load_time_str | |
def get_page(): | |
page_title = f"Snap Counts and Percentages - {YEAR}" | |
st.set_page_config(page_title=page_title, page_icon=DEFAULT_ICON, layout="wide") | |
common_page_config() | |
st.title(page_title) | |
if st.button("Refresh Data"): | |
st.cache_data.clear() | |
data, data_load_time_str = load_data() | |
st.write(f"Data loaded as of: {data_load_time_str} UTC") | |
with st.container(): | |
filtered_data = filter_dataframe(data, force_on=True, force_on_columns=["team", "position", "week", "opponent"]) | |
st.dataframe( | |
filtered_data, | |
hide_index=True, | |
# height=35 * (len(filtered_data) + 1) + 12, | |
use_container_width=False, | |
column_order=[ | |
"season", | |
"game_type", | |
"week", | |
"player", | |
"position", | |
"team", | |
"opponent", | |
"offense_snaps", | |
"offense_pct", | |
"defense_snaps", | |
"defense_pct", | |
"st_snaps", | |
"st_pct", | |
], | |
column_config={ | |
"season": st.column_config.TextColumn(help="Year of NFL Season"), | |
}, | |
) | |
if __name__ == "__main__": | |
get_page() | |