Simon Willison’s Weblog

Subscribe

November 2019

75 posts: 4 entries, 11 links, 3 quotes, 57 beats

Nov. 1, 2019

Museum DEVIL-ish Little Things — 3409 L Street, Vancouver, Washington

Nov. 2, 2019

Release datasette 0.30.1 — An open source multi-tool for exploring and publishing data
Release datasette-leaflet-geojson 0.4 — Datasette plugin that replaces any GeoJSON column values with a Leaflet map.
Release datasette-cluster-map 0.7 — Datasette plugin that shows a map for any data with latitude/longitude columns
Museum Mardi Gras World — 1380 Port of New Orleans Place, New Orleans, LA 70130

Why you should use `python -m pip` (via) Brett Cannon explains why he prefers “python -m pip install...” to “pip install...”—it ensures you always know exactly which Python interpreter environment you are installing packages for. He also makes the case for always installing into a virtual environment, created using “python -m venv”.

# 4:41 pm / packaging, python, brett-cannon

Museum Environmental Volunteers EcoCenter — 2560 Embarcadero Road, Palo Alto, CA 94303
Release datasette 0.30.2 — An open source multi-tool for exploring and publishing data

Nov. 3, 2019

Museum Evergreen Aviation & Space Museum — 500 Northeast Captain Michael King Smith Way, McMinnville, OR 97128

Nov. 4, 2019

Release sqlite-transform 0.1 — Tool for running transformations on columns in a SQLite database
Release sqlite-transform 0.2 — Tool for running transformations on columns in a SQLite database

sqlite-transform. I released a new CLI tool today: sqlite-transform, which lets you run “transformations” against a SQLite database. I built it out of frustration of constantly running into CSV files that use horrible American date formatting—the “sqlite-transform parsedatetime my.db mytable col1” command runs dateutil’s parser against those columns and replaces them with a nice, sortable ISO formatted timestamp. I’ve also added a “sqlite-transform lambda” command that lets you specify Python code directly on the command-line that should be used to transform every value in a specified column.

# 2:41 am / cli, projects, sqlite

Release sqlite-transform 0.3 — Tool for running transformations on columns in a SQLite database

Cloud Run Button: Click-to-deploy your git repos to Google Cloud (via) Google Cloud Run now has its own version of the Heroku deploy button: you can add a button to a GitHub repository which, when clicked, will provide an interface for deploying your repo to the user’s own Google Cloud account using Cloud Run.

# 4:57 am / github, google, cloudrun

Release twitter-to-sqlite 0.14 — Save data from Twitter to a SQLite database
Museum Autoservicio Condorito — Avenue Arístides Villanueva 644, M5500 Mendoza, Argentina

selenium-demoscraper (via) Really useful minimal example of a Binder project. Click the button to launch a Jupyter notebook in Binder that can take screenshots of URLs using Selenium-controlled headless Firefox. The binder/ folder uses an apt.txt file to install Firefox, requirements.txt to get some Python dependencies and a postBuild Python script to download the Gecko Selenium driver.

# 3:05 pm / firefox, selenium, tony-hirst, jupyter

Weeknotes: More releases, more museums

Lots of small releases this week.

[... 538 words]

Nov. 5, 2019

Museum Dingles Fairground Heritage Centre — The Fairground Heritage Centre, Milford, Lifton, Devon, PL16 0AT, UK

Nov. 6, 2019

Automate the Boring Stuff with Python: Working with PDF and Word Documents. I stumbled across this while trying to extract some data from a PDF file (the kind of file with actual text in it as opposed to dodgy scanned images) and it worked perfectly: PyPDF2.PdfFileReader(open("file.pdf", "rb")).getPage(0).extractText()

# 4:17 pm / pdf, python

Museum Ilfracombe Museum — Wilder Road, Ilfracombe, EX34 8AF, United Kingdom

The first ever commit to Sentry (via) This is fascinating: the first 70 lines of code that started the Sentry error tracking project. It’s a straight-forward Django process_exception() middleware method that collects the traceback and the exception class and saves them to a database. The trick of using the md5 hash of the traceback message to de-dupe errors has been there from the start, and remains one of my favourite things about the design of Sentry.

# 11:08 pm / django, sentry

Nov. 7, 2019

Release sqlite-utils 1.12 — Python CLI utility and library for manipulating SQLite databases
Release sqlite-utils 1.12.1 — Python CLI utility and library for manipulating SQLite databases
Museum Barometer World — Quicksilver Barn, Merton, Okehampton, Devon EX20 3DS

pinboard-to-sqlite (via) Jacob Kaplan-Moss just released the second Dogsheep tool that wasn’t written by me (after goodreads-to-sqlite by Tobias Kunze)—this one imports your Pinterest bookmarks. The repo includes a really clean minimal example of how to use GitHub actions to run tests and release packages to PyPI.

# 8:46 pm / github, jacob-kaplan-moss, pypi, pinboard, dogsheep

Nov. 8, 2019

Release healthkit-to-sqlite 0.4 — Convert an Apple Healthkit export zip to a SQLite database
Release yaml-to-sqlite 0.2.1 — Utility for converting YAML files to SQLite
Museum La Galcante — 52 rue de l'Arbre Sec, 75001 Paris, France

Nov. 9, 2019

Museum Musée des Arts et Métiers — 60 Rue Réaumur, 75003 Paris, France

2019 » November

MTWTFSS
    123
45678910
11121314151617
18192021222324
252627282930