Simon Willison

Results 2693 comments of Simon Willison

It failed again, this time with a 500 not a 400 and with a different version combo: Flaky test failed again in a different way: https://github.com/asg017/datasette/actions/runs/9503497141/job/26194049093 ``` def test_max_csv_mb(app_client_csv_max_mb_one): #...

That second failure looks like we need to catch the `datasette.database.QueryInterrupted` exception somewhere.

Had a great suggestion here: https://chaos.social/@djh/112594380456382194 > I believe you could quickly check this by running docker images e.g. > ``` > docker run -it --rm debian:... > docker run...

The biggest question to answer here is if there are any widely used distros that we need to support - like Red Hat Enterprise Linux - which ship with an...

Decision: we're going to go with the first release that added window functions, and tell anyone with older versions to use `pysqlite3`. **3.25 (2018-09-15)** With the JSON extension enabled (it's...

Automated tests: let's test Mac an Ubuntu against all supported Python's against SQLite minimum version AND SQLite latest version.

Our earliest supported version can be downloaded from https://www.sqlite.org/2018/sqlite-amalgamation-3250300.zip

Following https://til.simonwillison.net/sqlite/sqlite-version-macos-python Built the macOS `dylib` like this: ```bash cd /tmp wget 'https://www.sqlite.org/2018/sqlite-amalgamation-3250300.zip' unzip sqlite-amalgamation-3250300.zip cd sqlite-amalgamation-3250300 gcc -dynamiclib sqlite3.c -o libsqlite3.0.dylib -lm -lpthread \ -DSQLITE_ENABLE_FTS3 \ -DSQLITE_ENABLE_FTS3_PARENTHESIS \ -DSQLITE_ENABLE_FTS4...

Here's the recipe to get that version of SQLite with Python in an Ubuntu Docker container. First save this as `script.sh`: ```bash #!/bin/bash export DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install...

Then in the shell I need to do this: ``` LD_PRELOAD=sqlite-amalgamation-3250300/libsqlite3.so python -c 'import sqlite3; print( sqlite3.connect(":memory:").execute("select sqlite_version()").fetchall() )' ```