{"sha": "3e62ab62a88992d4bbb0fe83debec3bacd93ebf3", "message": "Correct some typos (#245)", "author_date": "2021-05-19T02:58:04Z", "committer_date": "2021-05-19T02:58:04Z", "raw_author": {"value": "fcf3b31d4679bb2112170ec4dda53dede33a16b3", "label": "Damien Ready"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 1076745, "label": "dbready"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "d95048031edb02bbc9892879507f55a4f29c5459", "message": "Split pypi and docker travis tasks (#480)\n\nThanks @glasnt!", "author_date": "2019-07-07T20:03:19Z", "committer_date": "2019-07-07T20:03:19Z", "raw_author": {"value": "f9a18a704545f33349d7b28b24faf7063846ae0a", "label": "Katie McLaughlin"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 813732, "label": "glasnt"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "34d77d780f68b778fd9d6ebbaf69f250436f055f", "message": "gcloud run is now GA, s/beta// (#660)\n\nThanks, @glasnt", "author_date": "2020-01-21T23:28:11Z", "committer_date": "2020-01-21T23:28:11Z", "raw_author": {"value": "f9a18a704545f33349d7b28b24faf7063846ae0a", "label": "Katie McLaughlin"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 813732, "label": "glasnt"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "6500fed8b2085869b9714ce3a08c30f61dc829ad", "message": "Transform no longer breaks non-string default values\n\nCloses #509", "author_date": "2023-05-08T21:13:36Z", "committer_date": "2023-05-08T21:13:36Z", "raw_author": {"value": "f98e0e8fe6ee48ca1f752bb408eecbbd294f9ceb", "label": "rhoboro"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 13819005, "label": "rhoboro"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "1c8457ddaa487aa2e677963d37217fcb6d544e59", "message": "Fix import error if note has no \"updated\" element (#8)\n\nCo-authored-by: Matej Korosec ", "author_date": "2021-02-11T22:34:05Z", "committer_date": "2021-02-11T22:34:05Z", "raw_author": {"value": "f85fb7898f36734a83fd9c8a2c2e96c751920c35", "label": "mkorosec"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 303218369, "label": "evernote-to-sqlite"}, "author": {"value": 4028322, "label": "mkorosec"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "ca5ba6b77b4c973fa7ba91008a2e99debfa306b4", "message": "Document setting Google Cloud SDK properties (#995)\n\nDocument setting Google Cloud SDK properties to avoid having to respond to interactive prompts when running `datasette publish cloudrun`.\r\n\r\nThanks, @ghing!", "author_date": "2020-10-06T16:25:37Z", "committer_date": "2020-10-06T16:25:37Z", "raw_author": {"value": "f3dfe1c3cf166dd0b9b8860a25045107a068c5df", "label": "Geoffrey Hing"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 110420, "label": "ghing"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "e03aed00026cc2e59c09ca41f69a247e1a85cc89", "message": "Detect server start/stop more reliably.\n\nThis is useful, especially in testing, since your test\nhosts might not reliabliy start the server within two\nseconds, so we do a definite check before progressing.\n\nBy the same token, after `kill $server_pid` wait for\nthe pid to be gone from the process list.\n\nSince now the script can end prematurely, I also added\na cleanup function to make sure the temporary certs are\nremoved in any case.\n\nn.b. this could also be done with the use of `trap 'fn'\nERR` but that felt like a bit too much magic for this\nshort a script.", "author_date": "2022-12-18T09:40:06Z", "committer_date": "2022-12-18T16:01:51Z", "raw_author": {"value": "f333c00958a658720cd93e305aac71711b88e52b", "label": "Jan Lehnardt"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 11321, "label": "janl"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "ae4593316ccf5e42ad26f27033193834a7e696c8", "message": "Add insert --truncate option\n\nDeletes all rows in the table (if it exists) before inserting new rows.\nSQLite doesn't implement a TRUNCATE TABLE statement but does optimize an\nunqualified DELETE FROM.\n\nThis can be handy if you want to refresh the entire contents of a table\nbut a) don't have a PK (so can't use --replace), b) don't want the table\nto disappear (even briefly) for other connections, and c) have to handle\nrecords that used to exist being deleted.\n\nIdeally the replacement of rows would appear instantaneous to other\nconnections by putting the DELETE + INSERT in a transaction, but this is\nvery difficult without breaking other code as the current transaction\nhandling is inconsistent and non-systematic. There exists the\npossibility for the DELETE to succeed but the INSERT to fail, leaving an\nempty table. This is not much worse, however, than the current\npossibility of one chunked INSERT succeeding and being committed while\nthe next chunked INSERT fails, leaving a partially complete operation.", "author_date": "2020-07-06T21:18:23Z", "committer_date": "2020-07-08T17:26:20Z", "raw_author": {"value": "f2f4d10a554519ea00fb44a5f6377123c59e1f22", "label": "Thomas Sibley"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 79913, "label": "tsibley"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "f8277d0fb9c05a88a9ff01d996e31d55f0f0a645", "message": "sqlite-utils query can now run DML (#120)\n\n* Failing test showing that DML in `sqlite-utils query` doesn't work\r\n* Run `sqlite-utils query` in a transaction so that DML is committed\r\n\r\nThanks, @tsibley!", "author_date": "2020-07-08T05:14:04Z", "committer_date": "2020-07-08T05:14:04Z", "raw_author": {"value": "f25304fb12f6d6fab36f551427610ed8e96f0c2f", "label": "Thomas Sibley"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 79913, "label": "tsibley"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "c1193d5ed3bba58cf1fe438d0f36d5a8432ef40e", "message": "Updated README", "author_date": "2020-11-30T04:15:44Z", "committer_date": "2020-11-30T04:15:44Z", "raw_author": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "raw_committer": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": null, "committer": null} {"sha": "22a0164666718b8c98d058cdbd57afd1560a2a1c", "message": "Updated README", "author_date": "2020-11-30T00:06:30Z", "committer_date": "2020-11-30T00:06:30Z", "raw_author": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "raw_committer": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": null, "committer": null} {"sha": "dff08344ebe07456e6929052567a52adab590455", "message": "Updated README", "author_date": "2020-11-29T23:51:28Z", "committer_date": "2020-11-29T23:51:28Z", "raw_author": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "raw_committer": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": null, "committer": null} {"sha": "1b23ce11953f9f59c0161ea1f99188b55b5ea11c", "message": "Updated README", "author_date": "2020-11-29T21:57:37Z", "committer_date": "2020-11-29T21:57:37Z", "raw_author": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "raw_committer": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": null, "committer": null} {"sha": "b02bf135485c0a7a3768868967f45a6b5e515289", "message": "Updated README", "author_date": "2020-09-17T03:33:30Z", "committer_date": "2020-09-17T03:33:30Z", "raw_author": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "raw_committer": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": null, "committer": null} {"sha": "fa0217a94b9c2e042fc565a0d35e7e98bc275b7c", "message": "Updated README", "author_date": "2020-08-18T14:53:04Z", "committer_date": "2020-08-18T14:53:04Z", "raw_author": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "raw_committer": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": null, "committer": null} {"sha": "c00e7b4532b9478c59c32e2cfb99efbf1358253a", "message": "Updated README", "author_date": "2020-07-23T14:54:26Z", "committer_date": "2020-07-23T14:54:26Z", "raw_author": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "raw_committer": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": null, "committer": null} {"sha": "76906215d157effae224f0cb2089070050de0248", "message": "Updated README", "author_date": "2020-07-22T19:02:13Z", "committer_date": "2020-07-22T19:02:13Z", "raw_author": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "raw_committer": {"value": "f0031cc286d7f7a2dc1ac63c2100b9870639429c", "label": "README-bot"}, "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "author": null, "committer": null} {"sha": "8ea626e5fcdc4c9e52f615c6347e68173805f8b4", "message": "Add type conversion for Panda's Timestamp (#96)\n\nThanks, @b0b5h4rp13!", "author_date": "2020-03-31T04:40:48Z", "committer_date": "2020-03-31T04:40:48Z", "raw_author": {"value": "eab1e8f71bd05f2ff2163f024127cc28876dd05d", "label": "bob"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 32605365, "label": "b0b5h4rp13"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "0b315d3fa83c1584eaeec32f24912898621e437a", "message": "progressbar for inserts/upserts of other file formats\n\n* progressbar for inserts/upserts of other file formats, closes #485\r\n* Pin to Python 3.10.6 for the moment as workaround for mypy error\r\n\r\nCo-authored-by: Simon Willison ", "author_date": "2022-09-15T20:37:51Z", "committer_date": "2022-09-15T20:37:51Z", "raw_author": {"value": "e7784035c9ce3ef64d906c543907d5025673d054", "label": "Mischa Untaga"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 99098079, "label": "MischaU8"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "984b1df12cf19a6731889fc0665bb5f622e07b7c", "message": "Add documentation for serving via OpenRC (#1825)\n\n* Add documentation for serving via OpenRC", "author_date": "2022-09-28T04:21:36Z", "committer_date": "2022-09-28T04:21:36Z", "raw_author": {"value": "ddda3e8cc5167e6bdbab6819a1f4e8e2621f4e89", "label": "Adam Simpson"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 1048831, "label": "asimpson"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "446d47fdb005b3776bc06ad8d1f44b01fc2e938b", "message": "make html title more readable in query template (#180)\n\ntiny tweak to make this easier to visually parse\u2014I think it matches your style in other templates", "author_date": "2018-04-03T15:24:04Z", "committer_date": "2018-04-03T15:24:04Z", "raw_author": {"value": "daa0836007170071f748b575d34c4432f4f43926", "label": "Ryan Pitts"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 56477, "label": "ryanpitts"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "cada1017edcfa691c2314d7ad1b7c7576495317f", "message": "Fixed incorrect example in README", "author_date": "2020-09-30T20:29:27Z", "committer_date": "2020-09-30T20:29:27Z", "raw_author": {"value": "d9a1cca675e8697c10ac5f4cbceac5ea7dc2a906", "label": "Shakeel Mahate"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 19921, "label": "shakeel"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "e7b2626291040b78b9a2dbc2982ba72691fb1a0f", "message": "Fix incorrect create-table cli description (#254)\n\nThe description for `create-table` was duplicated from `create-index`.", "author_date": "2021-05-19T02:57:26Z", "committer_date": "2021-05-19T02:57:26Z", "raw_author": {"value": "d6a64a7ba2d6c2c36f86efe56eb62e19518bfd72", "label": "Rob Wells"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 1935268, "label": "robjwells"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "b366e68deb0780048a23610c279552f8529d4726", "message": "table.duplicate(new_table_name) feature, closes #449\n\nThanks, @davidleejy", "author_date": "2022-07-15T21:21:36Z", "committer_date": "2022-07-15T21:21:36Z", "raw_author": {"value": "d4b26031589514477509e3dae9cde3678a3b610e", "label": "David"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 1690072, "label": "davidleejy"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "7805d53bcf11199bd1f2b07e05ae90151f9d0eb0", "message": "Fix accidental mega long line in docs (#158)\n\nThanks @tomviner", "author_date": "2020-09-16T06:21:42Z", "committer_date": "2020-09-16T06:21:42Z", "raw_author": {"value": "d151532d3a398e1acd965596193c7d4c7c0475ff", "label": "Tom V"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 167319, "label": "tomviner"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "328211eaca1247cd6b33a2c0a54642f87866d85b", "message": "Typo in upsert example (#244)\n\nRemove extra `[`", "author_date": "2021-05-19T02:58:21Z", "committer_date": "2021-05-19T02:58:21Z", "raw_author": {"value": "cde244e49fff511dca86e57614d1b133bfffdcd0", "label": "Juan E. D"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 387669, "label": "j-e-d"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "d08a13314081ae2ce0313a17d3c07c1a7f2d94d5", "message": "Hide Spatialite system tables\n\nThey were getting on my nerves.", "author_date": "2018-04-11T21:20:25Z", "committer_date": "2018-04-12T21:34:47Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "ec6abc81e433c9bac1b9f085111785fc227e9e34", "message": "Initial units support\n\nAdd support for specifying units for a column in metadata.json and\nrendering them on display using\n[pint](https://pint.readthedocs.io/en/latest/).\n\nref #203", "author_date": "2018-04-13T21:17:59Z", "committer_date": "2018-04-14T03:32:53Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "8bfeb984788c7144088c16c5f9126ca7d6af6e93", "message": "Tidy up units support\n\n* Add units to exported JSON\n* Units key in metadata skeleton\n* Docs", "author_date": "2018-04-14T10:16:09Z", "committer_date": "2018-04-14T10:43:34Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 45057, "label": "russss"}} {"sha": "ab85605c6179b21bb0add59b76c1b376d9d248b2", "message": "Support units in filters", "author_date": "2018-04-14T10:41:27Z", "committer_date": "2018-04-14T10:43:35Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 45057, "label": "russss"}} {"sha": "3c985ec271cce46db8682c2a7466ea1c9a2ed210", "message": "Allow custom units to be registered with Pint", "author_date": "2018-04-14T11:27:06Z", "committer_date": "2018-04-14T11:27:06Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 45057, "label": "russss"}} {"sha": "ed974417ad54f0c0f65b2f1cf54dc12485abb570", "message": "Tests for unit filtering", "author_date": "2018-04-14T14:06:52Z", "committer_date": "2018-04-14T14:06:52Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 45057, "label": "russss"}} {"sha": "7d5f25dfb320af26ec4afcb1a687f7f034e1f044", "message": "Add link to pint custom units page to docs", "author_date": "2018-04-14T14:08:20Z", "committer_date": "2018-04-14T14:08:20Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 45057, "label": "russss"}} {"sha": "1cc5161089e559c8b16049b20f7a5b3a43290c21", "message": "Fix sqlite error when loading rows with no incoming FKs\n\nThis fixes `ERROR: conn=, sql\n= 'select ', params = {'id': '1'}` caused by an invalid query when\nloading incoming FKs.\n\nThe error was ignored due to async but it still got printed to the\nconsole.", "author_date": "2018-04-14T12:06:00Z", "committer_date": "2018-04-14T14:24:24Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "f2b940d6026677f6859d46a4f16fa402745d261d", "message": "Link foreign keys which don't have labels\n\nThis renders unlabeled FKs as simple links. I can't see why this would\ncause any major problems.\n\nAlso includes bonus fixes for two minor issues:\n\n* In foreign key link hrefs the primary key was escaped using HTML\n escaping rather than URL escaping. This broke some non-integer PKs.\n* Print tracebacks to console when handling 500 errors.", "author_date": "2018-04-14T13:17:20Z", "committer_date": "2018-04-14T14:59:59Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "efbb4e83374a2c795e436c72fa79f70da72309b8", "message": "Return HTTP 405 on InvalidUsage rather than 500\n\nThis also stops it filling up the logs. This happens for HEAD requests\nat the moment - which perhaps should be handled better, but that's a\ndifferent issue.", "author_date": "2018-04-14T16:11:16Z", "committer_date": "2018-04-14T18:00:38Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "b231d4243d748facf1897e7756c2b578bb448edc", "message": "Correct escaping for HTML display of row links", "author_date": "2018-04-15T21:48:30Z", "committer_date": "2018-04-18T01:13:02Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "4586aa506a054d07e674cde8143a3008e6bc5d78", "message": "Don't duplicate simple primary keys in the link column\n\nWhen there's a simple (single-column) primary key, it looks weird to\nduplicate it in the link column.\n\nThis change removes the second PK column and treats the link column as\nif it were the PK column from a header/sorting perspective.", "author_date": "2018-04-15T21:49:01Z", "committer_date": "2018-04-18T01:13:02Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "0f782dd8dfd7c53a9c20bbd2cb8734bb806d928b", "message": "Additional test asserts", "author_date": "2018-04-16T20:22:04Z", "committer_date": "2018-04-18T01:13:02Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "136a70d88741e2a5892c3de437064a9d14494d66", "message": "Add column name classes to s, make PK bold", "author_date": "2018-04-17T08:29:48Z", "committer_date": "2018-04-18T01:13:02Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "58b5a37dbbf13868a46bcbb284509434e66eca25", "message": "Refactor inspect logic", "author_date": "2018-05-21T08:02:34Z", "committer_date": "2018-05-22T14:03:06Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "58fec99ab0a31bcf25968f2aa05d37de8139b83c", "message": "Allow app names for `datasette publish heroku`\n\nLets you supply the `-n` parameter for Heroku deploys, which also lets\nyou update existing Heroku deployments.", "author_date": "2018-07-14T13:10:49Z", "committer_date": "2018-07-14T14:04:42Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "cf406c075433882b656e340870adf7757976fa4c", "message": "New plugin hook: register_output_renderer hook (#441)\n\nThanks @russss!\r\n\r\n* Add register_output_renderer hook\r\n\r\nThis changeset refactors out the JSON renderer and then adds a hook and\r\ndispatcher system to allow custom output renderers to be registered.\r\n\r\nThe CSV output renderer is untouched because supporting streaming\r\nrenderers through this system would be significantly more complex, and\r\nprobably not worthwhile.\r\n\r\nWe can't simply allow hooks to be called at request time because we need\r\na list of supported file extensions when the request is being routed in\r\norder to resolve ambiguous database/table names. So, renderers need to\r\nbe registered at startup.\r\n\r\nI've tried to make this API independent of Sanic's request/response\r\nobjects so that this can remain stable during the switch to ASGI. I'm\r\nusing dictionaries to keep it simple and to make adding additional\r\noptions in the future easy.\r\n\r\nFixes #440", "author_date": "2019-05-01T23:01:56Z", "committer_date": "2019-05-01T23:01:56Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "470cf0b05d4fda0d2563f81c7e32af13fe346ccc", "message": "Add a max-line-length setting for flake8 (#444)\n\nThis stops my automatic editor linting from flagging lines which are too\r\nlong. It's been lingering in my checkout for ages.\r\n\r\n160 is an arbitrary large number - we could alter it if we have any\r\nopinions (but I find the line length limit to be my least favourite part\r\nof PEP8).", "author_date": "2019-05-03T13:11:27Z", "committer_date": "2019-05-03T13:11:27Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "bf229c9bd88179c8ec16bd65fd4fb28ab4241c2e", "message": "Pass view_name to extra_body_script hook (#443)\n\nAt the moment it's not easy to tell whether the hook is being called\r\nin (for example) the row or table view, as in both cases the\r\n`database` and `table` parameters are provided.\r\n\r\nThis passes the `view_name` added in #441 to the `extra_body_script`\r\nhook.", "author_date": "2019-05-03T13:12:19Z", "committer_date": "2019-05-03T13:12:19Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "d555baf508de71a5e3dc9a9aed2c13f6f202956d", "message": "Suppress rendering of binary data - thanks @russss (#442)\n\nBinary columns (including spatialite geographies) get shown as ugly\r\nbinary strings in the HTML by default. Nobody wants to see that mess.\r\n\r\nShow the size of the column in bytes instead. If you want to decode\r\nthe binary data, you can use a plugin to do it.", "author_date": "2019-05-03T16:44:48Z", "committer_date": "2019-05-03T16:44:48Z", "raw_author": {"value": "cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b", "label": "Russ Garrett"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45057, "label": "russss"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "7d69f1ac02536d9a831d57ce096b96d07e812613", "message": "New header and footer", "author_date": "2020-08-27T21:59:34Z", "committer_date": "2020-10-27T19:39:55Z", "raw_author": {"value": "cb0d330fa68b6a0d1b11370a9dbda0d2b8f4d3aa", "label": "Natalie Downe"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 72973, "label": "natbat"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "6dff22eff8a52253a6c2bdf3e32f082fbf81b921", "message": "Visited link colours", "author_date": "2020-10-27T18:39:35Z", "committer_date": "2020-10-27T19:39:55Z", "raw_author": {"value": "cb0d330fa68b6a0d1b11370a9dbda0d2b8f4d3aa", "label": "Natalie Downe"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 72973, "label": "natbat"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "df19a48a3b72a51feb4203c44903451cc9e6c1bf", "message": "Implemented new Natalie design", "author_date": "2020-10-27T18:40:08Z", "committer_date": "2020-10-27T19:39:55Z", "raw_author": {"value": "cb0d330fa68b6a0d1b11370a9dbda0d2b8f4d3aa", "label": "Natalie Downe"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 72973, "label": "natbat"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "daae35be46ec5cb8a207aa20986a4fa62e94777e", "message": "Fix misaligned table actions cog\n\nCloses #1121. Thanks, @abdusco", "author_date": "2020-12-03T00:33:36Z", "committer_date": "2020-12-03T00:33:36Z", "raw_author": {"value": "caa5b5002180b0bc856f66473e9ba8058a4c820e", "label": "Abdussamet Ko\u00e7ak"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 3243482, "label": "abdusco"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "31352914c427162f785d2610222a54a426d5215f", "message": "Update full_text_search.rst (#1474)\n\nChange \"above\" to \"below\" to correct correspondence of reference to example.", "author_date": "2021-10-13T21:10:23Z", "committer_date": "2021-10-13T21:10:23Z", "raw_author": {"value": "c78bb0e63f63cce7b49009493a7b927ff92e8488", "label": "Michael Tiemann"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 72577720, "label": "MichaelTiemannOSC"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "4f7c0ebd85ccd8c1853d7aa0147628f7c1b749cc", "message": "Fix table name in spatialite example command (#1022)\n\nThe example query for creating a new point geometry seems to be using a table called 'museums' but at one point it instead uses 'events'. I *believe* it is intended to be museums.", "author_date": "2020-10-14T23:46:46Z", "committer_date": "2020-10-14T23:46:46Z", "raw_author": {"value": "c49d52addfdcb2a0682b83ad3b98e88426921728", "label": "Jacob Fenton"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 639012, "label": "jsfenfen"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "be2265b0e811d0ac2875c2f748125c17b0f9289e", "message": "Fix db-to-sqlite command in ecosystem doc page (#669)\n\nThanks, @adipasquale", "author_date": "2020-02-22T02:32:17Z", "committer_date": "2020-02-22T02:32:17Z", "raw_author": {"value": "bd53542d6923dd8fcfd93cd43a925e6e8acd6e80", "label": "Adrien Di Pasquale"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 883348, "label": "adipasquale"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "39ef137e6760d385dc48d03eccf9b89943636fc7", "message": "Support self-referencing FKs in `create` (#537)", "author_date": "2023-05-08T21:10:00Z", "committer_date": "2023-05-08T21:10:00Z", "raw_author": {"value": "b9c77b970cf91e2e44d83118464578123130e5fe", "label": "Scott Perry"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 544011, "label": "numist"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "af2e6a5cf186a7200d76cb67ac30fa59cc24d84e", "message": "Button to format SQL, closes #136\n\nSQL code will be formatted on page load, and can additionally\r\nbe formatted by clicking the \"Format SQL\" button.\r\n\r\nThanks, @rixx!", "author_date": "2019-10-14T03:46:12Z", "committer_date": "2019-10-14T03:46:12Z", "raw_author": {"value": "b90d9715d7c0881515e9d6aa98923ed89d445945", "label": "Tobias Kunze"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 2657547, "label": "rixx"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "908fc3999e06f3ccd3bb8ad0539490bbc7809748", "message": "Sort databases on homepage by argument order - #591\n\nCloses #585 - thanks, @rixx!", "author_date": "2019-10-14T03:52:33Z", "committer_date": "2019-10-14T03:52:33Z", "raw_author": {"value": "b90d9715d7c0881515e9d6aa98923ed89d445945", "label": "Tobias Kunze"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 2657547, "label": "rixx"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "12cec411cae73ba7211429da12cd32c551fe17b1", "message": "Display metadata footer on custom SQL queries (#589)\n\nCloses #408 - thanks, @rixx!", "author_date": "2019-10-14T03:53:21Z", "committer_date": "2019-10-14T03:53:21Z", "raw_author": {"value": "b90d9715d7c0881515e9d6aa98923ed89d445945", "label": "Tobias Kunze"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 2657547, "label": "rixx"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "ee330222f4c3ee66c2fe41ebc76fed56b9cb9a00", "message": "Offer to format readonly SQL (#602)\n\nFollowing discussion in #601, this PR adds a \"Format SQL\" button to\r\nread-only SQL (if the SQL actually differs from the formatting result).\r\n\r\nIt also removes a console error on readonly SQL queries.\r\n\r\nThanks, @rixx!", "author_date": "2019-11-04T02:39:55Z", "committer_date": "2019-11-04T02:39:55Z", "raw_author": {"value": "b90d9715d7c0881515e9d6aa98923ed89d445945", "label": "Tobias Kunze"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 2657547, "label": "rixx"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "931bfc66613aa3e22f8314df5c0d0758baf31f38", "message": "Handle spaces in DB names (#590)\n\nCloses #503 - thanks, @rixx", "author_date": "2019-11-04T23:16:30Z", "committer_date": "2019-11-04T23:16:30Z", "raw_author": {"value": "b90d9715d7c0881515e9d6aa98923ed89d445945", "label": "Tobias Kunze"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 2657547, "label": "rixx"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "368aa5f1b16ca35f82d90ff747023b9a2bfa27c1", "message": "Update docs: explain allow_download setting (#1291)\n\n* Update docs: explain allow_download setting\r\n\r\nThis fixes one possible source of confusion seen in #502 and clarifies\r\nwhen database downloads will be shown and allowed.", "author_date": "2021-06-05T19:48:51Z", "committer_date": "2021-06-05T19:48:51Z", "raw_author": {"value": "b9073d8bf7774f95bd90f812e3d6e858520194be", "label": "louispotok"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 5413548, "label": "louispotok"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "ecf1d40112e52a8f4e509c39b98caae996b7bc36", "message": "table.search_sql(include_rank=True) option (#480)\n\n* search_sql add include_rank option\r\n* add test\r\n* add FTS4 test\r\n* Apply Black\r\n\r\nThanks, @chapmanjacobd", "author_date": "2022-08-31T03:40:35Z", "committer_date": "2022-08-31T03:40:35Z", "raw_author": {"value": "aff9d2f73a18d2ec18afd0f3fefe046f37945a60", "label": "Jacob Chapman"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 7908073, "label": "chapmanjacobd"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "1d64c9a8dac45b9a3452acf8e76dfadea2b0bc49", "message": "Add new entrypoint option to --load-extensions. (#1789)\n\nThanks, @asg017", "author_date": "2022-08-23T18:34:30Z", "committer_date": "2022-08-23T18:34:30Z", "raw_author": {"value": "aa206886100eb0f7f5e54172b068d9dd45885448", "label": "Alex Garcia"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 15178711, "label": "asg017"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "cab8e65261b117b493af6a0b21aa2e1ae4564419", "message": "Add minimum supported python (#1044)", "author_date": "2020-10-23T20:53:07Z", "committer_date": "2020-10-23T20:53:07Z", "raw_author": {"value": "a97268d4c7c462a8e260bc98d425e618143667c8", "label": "Nicholas Bollweg"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45380, "label": "bollwyvl"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "976e5f74aae1fa0d406df6691dc8b5feeebe8788", "message": "Include LICENSE in sdist (#1043)", "author_date": "2020-10-23T20:54:34Z", "committer_date": "2020-10-23T20:54:34Z", "raw_author": {"value": "a97268d4c7c462a8e260bc98d425e618143667c8", "label": "Nicholas Bollweg"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45380, "label": "bollwyvl"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "663ac431fe7202c85967568d82b2034f92b9aa43", "message": "Use Read the Docs action v1 (#1778)\n\nRead the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1`", "author_date": "2022-08-20T00:04:16Z", "committer_date": "2022-08-20T00:04:16Z", "raw_author": {"value": "a9570db41e1b6fe56efd98307a0c1c3facf064e4", "label": "Manuel Kaufmann"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 244656, "label": "humitos"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "83e7339255e811c62e6db8498c483c44a84d0f28", "message": "Use Read the Docs action v1 (#463)\n\nRead the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1`", "author_date": "2022-08-17T23:11:15Z", "committer_date": "2022-08-17T23:11:15Z", "raw_author": {"value": "a9570db41e1b6fe56efd98307a0c1c3facf064e4", "label": "Manuel Kaufmann"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 244656, "label": "humitos"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "bd30c696e18927207358ee9d63174a5c41c8297e", "message": "Build Dockerfile with recent Sqlite + Spatialite (#280)\n\nCloses #278\r\n\r\n```bash\r\n $ docker run --rm -it datasette spatialite\r\n SpatiaLite version ..: 4.4.0-RC0\tSupported Extensions:\r\n - 'VirtualShape'\t[direct Shapefile access]\r\n - 'VirtualDbf'\t\t[direct DBF access]\r\n - 'VirtualXL'\t\t[direct XLS access]\r\n - 'VirtualText'\t\t[direct CSV/TXT access]\r\n - 'VirtualNetwork'\t[Dijkstra shortest path]\r\n - 'RTree'\t\t[Spatial Index - R*Tree]\r\n - 'MbrCache'\t\t[Spatial Index - MBR cache]\r\n - 'VirtualSpatialIndex'\t[R*Tree metahandler]\r\n - 'VirtualElementary'\t[ElemGeoms metahandler]\r\n - 'VirtualKNN'\t[K-Nearest Neighbors metahandler]\r\n - 'VirtualXPath'\t[XML Path Language - XPath]\r\n - 'VirtualFDO'\t\t[FDO-OGR interoperability]\r\n - 'VirtualGPKG'\t[OGC GeoPackage interoperability]\r\n - 'VirtualBBox'\t\t[BoundingBox tables]\r\n - 'SpatiaLite'\t\t[Spatial SQL - OGC]\r\n PROJ.4 version ......: Rel. 4.9.3, 15 August 2016\r\n GEOS version ........: 3.5.1-CAPI-1.9.1 r4246\r\n TARGET CPU ..........: x86_64-linux-gnu\r\n the SPATIAL_REF_SYS table already contains some row(s)\r\n SQLite version ......: 3.23.1\r\n Enter \".help\" for instructions\r\n SQLite version 3.23.1 2018-04-10 17:39:29\r\n Enter \".help\" for instructions\r\n Enter SQL statements terminated with a \";\"\r\n spatialite>\r\n```\r\n\r\n```bash\r\n$ docker run --rm -it datasette python -c \"import sqlite3; print(sqlite3.sqlite_version)\"\r\n3.23.1\r\n```\r\n\r\nAlso updates the query used to check for FTS5 as the old version wasn't\r\ndetecting FTS5 for some reason.", "author_date": "2018-05-23T17:43:34Z", "committer_date": "2018-05-23T17:43:34Z", "raw_author": {"value": "a901819e7fab7b80a873df43d5123bb3252681f8", "label": "Ravi Kotecha"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 565628, "label": "r4vi"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "ea99a4431ce5bc2d65a3496da5b38e1986550a96", "message": "Only load Python files from plugins-dir\n\nPull request #890. Thanks, @amjith!\r\n\r\n* Load only python files from plugins-dir\r\n* Add a test to verify non-python files are not loaded as plugins", "author_date": "2020-07-03T03:08:32Z", "committer_date": "2020-07-03T03:08:32Z", "raw_author": {"value": "a83a9ad7fdcc8d400257ebb4c5d09638aa09f73b", "label": "Amjith Ramanujam"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 49260, "label": "amjith"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "405e092d5916e70df10f82d15e9c052aa9ee8d80", "message": "Option to add triggers when enabling FTS (#57)\n\n--create-triggers CLI option and create_triggers=True in the Python library\r\n\r\n* Add an option to create triggers for fts table.\r\n* Add cli option for the create-update-trigger.\r\n* Add tests for the create-update-trigger option.\r\n* Change FTS table escaping to square brackets.", "author_date": "2019-09-02T23:42:28Z", "committer_date": "2019-09-02T23:42:28Z", "raw_author": {"value": "a83a9ad7fdcc8d400257ebb4c5d09638aa09f73b", "label": "Amjith Ramanujam"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 49260, "label": "amjith"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "70dffca351375e6f542969c72ebc43c6d393d99c", "message": "Remove unneeded exists=True for -a/--auth flag. (#59)\n\nThe file does not need to exist when using an environment variable.", "author_date": "2021-05-19T16:08:12Z", "committer_date": "2021-05-19T16:08:12Z", "raw_author": {"value": "a7fbb45ec68f58915ee5484e65e5159f5ed91182", "label": "Felix Rosencrantz"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 207052882, "label": "github-to-sqlite"}, "author": {"value": 631242, "label": "frosencrantz"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "459259175eddeed727fd8f08dc19a332779a4f6b", "message": "Fix small typo (#1335)", "author_date": "2021-05-22T23:53:34Z", "committer_date": "2021-05-22T23:53:34Z", "raw_author": {"value": "a74b1d810ebe1b3fb65c0fccc2b7b36623068cae", "label": "Abdussamet Ko\u00e7ak"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 3243482, "label": "abdusco"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "705d1a1555c4791e9be3b884285b047223ab184f", "message": "Fix startup error on windows (#1128)\n\nFixes https://github.com/simonw/datasette/issues/1094\r\n\r\nThis import isn't used at all, and causes error on startup on Windows.", "author_date": "2020-12-05T19:35:03Z", "committer_date": "2020-12-05T19:35:03Z", "raw_author": {"value": "a74b1d810ebe1b3fb65c0fccc2b7b36623068cae", "label": "Abdussamet Ko\u00e7ak"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 3243482, "label": "abdusco"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "aa652b6afe43d2b40fabc7a513c3e68866e030a5", "message": "add -h support\n\nCloses #276", "author_date": "2021-06-18T14:56:59Z", "committer_date": "2021-06-18T14:56:59Z", "raw_author": {"value": "a5c9af884c4814b20969652665d29676767dceb7", "label": "Loren McIntyre"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 601708, "label": "mcint"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "a113c28ea1924d83e6789ae5e0805312e55b4490", "message": "Add version number support with Versioneer\n\nRepo:\nhttps://github.com/warner/python-versioneer\n\nVersioneer Licence:\nPublic Domain (CC0-1.0)\n\nCloses #273", "author_date": "2018-05-22T15:33:29Z", "committer_date": "2018-05-22T19:35:21Z", "raw_author": {"value": "a1a72b19e432a3145fdb845aab2927c00d8a8426", "label": "Robert Gieseke"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 198537, "label": "rgieseke"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "367082e787101fb90901ef3214804ab23a92ce46", "message": "Typos in tests (#156)\n\nThanks @simonwiles", "author_date": "2020-09-09T18:21:22Z", "committer_date": "2020-09-09T18:21:22Z", "raw_author": {"value": "a02cf01c415b3ca2d3b4458167191f30850ff9dd", "label": "Simon Wiles"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 96218, "label": "simonwiles"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "e6d202b742a7b531fffa593703d34f8337632d68", "message": "Handle case where subsequent records (after first batch) include extra columns\n\nRefs #145.\r\n\r\n* Extract build_insert_queries_and_params\r\n* Extract insert_chunk so it can be called recursively\r\n\r\nThanks, @simonwiles", "author_date": "2020-09-08T23:20:36Z", "committer_date": "2020-09-08T23:20:36Z", "raw_author": {"value": "a02cf01c415b3ca2d3b4458167191f30850ff9dd", "label": "Simon Wiles"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 96218, "label": "simonwiles"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "947bb7626fd1763608a470adf9cf5f156ef003e9", "message": "insert_all(..., alter=True) works for columns introduced after first 100 records\n\n* Insert all columns for every chunk\r\n* Update unit test to reflect new behaviour\r\n* Test that exception is raised\r\n* Update documentation\r\n\r\nCloses #139. Thanks, Simon Wiles!", "author_date": "2020-08-28T22:30:13Z", "committer_date": "2020-08-28T22:30:13Z", "raw_author": {"value": "a02cf01c415b3ca2d3b4458167191f30850ff9dd", "label": "Simon Wiles"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 96218, "label": "simonwiles"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "c5f4f0f70ce394dfec6054c3c5aaedf330887093", "message": "Use jsonify_if_need for sql updates (#204)\n\n* add failing tests for update with json values\r\n* use jsonify_if_needed in for sql updates\r\n\r\nThanks, @mfa", "author_date": "2020-12-08T17:49:42Z", "committer_date": "2020-12-08T17:49:42Z", "raw_author": {"value": "9d65422e8ede715e91311c9f3703218f2478bf55", "label": "Andreas Madsack"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 78035, "label": "mfa"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "d3c4ab2848ea606417150f377a82e66ca7887c54", "message": "Don't break if source is missing (#6)\n\nThis broke for very old checkins from 2010 with no source set. Thanks, @mfa!", "author_date": "2020-03-28T02:28:10Z", "committer_date": "2020-03-28T02:28:10Z", "raw_author": {"value": "9d65422e8ede715e91311c9f3703218f2478bf55", "label": "Andreas Madsack"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 205429375, "label": "swarm-to-sqlite"}, "author": {"value": 78035, "label": "mfa"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "de810f49cc57a4f88e4a1553d26c579253ce4531", "message": "Add /opt/homebrew to where spatialite extension can be found (#1649)\n\nHelps homebrew on Apple Silicon setups find spatialite without needing\r\na full path.\r\n\r\nSimilar to #1114\r\n\r\nThanks, @danp", "author_date": "2022-03-06T19:39:15Z", "committer_date": "2022-03-06T19:39:15Z", "raw_author": {"value": "9a3d8e1c0e383f75737a170eb4560dd9f9576302", "label": "Dan Peterson"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 2182, "label": "danp"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "91aa5f578e871a7976ca0a861862f9b9dd162464", "message": "Fix for since_id bug, closes #58 (#59)\n\nFixes remaining instances of this bug", "author_date": "2021-09-21T17:37:40Z", "committer_date": "2021-09-21T17:37:40Z", "raw_author": {"value": "98a500b3673cfe0c268b7a6ef2e6a08ed458be22", "label": "Ruben Vermeersch"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 206156866, "label": "twitter-to-sqlite"}, "author": {"value": 42904, "label": "rubenv"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "8b4c600d98b85655b3a1454ebf64f858b5fe54c8", "message": "Add spatialite, switch to debian and local build (#114)", "author_date": "2017-11-17T03:50:51Z", "committer_date": "2017-11-17T03:50:51Z", "raw_author": {"value": "959507cc7596b555bf4292e84f335b02cca843f8", "label": "Ariel N\u00fa\u00f1ez"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 54999, "label": "ingenieroariel"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "6be5654ffab282e8cf39cc138ba2d4496ebc7407", "message": "Exclude tests from package, properly this time\n\nThe `exclude` argument to `find_packages` needs an iterable of package\r\nnames.\r\n\r\nCloses #456 - thanks, @abeyerpath!", "author_date": "2020-07-24T20:39:53Z", "committer_date": "2020-07-24T20:39:53Z", "raw_author": {"value": "9585cefab9c28adcb0c2d7fccbd48333cd74642c", "label": "abeyerpath"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 32467826, "label": "abeyerpath"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "f853d5592ec7f901a50381de22a26a9ab098f885", "message": "\"python3 -m pip\" is clearer (thanks @jaap3) (#368)", "author_date": "2019-05-03T18:18:42Z", "committer_date": "2019-05-03T18:18:42Z", "raw_author": {"value": "93b11f15fd4dc15002baf3d9160dc6eb928bd883", "label": "Jaap Roes"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 48517, "label": "jaap3"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "66c87cee0c7344c7877373c60b180c766c206101", "message": "Mark codemirror files as vendored (#367)\n\nThis should stop GitHub from incorrectly stating that Datasette is 46% JavaScript.", "author_date": "2019-05-03T21:11:19Z", "committer_date": "2019-05-03T21:11:19Z", "raw_author": {"value": "93b11f15fd4dc15002baf3d9160dc6eb928bd883", "label": "Jaap Roes"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 48517, "label": "jaap3"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "8f9a729e8aff972cb18de25b40f4113e26bbc758", "message": "Add paths for homebrew on Apple silicon (#536)", "author_date": "2023-04-13T01:44:43Z", "committer_date": "2023-04-13T01:44:43Z", "raw_author": {"value": "90786fb02407ad60f10210c0592ee711a9a36fae", "label": "Chris Amico"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 25778, "label": "eyeseast"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "01369176b0a8943ab45292ffc6f9c929b80a00e8", "message": "Keep track of datasette.config_dir (#1766)\n\nThanks, @eyeseast - closes #1764", "author_date": "2022-07-18T01:12:45Z", "committer_date": "2022-07-18T01:12:45Z", "raw_author": {"value": "90786fb02407ad60f10210c0592ee711a9a36fae", "label": "Chris Amico"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 25778, "label": "eyeseast"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "396f80fcc60da8dd844577114f7920830a2e5403", "message": "Ignore common generated files (#419)\n\nThanks, @eyeseast", "author_date": "2022-03-24T21:01:43Z", "committer_date": "2022-03-24T21:01:43Z", "raw_author": {"value": "90786fb02407ad60f10210c0592ee711a9a36fae", "label": "Chris Amico"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 25778, "label": "eyeseast"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "a692c56659c3563b26dcdc9e3534d63ecc26e180", "message": "Add SpatiaLite helpers to CLI (#407)\n\n* Add SpatiaLite CLI helpers\r\n* Add docs for spaitalite helpers\r\n* Fix flake8 issues and add more detail on spatial types\r\n* Run cog and add some help text.\r\n* Use SpatiaLite when calculating coverage, refs #407\r\n\r\nCo-authored-by: Simon Willison ", "author_date": "2022-02-16T00:58:07Z", "committer_date": "2022-02-16T00:58:07Z", "raw_author": {"value": "90786fb02407ad60f10210c0592ee711a9a36fae", "label": "Chris Amico"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 25778, "label": "eyeseast"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "ee11274fcb1c00f32c95f2ef2924d5349538eb4d", "message": "New spatialite helper methods, closes #79\n\n- db.init_spatialite()\r\n- table.add_geometry_column()\r\n- table.create_spatial_index()\r\n\r\nCo-authored-by: Simon Willison ", "author_date": "2022-02-04T05:55:09Z", "committer_date": "2022-02-04T05:55:09Z", "raw_author": {"value": "90786fb02407ad60f10210c0592ee711a9a36fae", "label": "Chris Amico"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 25778, "label": "eyeseast"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "a6c55afe8c82ead8deb32f90c9324022fd422324", "message": "Ensure db.path is a string before trying to insert into internal database (#1370)\n\nThanks, @eyeseast", "author_date": "2021-06-21T15:57:38Z", "committer_date": "2021-06-21T15:57:38Z", "raw_author": {"value": "90786fb02407ad60f10210c0592ee711a9a36fae", "label": "Chris Amico"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 25778, "label": "eyeseast"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "2e9751672d4fe329b3c359d5b7b1992283185820", "message": "chore: Set permissions for GitHub actions (#1740)\n\nRestrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won\u2019t be able to do much.\r\n\r\n- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions\r\n\r\nhttps://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions\r\n\r\nhttps://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs\r\n\r\n[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)\r\n\r\nSigned-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>", "author_date": "2022-05-31T19:28:40Z", "committer_date": "2022-05-31T19:28:40Z", "raw_author": {"value": "902cf90c9d2dadfcff296a337dc6e2df5775229f", "label": "Naveen"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 172697, "label": "naveensrinivasan"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "75a21fc2a136ccfc9da7bbf521cf288e63c9707f", "message": "datasette publish cloudrun (#434) - thanks, @rprimet\n\nNew publish subcommand that publishes using the\r\nnew Google Cloud Run platform.\r\n\r\n datasette publish cloudrun database.db", "author_date": "2019-05-03T13:59:01Z", "committer_date": "2019-05-03T13:59:01Z", "raw_author": {"value": "8ff51bbea01fdafe1fb3502111343b563f7d5a1b", "label": "Romain Primet"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 10352819, "label": "rprimet"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "a1bcd2fbe5e47bb431045f65eeceb5eb3a6718d5", "message": "Minor typo in IP adress (#1256)\n\n127.0.01 replaced by 127.0.0.1", "author_date": "2021-03-10T18:26:39Z", "committer_date": "2021-03-10T18:26:39Z", "raw_author": {"value": "8ea962ef0379a1c897a6c683f447fd796567aa1d", "label": "Jean-Baptiste Pressac"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 6371750, "label": "JBPressac"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "b912d92b651c4f0b5137da924d135654511f0fe0", "message": "Make hash and size a lazy property (#1837)\n\n* use inspect data for hash and file size\r\n* make hash and cached_size lazy properties\r\n* move hash property near size", "author_date": "2022-10-27T20:51:20Z", "committer_date": "2022-10-27T20:51:20Z", "raw_author": {"value": "88e22aeee75bfd8a1cdeae56a89d5509d1c1d1c4", "label": "Forest Gregg"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 536941, "label": "fgregg"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "eff112498ecc499323c26612d707908831446d25", "message": "Useuse inspect data for hash and file size on startup\n\nThanks, @fgregg\r\n\r\nCloses #1834", "author_date": "2022-10-06T20:06:06Z", "committer_date": "2022-10-06T20:06:06Z", "raw_author": {"value": "88e22aeee75bfd8a1cdeae56a89d5509d1c1d1c4", "label": "Forest Gregg"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 536941, "label": "fgregg"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "c5f8a2eb1a81a18b52825cc649112f71fe419b12", "message": "in extract code, check equality witH IS instead of = for nulls (#455)\n\nsqlite \"IS\" is equivalent to SQL \"IS NOT DISTINCT FROM\"\r\n\r\nclose #423", "author_date": "2022-08-27T14:45:03Z", "committer_date": "2022-08-27T14:45:03Z", "raw_author": {"value": "88e22aeee75bfd8a1cdeae56a89d5509d1c1d1c4", "label": "Forest Gregg"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 536941, "label": "fgregg"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "7b1a9a1999eb9326ce8ec830d75ac200e5279c46", "message": "Fix little typo (#1282)", "author_date": "2021-03-29T19:57:34Z", "committer_date": "2021-03-29T19:57:34Z", "raw_author": {"value": "887085a02768a99c6da5c415beac8a6c3cc04069", "label": "Marjorie Roswell"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 192568, "label": "mroswell"}, "committer": {"value": 19864447, "label": "web-flow"}} {"sha": "a971718d2a5e1b61b5e5c27b0ef6c4ec65616e35", "message": "Fix a typo (#232)", "author_date": "2018-04-21T00:19:07Z", "committer_date": "2018-04-21T00:19:07Z", "raw_author": {"value": "8795af7c0eb348f1248a81917921e4a7d768bee3", "label": "lsb"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 45281, "label": "lsb"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "ae11fa5887e03376704c22e5d0969c1e0642d8d8", "message": "Upgrade to CodeMirror 6, add SQL autocomplete (#1893)\n\n* Upgrade to CodeMirror 6\r\n* Update contributing docs\r\n* Change how resizing works\r\n* Define a custom SQLite autocomplete dialect\r\n* Add meta-enter to submit\r\n* Add fixture schema for testing", "author_date": "2022-11-16T23:49:06Z", "committer_date": "2022-11-16T23:49:06Z", "raw_author": {"value": "861aec2fe33d6c4a4fcda2748f19332fbffb5a92", "label": "Brian Grinstead"}, "raw_committer": {"value": "cd792325681cbad9f663f2879d8b69f1edbb678f", "label": "GitHub"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 95570, "label": "bgrins"}, "committer": {"value": 19864447, "label": "web-flow"}}