Every March the SXSW film/music/tech festival invades Austin for a week plus. There's even a job fair, which /used/ to be free and amazing (if mostly out of town companies hiring). But this year it required a trade show badge- badges for the different parts range from \$500 - \$2000, which is pretty exclusivist if you ask me, but it's ok. What matters is that there's still a ton of free music shows, every day, with local bands and those from as far away as Germany.
The whole thing's kinda chaotic though, with plans being plans being settled the week before and some local venues each squeezing 15 bands into a day. Fortunately, a local paper publishes a list of unofficial, mostly free shows that don't require badges. The list is exhaustive though, covering 9 days, and very tedious to read through!
View web preserved one from 2018 here: Austin Chronicle Unofficial Shows

As you can see the shows are sorted by day --> venue. It'sWhat I'd like is to be able to see a list of shows by performer, without combing all this- it's pretty easy to miss when scanning this mess. Enter, the SXSorter!
I used BeautifulSoup to parse through the html, break up the performers, extract their show times (when listed) and then output to a nice unnested json, which is easily loaded into Pandas or Sql.
import pandas as pd
import os
wdir = '/Users/candicewithrow/code/SXSorter/data'
all_performances = 'SXSWfreeShows.json'
perf_df = pd.read_json(os.path.join(wdir, all_performances), orient= 'record', dtype = False)
perf_df[perf_df['perf_name']=='Calliope Musicals']
I didn't quite finish this in time to use it until the end this year, but boy did I need a beautiful soup refresher! Hopefully next year the format won't have changed much- I may explore making a little web app with it next, just to learn some tools. :)