7A: Version Control with Git and Github in VSCode
Today we're going to be looking at the crucial importance of version control, and how we can use Git - a distributed version control system - to allow us to this.
We'll also look at how we can use Git with GitHub to publish and work with repositories hosted online.
7B: An Introduction to Python Web Apps with Streamlit
Today we're going to start looking at building web apps entirely in Python using the fantastic Streamlit framework.
In this first session, we cover
• how to run a Streamlit app locally
• the simple building blocks of Streamlit apps, like titles, text, images, videos, metric cards, and information boxes
• how to obtain and use input from the user in a range of ways, such as text inputs, date pickers, numeric range sliders, dropdowns, and more
• displaying and editing dataframes
• displaying static and interactive graphs and maps
• laying out your dashboard with columns, tabs, expanders
• allowing the user to upload files
• creating download buttons for charts, maps and dataframes
• the history of web frameworks (slides only)
7C Python Web Apps with Streamlit - Discrete Event Simulation and Advanced Streamlit
Today we're going to explore some more advanced features of the Streamlit framework, as well as deploying our app on Streamlit's free hosting - the Streamlit community cloud.
In this second Streamlit session, we cover
• how to create a interactive app frontend for a simple discrete event simulation (DES) script
• creating a sidebar for our inputs or other Streamlit elements
• preventing functions from running until a button is clicked
• separating your app code from your other code
• splitting your app into multiple pages
• setting custom app colours and other simple theming parameters with the config.toml file
• adding a logo to your app
• using custom css for advanced theming, including changing fonts
• caching data and other reusable elements with the caching decorators to speed up your app and reduce memory usage
• using session state and callbacks to persist data across pages and runs
• setting up parts of your app to rerun independently with the fragment decorator
• deploying an app to the Streamlit community cloud