sha,message,author_date,committer_date,raw_author,raw_committer,repo,author,committer 3e62ab62a88992d4bbb0fe83debec3bacd93ebf3,Correct some typos (#245),2021-05-19T02:58:04Z,2021-05-19T02:58:04Z,fcf3b31d4679bb2112170ec4dda53dede33a16b3,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,1076745,19864447 d95048031edb02bbc9892879507f55a4f29c5459,"Split pypi and docker travis tasks (#480) Thanks @glasnt!",2019-07-07T20:03:19Z,2019-07-07T20:03:19Z,f9a18a704545f33349d7b28b24faf7063846ae0a,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,813732,9599 34d77d780f68b778fd9d6ebbaf69f250436f055f,"gcloud run is now GA, s/beta// (#660) Thanks, @glasnt",2020-01-21T23:28:11Z,2020-01-21T23:28:11Z,f9a18a704545f33349d7b28b24faf7063846ae0a,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,813732,9599 452a587e236ef642cbc6ae345b58767ea8420cb5,"JavaScript Plugin API, providing custom panels and column menu items Thanks, Cameron Yick. https://github.com/simonw/datasette/pull/2052 Co-authored-by: Simon Willison ",2023-10-13T00:00:27Z,2023-10-13T00:00:27Z,f98fc3edb6941a80a1bf0347a12972fd457ea2fb,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,9020979,19864447 6500fed8b2085869b9714ce3a08c30f61dc829ad,"Transform no longer breaks non-string default values Closes #509",2023-05-08T21:13:36Z,2023-05-08T21:13:36Z,f98e0e8fe6ee48ca1f752bb408eecbbd294f9ceb,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,13819005,19864447 1c8457ddaa487aa2e677963d37217fcb6d544e59,"Fix import error if note has no ""updated"" element (#8) Co-authored-by: Matej Korosec ",2021-02-11T22:34:05Z,2021-02-11T22:34:05Z,f85fb7898f36734a83fd9c8a2c2e96c751920c35,cd792325681cbad9f663f2879d8b69f1edbb678f,303218369,4028322,19864447 ca5ba6b77b4c973fa7ba91008a2e99debfa306b4,"Document setting Google Cloud SDK properties (#995) Document setting Google Cloud SDK properties to avoid having to respond to interactive prompts when running `datasette publish cloudrun`. Thanks, @ghing!",2020-10-06T16:25:37Z,2020-10-06T16:25:37Z,f3dfe1c3cf166dd0b9b8860a25045107a068c5df,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,110420,19864447 e03aed00026cc2e59c09ca41f69a247e1a85cc89,"Detect server start/stop more reliably. This is useful, especially in testing, since your test hosts might not reliabliy start the server within two seconds, so we do a definite check before progressing. By the same token, after `kill $server_pid` wait for the pid to be gone from the process list. Since now the script can end prematurely, I also added a cleanup function to make sure the temporary certs are removed in any case. n.b. this could also be done with the use of `trap 'fn' ERR` but that felt like a bit too much magic for this short a script.",2022-12-18T09:40:06Z,2022-12-18T16:01:51Z,f333c00958a658720cd93e305aac71711b88e52b,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,11321,9599 ae4593316ccf5e42ad26f27033193834a7e696c8,"Add insert --truncate option Deletes all rows in the table (if it exists) before inserting new rows. SQLite doesn't implement a TRUNCATE TABLE statement but does optimize an unqualified DELETE FROM. This can be handy if you want to refresh the entire contents of a table but a) don't have a PK (so can't use --replace), b) don't want the table to disappear (even briefly) for other connections, and c) have to handle records that used to exist being deleted. Ideally the replacement of rows would appear instantaneous to other connections by putting the DELETE + INSERT in a transaction, but this is very difficult without breaking other code as the current transaction handling is inconsistent and non-systematic. There exists the possibility for the DELETE to succeed but the INSERT to fail, leaving an empty table. This is not much worse, however, than the current possibility of one chunked INSERT succeeding and being committed while the next chunked INSERT fails, leaving a partially complete operation.",2020-07-06T21:18:23Z,2020-07-08T17:26:20Z,f2f4d10a554519ea00fb44a5f6377123c59e1f22,13ae486343ea6454a93114c6f558ffea2f2c6874,140912432,79913,9599 f8277d0fb9c05a88a9ff01d996e31d55f0f0a645,"sqlite-utils query can now run DML (#120) * Failing test showing that DML in `sqlite-utils query` doesn't work * Run `sqlite-utils query` in a transaction so that DML is committed Thanks, @tsibley!",2020-07-08T05:14:04Z,2020-07-08T05:14:04Z,f25304fb12f6d6fab36f551427610ed8e96f0c2f,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,79913,19864447 c1193d5ed3bba58cf1fe438d0f36d5a8432ef40e,Updated README,2020-11-30T04:15:44Z,2020-11-30T04:15:44Z,f0031cc286d7f7a2dc1ac63c2100b9870639429c,f0031cc286d7f7a2dc1ac63c2100b9870639429c,207052882,, 22a0164666718b8c98d058cdbd57afd1560a2a1c,Updated README,2020-11-30T00:06:30Z,2020-11-30T00:06:30Z,f0031cc286d7f7a2dc1ac63c2100b9870639429c,f0031cc286d7f7a2dc1ac63c2100b9870639429c,207052882,, dff08344ebe07456e6929052567a52adab590455,Updated README,2020-11-29T23:51:28Z,2020-11-29T23:51:28Z,f0031cc286d7f7a2dc1ac63c2100b9870639429c,f0031cc286d7f7a2dc1ac63c2100b9870639429c,207052882,, 1b23ce11953f9f59c0161ea1f99188b55b5ea11c,Updated README,2020-11-29T21:57:37Z,2020-11-29T21:57:37Z,f0031cc286d7f7a2dc1ac63c2100b9870639429c,f0031cc286d7f7a2dc1ac63c2100b9870639429c,207052882,, b02bf135485c0a7a3768868967f45a6b5e515289,Updated README,2020-09-17T03:33:30Z,2020-09-17T03:33:30Z,f0031cc286d7f7a2dc1ac63c2100b9870639429c,f0031cc286d7f7a2dc1ac63c2100b9870639429c,207052882,, fa0217a94b9c2e042fc565a0d35e7e98bc275b7c,Updated README,2020-08-18T14:53:04Z,2020-08-18T14:53:04Z,f0031cc286d7f7a2dc1ac63c2100b9870639429c,f0031cc286d7f7a2dc1ac63c2100b9870639429c,207052882,, c00e7b4532b9478c59c32e2cfb99efbf1358253a,Updated README,2020-07-23T14:54:26Z,2020-07-23T14:54:26Z,f0031cc286d7f7a2dc1ac63c2100b9870639429c,f0031cc286d7f7a2dc1ac63c2100b9870639429c,207052882,, 76906215d157effae224f0cb2089070050de0248,Updated README,2020-07-22T19:02:13Z,2020-07-22T19:02:13Z,f0031cc286d7f7a2dc1ac63c2100b9870639429c,f0031cc286d7f7a2dc1ac63c2100b9870639429c,206156866,, 8ea626e5fcdc4c9e52f615c6347e68173805f8b4,"Add type conversion for Panda's Timestamp (#96) Thanks, @b0b5h4rp13!",2020-03-31T04:40:48Z,2020-03-31T04:40:48Z,eab1e8f71bd05f2ff2163f024127cc28876dd05d,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,32605365,19864447 0b315d3fa83c1584eaeec32f24912898621e437a,"progressbar for inserts/upserts of other file formats * progressbar for inserts/upserts of other file formats, closes #485 * Pin to Python 3.10.6 for the moment as workaround for mypy error Co-authored-by: Simon Willison ",2022-09-15T20:37:51Z,2022-09-15T20:37:51Z,e7784035c9ce3ef64d906c543907d5025673d054,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,99098079,19864447 984b1df12cf19a6731889fc0665bb5f622e07b7c,"Add documentation for serving via OpenRC (#1825) * Add documentation for serving via OpenRC",2022-09-28T04:21:36Z,2022-09-28T04:21:36Z,ddda3e8cc5167e6bdbab6819a1f4e8e2621f4e89,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,1048831,19864447 446d47fdb005b3776bc06ad8d1f44b01fc2e938b,"make html title more readable in query template (#180) tiny tweak to make this easier to visually parse—I think it matches your style in other templates",2018-04-03T15:24:04Z,2018-04-03T15:24:04Z,daa0836007170071f748b575d34c4432f4f43926,2946d096d0cdefdc017559e6b57e87658736e843,107914493,56477,9599 cada1017edcfa691c2314d7ad1b7c7576495317f,Fixed incorrect example in README,2020-09-30T20:29:27Z,2020-09-30T20:29:27Z,d9a1cca675e8697c10ac5f4cbceac5ea7dc2a906,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,19921,19864447 e7b2626291040b78b9a2dbc2982ba72691fb1a0f,"Fix incorrect create-table cli description (#254) The description for `create-table` was duplicated from `create-index`.",2021-05-19T02:57:26Z,2021-05-19T02:57:26Z,d6a64a7ba2d6c2c36f86efe56eb62e19518bfd72,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,1935268,19864447 b366e68deb0780048a23610c279552f8529d4726,"table.duplicate(new_table_name) feature, closes #449 Thanks, @davidleejy",2022-07-15T21:21:36Z,2022-07-15T21:21:36Z,d4b26031589514477509e3dae9cde3678a3b610e,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,1690072,19864447 7805d53bcf11199bd1f2b07e05ae90151f9d0eb0,"Fix accidental mega long line in docs (#158) Thanks @tomviner",2020-09-16T06:21:42Z,2020-09-16T06:21:42Z,d151532d3a398e1acd965596193c7d4c7c0475ff,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,167319,19864447 328211eaca1247cd6b33a2c0a54642f87866d85b,"Typo in upsert example (#244) Remove extra `[`",2021-05-19T02:58:21Z,2021-05-19T02:58:21Z,cde244e49fff511dca86e57614d1b133bfffdcd0,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,387669,19864447 d08a13314081ae2ce0313a17d3c07c1a7f2d94d5,"Hide Spatialite system tables They were getting on my nerves.",2018-04-11T21:20:25Z,2018-04-12T21:34:47Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 ec6abc81e433c9bac1b9f085111785fc227e9e34,"Initial units support Add support for specifying units for a column in metadata.json and rendering them on display using [pint](https://pint.readthedocs.io/en/latest/). ref #203",2018-04-13T21:17:59Z,2018-04-14T03:32:53Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 8bfeb984788c7144088c16c5f9126ca7d6af6e93,"Tidy up units support * Add units to exported JSON * Units key in metadata skeleton * Docs",2018-04-14T10:16:09Z,2018-04-14T10:43:34Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,107914493,45057,45057 ab85605c6179b21bb0add59b76c1b376d9d248b2,Support units in filters,2018-04-14T10:41:27Z,2018-04-14T10:43:35Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,107914493,45057,45057 3c985ec271cce46db8682c2a7466ea1c9a2ed210,Allow custom units to be registered with Pint,2018-04-14T11:27:06Z,2018-04-14T11:27:06Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,107914493,45057,45057 ed974417ad54f0c0f65b2f1cf54dc12485abb570,Tests for unit filtering,2018-04-14T14:06:52Z,2018-04-14T14:06:52Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,107914493,45057,45057 7d5f25dfb320af26ec4afcb1a687f7f034e1f044,Add link to pint custom units page to docs,2018-04-14T14:08:20Z,2018-04-14T14:08:20Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,107914493,45057,45057 1cc5161089e559c8b16049b20f7a5b3a43290c21,"Fix sqlite error when loading rows with no incoming FKs This fixes `ERROR: conn=, sql = 'select ', params = {'id': '1'}` caused by an invalid query when loading incoming FKs. The error was ignored due to async but it still got printed to the console.",2018-04-14T12:06:00Z,2018-04-14T14:24:24Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 f2b940d6026677f6859d46a4f16fa402745d261d,"Link foreign keys which don't have labels This renders unlabeled FKs as simple links. I can't see why this would cause any major problems. Also includes bonus fixes for two minor issues: * In foreign key link hrefs the primary key was escaped using HTML escaping rather than URL escaping. This broke some non-integer PKs. * Print tracebacks to console when handling 500 errors.",2018-04-14T13:17:20Z,2018-04-14T14:59:59Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 efbb4e83374a2c795e436c72fa79f70da72309b8,"Return HTTP 405 on InvalidUsage rather than 500 This also stops it filling up the logs. This happens for HEAD requests at the moment - which perhaps should be handled better, but that's a different issue.",2018-04-14T16:11:16Z,2018-04-14T18:00:38Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 b231d4243d748facf1897e7756c2b578bb448edc,Correct escaping for HTML display of row links,2018-04-15T21:48:30Z,2018-04-18T01:13:02Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 4586aa506a054d07e674cde8143a3008e6bc5d78,"Don't duplicate simple primary keys in the link column When there's a simple (single-column) primary key, it looks weird to duplicate it in the link column. This change removes the second PK column and treats the link column as if it were the PK column from a header/sorting perspective.",2018-04-15T21:49:01Z,2018-04-18T01:13:02Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 0f782dd8dfd7c53a9c20bbd2cb8734bb806d928b,Additional test asserts,2018-04-16T20:22:04Z,2018-04-18T01:13:02Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 136a70d88741e2a5892c3de437064a9d14494d66,"Add column name classes to s, make PK bold",2018-04-17T08:29:48Z,2018-04-18T01:13:02Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 58b5a37dbbf13868a46bcbb284509434e66eca25,Refactor inspect logic,2018-05-21T08:02:34Z,2018-05-22T14:03:06Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 58fec99ab0a31bcf25968f2aa05d37de8139b83c,"Allow app names for `datasette publish heroku` Lets you supply the `-n` parameter for Heroku deploys, which also lets you update existing Heroku deployments.",2018-07-14T13:10:49Z,2018-07-14T14:04:42Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,2946d096d0cdefdc017559e6b57e87658736e843,107914493,45057,9599 cf406c075433882b656e340870adf7757976fa4c,"New plugin hook: register_output_renderer hook (#441) Thanks @russss! * Add register_output_renderer hook This changeset refactors out the JSON renderer and then adds a hook and dispatcher system to allow custom output renderers to be registered. The CSV output renderer is untouched because supporting streaming renderers through this system would be significantly more complex, and probably not worthwhile. We can't simply allow hooks to be called at request time because we need a list of supported file extensions when the request is being routed in order to resolve ambiguous database/table names. So, renderers need to be registered at startup. I've tried to make this API independent of Sanic's request/response objects so that this can remain stable during the switch to ASGI. I'm using dictionaries to keep it simple and to make adding additional options in the future easy. Fixes #440",2019-05-01T23:01:56Z,2019-05-01T23:01:56Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,45057,9599 470cf0b05d4fda0d2563f81c7e32af13fe346ccc,"Add a max-line-length setting for flake8 (#444) This stops my automatic editor linting from flagging lines which are too long. It's been lingering in my checkout for ages. 160 is an arbitrary large number - we could alter it if we have any opinions (but I find the line length limit to be my least favourite part of PEP8).",2019-05-03T13:11:27Z,2019-05-03T13:11:27Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,45057,9599 bf229c9bd88179c8ec16bd65fd4fb28ab4241c2e,"Pass view_name to extra_body_script hook (#443) At the moment it's not easy to tell whether the hook is being called in (for example) the row or table view, as in both cases the `database` and `table` parameters are provided. This passes the `view_name` added in #441 to the `extra_body_script` hook.",2019-05-03T13:12:19Z,2019-05-03T13:12:19Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,45057,9599 d555baf508de71a5e3dc9a9aed2c13f6f202956d,"Suppress rendering of binary data - thanks @russss (#442) Binary columns (including spatialite geographies) get shown as ugly binary strings in the HTML by default. Nobody wants to see that mess. Show the size of the column in bytes instead. If you want to decode the binary data, you can use a plugin to do it.",2019-05-03T16:44:48Z,2019-05-03T16:44:48Z,cd9d55c7c0a7cc0ee69155676fd5e9fc6e1b884b,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,45057,9599 7d69f1ac02536d9a831d57ce096b96d07e812613,New header and footer,2020-08-27T21:59:34Z,2020-10-27T19:39:55Z,cb0d330fa68b6a0d1b11370a9dbda0d2b8f4d3aa,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,72973,9599 6dff22eff8a52253a6c2bdf3e32f082fbf81b921,Visited link colours,2020-10-27T18:39:35Z,2020-10-27T19:39:55Z,cb0d330fa68b6a0d1b11370a9dbda0d2b8f4d3aa,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,72973,9599 df19a48a3b72a51feb4203c44903451cc9e6c1bf,Implemented new Natalie design,2020-10-27T18:40:08Z,2020-10-27T19:39:55Z,cb0d330fa68b6a0d1b11370a9dbda0d2b8f4d3aa,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,72973,9599 daae35be46ec5cb8a207aa20986a4fa62e94777e,"Fix misaligned table actions cog Closes #1121. Thanks, @abdusco",2020-12-03T00:33:36Z,2020-12-03T00:33:36Z,caa5b5002180b0bc856f66473e9ba8058a4c820e,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,3243482,19864447 31352914c427162f785d2610222a54a426d5215f,"Update full_text_search.rst (#1474) Change ""above"" to ""below"" to correct correspondence of reference to example.",2021-10-13T21:10:23Z,2021-10-13T21:10:23Z,c78bb0e63f63cce7b49009493a7b927ff92e8488,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,72577720,19864447 4f7c0ebd85ccd8c1853d7aa0147628f7c1b749cc,"Fix table name in spatialite example command (#1022) The 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.",2020-10-14T23:46:46Z,2020-10-14T23:46:46Z,c49d52addfdcb2a0682b83ad3b98e88426921728,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,639012,19864447 347fdc865e91b8d3410f49a5c9d5b499fbb594c1,"Map datetime.timedelta to text columns, closes #522",2023-11-04T00:49:50Z,2023-11-04T00:49:50Z,c05f3ac9fd9e1c01f58129c9f0e6965fe888c4d8,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,4420927,19864447 be2265b0e811d0ac2875c2f748125c17b0f9289e,"Fix db-to-sqlite command in ecosystem doc page (#669) Thanks, @adipasquale",2020-02-22T02:32:17Z,2020-02-22T02:32:17Z,bd53542d6923dd8fcfd93cd43a925e6e8acd6e80,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,883348,19864447 39ef137e6760d385dc48d03eccf9b89943636fc7,Support self-referencing FKs in `create` (#537),2023-05-08T21:10:00Z,2023-05-08T21:10:00Z,b9c77b970cf91e2e44d83118464578123130e5fe,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,544011,19864447 af2e6a5cf186a7200d76cb67ac30fa59cc24d84e,"Button to format SQL, closes #136 SQL code will be formatted on page load, and can additionally be formatted by clicking the ""Format SQL"" button. Thanks, @rixx!",2019-10-14T03:46:12Z,2019-10-14T03:46:12Z,b90d9715d7c0881515e9d6aa98923ed89d445945,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,2657547,9599 908fc3999e06f3ccd3bb8ad0539490bbc7809748,"Sort databases on homepage by argument order - #591 Closes #585 - thanks, @rixx!",2019-10-14T03:52:33Z,2019-10-14T03:52:33Z,b90d9715d7c0881515e9d6aa98923ed89d445945,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,2657547,9599 12cec411cae73ba7211429da12cd32c551fe17b1,"Display metadata footer on custom SQL queries (#589) Closes #408 - thanks, @rixx!",2019-10-14T03:53:21Z,2019-10-14T03:53:21Z,b90d9715d7c0881515e9d6aa98923ed89d445945,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,2657547,9599 ee330222f4c3ee66c2fe41ebc76fed56b9cb9a00,"Offer to format readonly SQL (#602) Following discussion in #601, this PR adds a ""Format SQL"" button to read-only SQL (if the SQL actually differs from the formatting result). It also removes a console error on readonly SQL queries. Thanks, @rixx!",2019-11-04T02:39:55Z,2019-11-04T02:39:55Z,b90d9715d7c0881515e9d6aa98923ed89d445945,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,2657547,9599 931bfc66613aa3e22f8314df5c0d0758baf31f38,"Handle spaces in DB names (#590) Closes #503 - thanks, @rixx",2019-11-04T23:16:30Z,2019-11-04T23:16:30Z,b90d9715d7c0881515e9d6aa98923ed89d445945,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,2657547,9599 368aa5f1b16ca35f82d90ff747023b9a2bfa27c1,"Update docs: explain allow_download setting (#1291) * Update docs: explain allow_download setting This fixes one possible source of confusion seen in #502 and clarifies when database downloads will be shown and allowed.",2021-06-05T19:48:51Z,2021-06-05T19:48:51Z,b9073d8bf7774f95bd90f812e3d6e858520194be,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,5413548,19864447 ecf1d40112e52a8f4e509c39b98caae996b7bc36,"table.search_sql(include_rank=True) option (#480) * search_sql add include_rank option * add test * add FTS4 test * Apply Black Thanks, @chapmanjacobd",2022-08-31T03:40:35Z,2022-08-31T03:40:35Z,aff9d2f73a18d2ec18afd0f3fefe046f37945a60,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,7908073,19864447 35deaabcb105903790d18710a26e77545f6852ce,"Move non-metadata configuration from metadata.yaml to datasette.yaml * Allow and permission blocks moved to datasette.yaml * Documentation updates, initial framework for configuration reference",2023-10-12T16:16:37Z,2023-10-12T16:16:37Z,aa206886100eb0f7f5e54172b068d9dd45885448,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,15178711,19864447 3d6d1e3050b8e50fac40ec090672d8a95fa8e06c,"Raise an exception if a ""plugins"" block exists in metadata.json",2023-10-12T16:20:50Z,2023-10-12T16:20:50Z,aa206886100eb0f7f5e54172b068d9dd45885448,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,15178711,19864447 3f80a026983d3e634f05a46f2a6da162b5139dd9,"prepare_connection plugin hook Closes: - #574 Refs #567 --------- Co-authored-by: Simon Willison ",2023-07-22T22:59:08Z,2023-07-22T22:59:08Z,aa206886100eb0f7f5e54172b068d9dd45885448,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,15178711,19864447 17ec309e14f9c2e90035ba33f2f38ecc5afba2fa,"Start datasette.json, re-add --config, rm settings.json The first step in defining the new `datasette.json/yaml` configuration mechanism. Refs #2093, #2143, #493",2023-08-23T01:26:11Z,2023-08-23T01:26:11Z,aa206886100eb0f7f5e54172b068d9dd45885448,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,15178711,19864447 92b8bf38c02465f624ce3f48dcabb0b100c4645d,"Add new `--internal internal.db` option, deprecate legacy `_internal` database Refs: - #2157 --------- Co-authored-by: Simon Willison ",2023-08-29T03:24:23Z,2023-08-29T03:24:23Z,aa206886100eb0f7f5e54172b068d9dd45885448,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,15178711,19864447 b2ec8717c3619260a1b535eea20e618bf95aa30b,"Plugin configuration now lives in datasette.yaml/json * Checkpoint, moving top-level plugin config to datasette.json * Support database-level and table-level plugin configuration in datasette.yaml Refs #2093",2023-09-13T21:06:25Z,2023-09-13T21:06:25Z,aa206886100eb0f7f5e54172b068d9dd45885448,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,15178711,19864447 1d64c9a8dac45b9a3452acf8e76dfadea2b0bc49,"Add new entrypoint option to --load-extensions. (#1789) Thanks, @asg017",2022-08-23T18:34:30Z,2022-08-23T18:34:30Z,aa206886100eb0f7f5e54172b068d9dd45885448,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,15178711,19864447 cab8e65261b117b493af6a0b21aa2e1ae4564419,Add minimum supported python (#1044),2020-10-23T20:53:07Z,2020-10-23T20:53:07Z,a97268d4c7c462a8e260bc98d425e618143667c8,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,45380,19864447 976e5f74aae1fa0d406df6691dc8b5feeebe8788,Include LICENSE in sdist (#1043),2020-10-23T20:54:34Z,2020-10-23T20:54:34Z,a97268d4c7c462a8e260bc98d425e618143667c8,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,45380,19864447 663ac431fe7202c85967568d82b2034f92b9aa43,"Use Read the Docs action v1 (#1778) Read 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`",2022-08-20T00:04:16Z,2022-08-20T00:04:16Z,a9570db41e1b6fe56efd98307a0c1c3facf064e4,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,244656,19864447 83e7339255e811c62e6db8498c483c44a84d0f28,"Use Read the Docs action v1 (#463) Read 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`",2022-08-17T23:11:15Z,2022-08-17T23:11:15Z,a9570db41e1b6fe56efd98307a0c1c3facf064e4,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,244656,19864447 bd30c696e18927207358ee9d63174a5c41c8297e,"Build Dockerfile with recent Sqlite + Spatialite (#280) Closes #278 ```bash $ docker run --rm -it datasette spatialite SpatiaLite version ..: 4.4.0-RC0 Supported Extensions: - 'VirtualShape' [direct Shapefile access] - 'VirtualDbf' [direct DBF access] - 'VirtualXL' [direct XLS access] - 'VirtualText' [direct CSV/TXT access] - 'VirtualNetwork' [Dijkstra shortest path] - 'RTree' [Spatial Index - R*Tree] - 'MbrCache' [Spatial Index - MBR cache] - 'VirtualSpatialIndex' [R*Tree metahandler] - 'VirtualElementary' [ElemGeoms metahandler] - 'VirtualKNN' [K-Nearest Neighbors metahandler] - 'VirtualXPath' [XML Path Language - XPath] - 'VirtualFDO' [FDO-OGR interoperability] - 'VirtualGPKG' [OGC GeoPackage interoperability] - 'VirtualBBox' [BoundingBox tables] - 'SpatiaLite' [Spatial SQL - OGC] PROJ.4 version ......: Rel. 4.9.3, 15 August 2016 GEOS version ........: 3.5.1-CAPI-1.9.1 r4246 TARGET CPU ..........: x86_64-linux-gnu the SPATIAL_REF_SYS table already contains some row(s) SQLite version ......: 3.23.1 Enter "".help"" for instructions SQLite version 3.23.1 2018-04-10 17:39:29 Enter "".help"" for instructions Enter SQL statements terminated with a "";"" spatialite> ``` ```bash $ docker run --rm -it datasette python -c ""import sqlite3; print(sqlite3.sqlite_version)"" 3.23.1 ``` Also updates the query used to check for FTS5 as the old version wasn't detecting FTS5 for some reason.",2018-05-23T17:43:34Z,2018-05-23T17:43:34Z,a901819e7fab7b80a873df43d5123bb3252681f8,2946d096d0cdefdc017559e6b57e87658736e843,107914493,565628,9599 ea99a4431ce5bc2d65a3496da5b38e1986550a96,"Only load Python files from plugins-dir Pull request #890. Thanks, @amjith! * Load only python files from plugins-dir * Add a test to verify non-python files are not loaded as plugins",2020-07-03T03:08:32Z,2020-07-03T03:08:32Z,a83a9ad7fdcc8d400257ebb4c5d09638aa09f73b,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,49260,19864447 405e092d5916e70df10f82d15e9c052aa9ee8d80,"Option to add triggers when enabling FTS (#57) --create-triggers CLI option and create_triggers=True in the Python library * Add an option to create triggers for fts table. * Add cli option for the create-update-trigger. * Add tests for the create-update-trigger option. * Change FTS table escaping to square brackets.",2019-09-02T23:42:28Z,2019-09-02T23:42:28Z,a83a9ad7fdcc8d400257ebb4c5d09638aa09f73b,13ae486343ea6454a93114c6f558ffea2f2c6874,140912432,49260,9599 70dffca351375e6f542969c72ebc43c6d393d99c,"Remove unneeded exists=True for -a/--auth flag. (#59) The file does not need to exist when using an environment variable.",2021-05-19T16:08:12Z,2021-05-19T16:08:12Z,a7fbb45ec68f58915ee5484e65e5159f5ed91182,cd792325681cbad9f663f2879d8b69f1edbb678f,207052882,631242,19864447 459259175eddeed727fd8f08dc19a332779a4f6b,Fix small typo (#1335),2021-05-22T23:53:34Z,2021-05-22T23:53:34Z,a74b1d810ebe1b3fb65c0fccc2b7b36623068cae,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,3243482,19864447 705d1a1555c4791e9be3b884285b047223ab184f,"Fix startup error on windows (#1128) Fixes https://github.com/simonw/datasette/issues/1094 This import isn't used at all, and causes error on startup on Windows.",2020-12-05T19:35:03Z,2020-12-05T19:35:03Z,a74b1d810ebe1b3fb65c0fccc2b7b36623068cae,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,3243482,19864447 aa652b6afe43d2b40fabc7a513c3e68866e030a5,"add -h support Closes #276",2021-06-18T14:56:59Z,2021-06-18T14:56:59Z,a5c9af884c4814b20969652665d29676767dceb7,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,601708,19864447 a113c28ea1924d83e6789ae5e0805312e55b4490,"Add version number support with Versioneer Repo: https://github.com/warner/python-versioneer Versioneer Licence: Public Domain (CC0-1.0) Closes #273",2018-05-22T15:33:29Z,2018-05-22T19:35:21Z,a1a72b19e432a3145fdb845aab2927c00d8a8426,2946d096d0cdefdc017559e6b57e87658736e843,107914493,198537,9599 367082e787101fb90901ef3214804ab23a92ce46,"Typos in tests (#156) Thanks @simonwiles",2020-09-09T18:21:22Z,2020-09-09T18:21:22Z,a02cf01c415b3ca2d3b4458167191f30850ff9dd,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,96218,19864447 e6d202b742a7b531fffa593703d34f8337632d68,"Handle case where subsequent records (after first batch) include extra columns Refs #145. * Extract build_insert_queries_and_params * Extract insert_chunk so it can be called recursively Thanks, @simonwiles",2020-09-08T23:20:36Z,2020-09-08T23:20:36Z,a02cf01c415b3ca2d3b4458167191f30850ff9dd,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,96218,19864447 947bb7626fd1763608a470adf9cf5f156ef003e9,"insert_all(..., alter=True) works for columns introduced after first 100 records * Insert all columns for every chunk * Update unit test to reflect new behaviour * Test that exception is raised * Update documentation Closes #139. Thanks, Simon Wiles!",2020-08-28T22:30:13Z,2020-08-28T22:30:13Z,a02cf01c415b3ca2d3b4458167191f30850ff9dd,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,96218,19864447 c5f4f0f70ce394dfec6054c3c5aaedf330887093,"Use jsonify_if_need for sql updates (#204) * add failing tests for update with json values * use jsonify_if_needed in for sql updates Thanks, @mfa",2020-12-08T17:49:42Z,2020-12-08T17:49:42Z,9d65422e8ede715e91311c9f3703218f2478bf55,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,78035,19864447 d3c4ab2848ea606417150f377a82e66ca7887c54,"Don't break if source is missing (#6) This broke for very old checkins from 2010 with no source set. Thanks, @mfa!",2020-03-28T02:28:10Z,2020-03-28T02:28:10Z,9d65422e8ede715e91311c9f3703218f2478bf55,cd792325681cbad9f663f2879d8b69f1edbb678f,205429375,78035,19864447 de810f49cc57a4f88e4a1553d26c579253ce4531,"Add /opt/homebrew to where spatialite extension can be found (#1649) Helps homebrew on Apple Silicon setups find spatialite without needing a full path. Similar to #1114 Thanks, @danp",2022-03-06T19:39:15Z,2022-03-06T19:39:15Z,9a3d8e1c0e383f75737a170eb4560dd9f9576302,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,2182,19864447 91aa5f578e871a7976ca0a861862f9b9dd162464,"Fix for since_id bug, closes #58 (#59) Fixes remaining instances of this bug",2021-09-21T17:37:40Z,2021-09-21T17:37:40Z,98a500b3673cfe0c268b7a6ef2e6a08ed458be22,cd792325681cbad9f663f2879d8b69f1edbb678f,206156866,42904,19864447 8b4c600d98b85655b3a1454ebf64f858b5fe54c8,"Add spatialite, switch to debian and local build (#114)",2017-11-17T03:50:51Z,2017-11-17T03:50:51Z,959507cc7596b555bf4292e84f335b02cca843f8,2946d096d0cdefdc017559e6b57e87658736e843,107914493,54999,9599 6be5654ffab282e8cf39cc138ba2d4496ebc7407,"Exclude tests from package, properly this time The `exclude` argument to `find_packages` needs an iterable of package names. Closes #456 - thanks, @abeyerpath!",2020-07-24T20:39:53Z,2020-07-24T20:39:53Z,9585cefab9c28adcb0c2d7fccbd48333cd74642c,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,32467826,19864447 f853d5592ec7f901a50381de22a26a9ab098f885,"""python3 -m pip"" is clearer (thanks @jaap3) (#368)",2019-05-03T18:18:42Z,2019-05-03T18:18:42Z,93b11f15fd4dc15002baf3d9160dc6eb928bd883,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,48517,9599 66c87cee0c7344c7877373c60b180c766c206101,"Mark codemirror files as vendored (#367) This should stop GitHub from incorrectly stating that Datasette is 46% JavaScript.",2019-05-03T21:11:19Z,2019-05-03T21:11:19Z,93b11f15fd4dc15002baf3d9160dc6eb928bd883,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,48517,9599 8f9a729e8aff972cb18de25b40f4113e26bbc758,Add paths for homebrew on Apple silicon (#536),2023-04-13T01:44:43Z,2023-04-13T01:44:43Z,90786fb02407ad60f10210c0592ee711a9a36fae,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,25778,19864447 01369176b0a8943ab45292ffc6f9c929b80a00e8,"Keep track of datasette.config_dir (#1766) Thanks, @eyeseast - closes #1764",2022-07-18T01:12:45Z,2022-07-18T01:12:45Z,90786fb02407ad60f10210c0592ee711a9a36fae,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,25778,19864447 396f80fcc60da8dd844577114f7920830a2e5403,"Ignore common generated files (#419) Thanks, @eyeseast",2022-03-24T21:01:43Z,2022-03-24T21:01:43Z,90786fb02407ad60f10210c0592ee711a9a36fae,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,25778,19864447 a692c56659c3563b26dcdc9e3534d63ecc26e180,"Add SpatiaLite helpers to CLI (#407) * Add SpatiaLite CLI helpers * Add docs for spaitalite helpers * Fix flake8 issues and add more detail on spatial types * Run cog and add some help text. * Use SpatiaLite when calculating coverage, refs #407 Co-authored-by: Simon Willison ",2022-02-16T00:58:07Z,2022-02-16T00:58:07Z,90786fb02407ad60f10210c0592ee711a9a36fae,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,25778,19864447 ee11274fcb1c00f32c95f2ef2924d5349538eb4d,"New spatialite helper methods, closes #79 - db.init_spatialite() - table.add_geometry_column() - table.create_spatial_index() Co-authored-by: Simon Willison ",2022-02-04T05:55:09Z,2022-02-04T05:55:09Z,90786fb02407ad60f10210c0592ee711a9a36fae,cd792325681cbad9f663f2879d8b69f1edbb678f,140912432,25778,19864447 a6c55afe8c82ead8deb32f90c9324022fd422324,"Ensure db.path is a string before trying to insert into internal database (#1370) Thanks, @eyeseast",2021-06-21T15:57:38Z,2021-06-21T15:57:38Z,90786fb02407ad60f10210c0592ee711a9a36fae,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,25778,19864447 2e9751672d4fe329b3c359d5b7b1992283185820,"chore: Set permissions for GitHub actions (#1740) Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>",2022-05-31T19:28:40Z,2022-05-31T19:28:40Z,902cf90c9d2dadfcff296a337dc6e2df5775229f,cd792325681cbad9f663f2879d8b69f1edbb678f,107914493,172697,19864447 75a21fc2a136ccfc9da7bbf521cf288e63c9707f,"datasette publish cloudrun (#434) - thanks, @rprimet New publish subcommand that publishes using the new Google Cloud Run platform. datasette publish cloudrun database.db",2019-05-03T13:59:01Z,2019-05-03T13:59:01Z,8ff51bbea01fdafe1fb3502111343b563f7d5a1b,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,10352819,9599