Exploring Toronto's Restaurant Inspection Data with DineSafe
As a lover of good food, I’ve always been curious about restaurant health inspections. So, I decided to take matters into my own hands and create a tool that makes it easy to explore Toronto’s DineSafe data.
I built a scraper using Python and the sqlite-utils library. It gathers data on restaurant inspections and stores it in a SQLite database. But I didn’t stop there – I added some automation magic to make the process even more fun!
Now, thanks to a GitHub Actions workflow, the scraper runs every day at 9 am and deploys the database to an instance of Datasette running on Vercel.
Datasette is a super cool tool that lets you explore and visualize data in a fun and interactive way. So, whether you’re a foodie, data enthusiast, or just curious about what’s happening behind the scenes in your favorite restaurant, this project is for you.
Check out the GitHub repository to see the code and learn how to set up your own instance of the scraper. You can also explore the data and play around with visualizations on the DineSafe Toronto website.
Arc App's JSON Export to SQLite
I started working on a Dogsheep utility for processing Arc App’s Daily (or Monthly) JSON exports into a SQLite database. This provides the ability to analysis the places I visit and activities I am doing in Datasette.
I’ve published a working alpha version of the Dogsheep utility, arc-to-sqlite on my GitHub. Check it out if you are interested.
😢 My Stupid Weather Twitter Profile Bot Got Suspended
My little weather-updating Twitter bot was finally suspended after seven years.
Seven years ago, I created a little Python script that would add a weather emoji to my Twitter handle, based on the current conditions in Toronto. I don’t think anyone besides myself notices, but it always made me happy to see my handle change to ☀️ Myles Braithwaite
on a sunny day.
Today, I received an email from the Twitter Developer Platform, informing me that my bot was suspended from accessing the Twitter API. I tried to appeal the decision, but the web form kept giving me an error.
I knew this day was coming when I had to give up on this bot, I used DarkSky’s API to get the current weather, which API was disconnected on 31 March 2023. Strangely enough, my bot continued to work for a while after that. Just all feels pretty sudden.