This change log provides version history for the Streamlit Dashboard.
View the Streamlit dasboard: https://streamlit.digitalghost.dev/
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- MAJOR: Any changes to the backend infrastructure that requires new methods of moving data that won't work with the previous architecture, mainly with the addition of new databases or data sources.
- MINOR: Any changes to the Streamlit dashboard that adds a new interaction/feature or removal of one.
- PATCH: Any changes that fix bugs, typos or small edits.
- #184 - Changed the calling of the dashboard's different components to using the new
@st.experimental_fragment
decorator in Streamlit's1.33.0
version. - #185 - Changed the News section into an importable
class
.
2.17.0 | 2024-03-17
- #183 - Added a new Recent Injuries section under Players & Injuries tab.
- #182 - Changed the tab name for Players Statistics to Players & Injuries.
2.16.1 | 2024-03-01
- #181 - Changed
components/connections.py
to use new dataset in BigQuery for team squads.
2.16.0 | 2024-02-11
- #179 - Added a new tab that shows a stock chart for MANU, Manchester United's stock ticker.
- #180 - Added a
st.info
andst.warning
message to explain the tab with its functions and to explain that no data was found, respectively.
2.15.0 | 2024-01-28
- #165 - Added each team's club icon to the Squads tab when a team is selected from the dropdown menu.
- #172 - Added a new Players Statistics tab.
- #164 - Changed the default value
st.selectbox
toNone
in the Squads tab. - #168 - Changed the
max_value
for eachst.dataframe
to programatically calaculate based on current max value in the DataFrame under the League Statistics section. - #171 - Changed line chart under Point Progression throughout the Season section to use plotly instead of Streamlit's built in
st.line_chart
method.
- #170 - Removed
for
loop that previously generated the sections for Goalkeepers, Defenders, Midfielders, and Attackers under the Squads tab. - #173 - Removed
st.container
border from Top 5 Teams and Top 5 Scorers sections.
2.14.1 | 2024-01-25
- #169 - Changed the query for
components/connections.py
to reflect table schema changes for the standingsst.dataframe
.
2.14.0 | 2024-01-08
- #154 - Added a new tab called Squads that displays the current squad for each team in the league.
- #153 - Changed the Fixtures
st.header()
tost.subheader()
. - #155 - Changed the About
st.header()
tost.subheader()
.
2.13.0 | 2023-12-19
- #148 - Added a
st.header
titled Fixtures to the fixtures tab. - #146 - Added a new section that shows highlights using the YouTube API under the News & Highlights tab.
- #149 - Changed the current
st.subheader
tost.header
on the About tab. - #147 - Changed the News tab to News & Highlights to reflect the new section that was added.
2.12.1 | 2023-12-12
- #144 - Fixed the
st.line_chart
Point Progression section to display the correct column for the legend.
2.12.0 | 2023-12-11
- #138 - Added borders around the Top 5 Teams and Top 5 Scorers
st.container
sections. - #125 - Added a Games Played column to the
st.dataframe
Standings table.
- #143 - Changed the postiion of the Points column in the
st.dataframe
Standings table to be the second column.
2.11.5 | 2023-12-02
- #137 - Changed the Points Progression section into an importable
class
. - #136 - Changed the Top Teams section into an importable
class
. - #135 - Changed the League Forms section into an importable
class
. - #134 - Changed the Top Scorers section into an importable
class
.
- #139 - Fixed the
st.subheader
typo in "Points Progression" section.
2.11.4 | 2023-12-01
- #128 - Fixed the method of retrieving an item from a pandas DataFrame since the previous method will be deprecated.
- #133 - Removed dependency on a
.streamlit/secrets.toml
file for authentication.
2.11.3 | 2023-11-27
- #127 - Changed the maximum value for the
average_goals_df
st.dataframe
and for thewin_streak_df
st.dataframe
. - #126 - Changed the text for the win streak
st.dataframe()
to display Biggest Win Streak instead of Current Win Streak. - #124 - Changed the
social_media_section.display()
function to be called only once at the end of thestreamlit_app()
function instead of in each tab. - #123 - Changed the data connection functions into importable functions where all queries are now cached.
2.11.2 | 2023-11-17
- #122 - Changed the
Dockerfile
to handle the theme configuration instead of using a.streamlit/config.toml
file. - #121 - Changed the icon for the dashboard from an image hosted on GCP's Cloud Storage to using SimpleIcon's Premier League icon.
2.11.1 | 2023-11-15
- #119 - Changed import names in
streamlit_app.py
to match new naming standard. - #118 - Changed file names under
components/
to end with_section.py
for better clarity. - #117 - Changed the
firestore_pull()
function into an importableclass
.
- #120 - Removed the
toast()
function.
2.11.0 | 2023-11-03
- #112 - Added an About tab to display information about the project and the author.
- #114 - Changed the
stadiums_map()
function into an importableclass
.
- #115 - Fixed the SQL responsible for populating the
st.dataframe
for Standings to order rows byrank
.
- #113 - Removed Top Teams Movement section from Standings & Overview tab.
2.10.3 | 2023-10-26
- #104 - Changed the
social_media()
function into an importableclass
from the newly createdcomponents/
directory.
2.10.2 | 2023-10-20
- #103 - Changed social media icons into static
.svg
files instead of using Font Awesome icons.
2.10.1 | 2023-09-10
- #91 - Fixed the News tab to not error out when the table does not have at least 4 rows of data by implementing a
try/except
block.
2.10.0 | 2023-09-04
- #90 - Added
st.subheader
under main header to display current round. - #89 - Added News tab to display the latest news from the Premier League using the News API.
- #88 - Added club logo to the Standings
st.dataframe
.
2.9.1 | 2023-08-27
- #87 - Fixed the Standings column headers in the
st.dataframe
element to display proper column names instead of the SQL column names.
2.9.0 | 2023-08-20
- #75 - Added Docker logo to social media section with link to Docker Hub repository.
- #72 - Added
st.toast
to display a more subtle message to the user that the page is loading and when the data has loaded. - #78 Added a new
st.dataframe
table to display current total metrics for the league (Goals Scored, Penalties Scored, and Clean Sheets).
- #74 - Changed page title to "Streamlit: Premier League".
- #73 - Changed tab names from Standings to Standings & Overview and Statistics to Top Teams & Scorers.
- #76 - Changed
st.data_editor
tost.dataframe
for displaying the statistic tables.
- #79 - Fixed the
st.dataframe
tables under the Top Teams Movement section to display the correct data by sorting columns in descending order.
- Removed
st.spinner
.
2.8.0 | 2023-08-12
- Added
st.spinner
to run when page loads to allow all tabs and data to load before a user can start navigating. - Added type annotations to
standings_table()
function to returnDeltaGenerator
. - Added type annotations to
stadiums_map()
function to returnDeltaGenerator
.
- Changed
st.subheader
from "Standings" to "Current Standings". - Changed
st.table
tost.dataframe
for showing current standings. - Changed
st.map
location from Playground to Standings tab. - Changed the Social Media section to exist inside a function:
social_media()
and be called later in each tab. - Changed the standings table code to exist inside a function:
standings_table()
. - Changed the map code to exist inside a function:
stadiums_map()
. - Changed the format of writing out the Top 5 Teams, Top 5 Scorers, and Forms for the Rest of the League sections to use a
for
loop instead of writing out each section individually.
- Fixed the date to correctly display the suffix of the number (i.e. 1st, 2nd, 3rd, etc.) and to remove leading zeroes for single digit dates.
- Removed Playground Tab.
- Removed
pages/
directory as this app will continue development as a single page. - Removed
style.css
, standings table is no longer stylized with CSS. - Removed
st.slider
as interactive Streamlit elements in dashboards with tabs seemed to currently be bugged. st.bar_chart
has also been removed due to this bug.- Removed
import os
,import psycopg2
,import plotly.graph_objects as go
as they are no longer needed.
2.7.1 | 2023-07-13
- Main Page, Standings Tab: Fixed
iloc[X][X]
values to match the correct column to pull in correct data for the Top 5 Teams section.
2.7.0 | 2023-07-12
- Main Page, Standings Tab: Added 3
st.column_config.ProgressColumn
cards to display rankings of teams with the highestpenalties_scored
,average_goals
, andwin_streak
during the season.
- Main Pages, Standings Tab: Changed the data values for
label
andvalue
for thest.metric
card.
2.6.0 | 2023-06-28
- Playground Page: Added social media icons to bottom of page.
- Main Page, Statistics Tab: Added
assists
metric to the Top 5 Scorers Section. - Main Page, Standings Tab: Added a metric card to display the top 5 teams' position movement throughout the season.
- Main Page: Changed title to "2023-24" to reflect the new season.
- Main Page, Fixtures Tab: Changed ordering of
fixtures
to appear in chronological order.
- Main Page, Fixtures Tab: Removed extra comma from
fixtures
date.
2.5.0 | 2023-06-19
- Added a new page: Playground, that holds graphs with slicers, filters, and other sortable features that allows the end user view statitics in a custom way.
- Added
Recent_Form
tostandings
table as a new column. - Added string to display current date on Standings tab.
- Changed page title from Overivew to Premier League - Statistics, Scores & More.
- Changed Overview tab name to Standings.
- Removed map of stadium locations from Main page; moved it to the new Playground page.
2.4.0 | 2023-05-26
- Added number to Top 5 Teams section to indicate current rank.
- Added suffix to rank number in Forms for the Rest of the League section.
- Changed hyperlink for GitHub icon to point to GitHub profile instead of repository for project. A link to GitHub repository already exists by default.
- Added
target="_blank" rel="noopener noreferrer"
to anchor elements to allow linked icons to open properly.
2.3.1 | 2023-05-25
- Fixed broken link for GitHub Icon on all tabs.
2.3.0 | 2023-05-24
- Added text that displays the final gameday of the season.
- Added linked icons to social media pages.
- Changed tab title from Top Teams & Top Scorers to Statistics.
2.2.1 | 2023-05-19
- Fixed promotion/demotion legend by displaying items as a column instead of in a row.
2.2.0 | 2023-05-17
- Changed the hex colors used for promtion/demotion status.
- Changed the color of
locations
map markers toindigo
to match the rest of the theme.
- Added an extra color to denote europa conference league qualification promotion.
- Added solid border element to
standings
table to better denote promotion/demotion status. - Added text under table to explain which color denotes which promotion/demotion status.
2.1.0 | 2023-05-10
- Changed stadium
locations
map to use plotly expressscatter_mapbox
instead of Streamlit's built inst.map()
function.- This allows the stadium points to be hoverable which enables a tooltip that provides more information about the venue.
- Changed title to display Premier League Statistics / 2022-23 instead of Premier League Statistics / '22-'23.
2.0.2 | 2023-05-08
- Fixed the sorting of
rounds
to appear in decending order on thefixtures
tab.
2.0.1 | 2023-05-05
- Adding '
<=
' towhile
loop to get the current round. Previously, the Streamlit app would only select rounds that were less than theMAX
round which would omit the final round.
2.0.0 | 2023-05-02
Now using Firestore to store fixture data in a document format.
- Added
Fixtures
tab for all rounds in the current season. Updates 3 times a day and will add new rounds as they start.
1.3.0 | 2023-04-17
- Added page title.
- Added position number to teams in Forms for the Rest of the League section.
- Fixing capitalization for Forms for the Rest of the League subheader.
- Removed Emojis from tab titles.
1.2.0 | 2023-04-16
Top Teams Tab
- Renamed tab to: "⚽️ Top Teams & 🏃🏻♂️ Top Scorers".
- Changed
st.plotly_chart
tost.line_chart
. - Moved top scorers to this tab.
Top Players Tab
- Removed this tab, combined with top teams tab.
1.1.0 | 2023-04-07
Top Teams Tab
- Added
logo
andform
for the rest of the league.
Top Teams Tab
- Center aligning
logo
,form (last 5)
,clean sheets
,penalties scored
, andpenalties missed
in their containers. - Setting
logo
width for top 5 teams to150px
.
Top Players Tab
- Center aligning
photo
,name
,goals
,team
, andnationality
in their containers. - Setting
photo
width for top 5 players to150px
.
- Removed
LIMIT 5
from SQL query to pull all teams.
1.0.0 | 2023-04-05
Overview Tab
- View the current standings for the league for the current season.
- An adjustable slider gives control to focus in on teams that fit within a certain number of points.
- A bar chart with teams (x-axis) and points (y-axis) adjusts accordingly to the slider.
- A map with plots for the stadium locations for each team in the current season.
Top Teams Tab
- Shows the
logo
,form (last 5)
,clean sheets
,penalties scored
, andpenalties missed
for the current top five teams in the league. - A line graph depicts the rise in points over each matchday.
Top Players Tab
- Shows the
portrait
,goals
,team
, andnationality
of the current top five goal scorers in the league.