sha,message,author_date,committer_date,raw_author,raw_author_label,raw_committer,raw_committer_label,repo,repo_label,author,author_label,committer,committer_label ec934491d5940c743e81cc2f5b434a0847e81126,Release 0.1a,2020-04-19T00:15:55Z,2020-04-19T00:15:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw c47d6b998e3357b05a5cd61bfaebdf7781664e5e,"Add progress bar to upload command, closes #6",2020-04-19T00:10:56Z,2020-04-19T00:12:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw db169f90d96d6e39d49e3c70fc5b11b6823f7901,"Ask for bucket in s3-auth, refs #5",2020-04-19T00:10:00Z,2020-04-19T00:10:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw 502efb941a8177611d6295c864f7a88553af2fa7,"photos-to-sqlite upload photos.db dirname command, closes #4",2020-04-18T21:57:00Z,2020-04-18T21:57:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw 2ff303f8eac37d72231427944e05d93c30fba98f,Ignore my auth.json,2020-04-18T21:17:41Z,2020-04-18T21:18:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw 6989842e8e512f1b47ed17554f56c6fa67811ae9,"Test for s3-auth command Also renamed JSON keys to have photos_s3 prefix - refs #5",2020-04-18T21:15:49Z,2020-04-18T21:15:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw 86d3ca4015d23f494d372e8623e62318723f2220,"Initial checkn + s3-auth command, closes #5",2020-04-18T21:08:29Z,2020-04-18T21:08:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw 5cd34bd07d704487d48ac741ee5da5317afe88d2,Release 1.1,2020-04-18T15:07:04Z,2020-04-18T15:07:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 87d4bcfff4babcb17c1125884cce5791054b5cca,Note that demo includes datasette and sqlite-utils now,2020-04-18T15:06:46Z,2020-04-18T15:06:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 13f8868fb5efa01c263b24f6dd91c617e6e938e1,Demo also pulls datasette and sqlite-utils,2020-04-18T14:56:47Z,2020-04-18T14:56:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 9ca6dc835ca6da948ee5f766024ad0734cc69db8,"Handle 204 No Content from GitHub API, refs #28",2020-04-18T14:53:39Z,2020-04-18T14:53:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 4fa33ffcf138e50125d8d04dcaa34ea32413151e,"New contributors command, refs #28",2020-04-18T01:19:56Z,2020-04-18T01:19:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 0ad3ce5e2d664c227d7045afafec46704f251a10,"Use INTEGER for organization column, fixes #27",2020-04-18T00:18:45Z,2020-04-18T00:18:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw f58f7464243f75367da2ad3cab240246e6e2e618,Release 2.7 - refs #100,2020-04-18T00:04:50Z,2020-04-18T00:04:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7ce07705ed5ba4f54015cb1a5cea4b97c54bd45f,Improved README. Fixes #101,2020-04-17T23:59:47Z,2020-04-17T23:59:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 2ab62bcd54f8aa73a7a77d209133f0da6c73f3ea,"New columns= parameter for over-riding column types, closes #100",2020-04-17T23:53:25Z,2020-04-17T23:53:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 537587823a81c96b863c5db9cddae89c4fbec4aa,Release 0.21,2020-04-17T23:44:31Z,2020-04-17T23:44:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 73947d50115257b15e4a687ddf41cbf60ba942cb,"Better error for non-existing user, closes #37",2020-04-17T23:43:35Z,2020-04-17T23:43:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 9d61313a98569f693dd1ec9ce516b28d0f931b8d,"Fix for TypeError, closes #42",2020-04-17T23:34:34Z,2020-04-17T23:34:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 279f2ba0652221bb4a542603f0846e9754e1632f,"New command: twitter-to-sqlite lists, refs #43",2020-04-17T22:02:59Z,2020-04-17T22:02:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw faefa30fff03a9e88fc60e646ea6e7be97646dc1,"Handle blank tweet[source], closes #44",2020-04-17T19:29:58Z,2020-04-17T19:29:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw cd146bbbfa43c501adb9edd57f231c653aaa2397,Fixed RST underlines,2020-04-17T17:58:08Z,2020-04-17T17:58:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 31d3df0f798db16394fd662e42206cdf768ded12,Typo fix,2020-04-16T22:21:40Z,2020-04-16T22:21:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow da5beb2f94eb21454a71fb364aec562ec7c221d7,"Updated foreign keys test, refs #27",2020-04-16T19:19:38Z,2020-04-16T19:19:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 47686c7c3d2eee7f9e5425af8922970967ffb379,"Extract organizaion to users table, refs #27",2020-04-16T19:03:44Z,2020-04-16T19:03:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 539e8a86ba53decf26cd6bd9e53cffb80396719b,Add datasette-pretty-json to demo,2020-04-16T19:03:08Z,2020-04-16T19:03:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 3b7ab5685de89fcb6fc92d320c0e24b17be05570,"Release 1.0.1 With bug fix for #26",2020-04-16T17:41:47Z,2020-04-16T17:41:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 85a09a9966ab1aff36c83083243ab6985ec60084,"Send topic Accept header in fetch_repo() too, closes #26",2020-04-16T17:40:47Z,2020-04-16T17:41:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw c4aaa50e167cfa9021c7c94260bc3e89e10947bf,"Also pull issue comments, refs #25",2020-04-16T17:31:04Z,2020-04-16T17:31:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,207052882,github-to-sqlite,9599,simonw,19864447,web-flow 13528faa817d79bc3900d3af7473300686b145d7,Release 2.6,2020-04-16T03:13:13Z,2020-04-16T03:13:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 125c625fbc46244a4b4025732e1526fb13c55843,".rows_where(..., order_by=) argument, closes #76",2020-04-16T03:12:55Z,2020-04-16T03:12:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw fc38868bd4c97acfc65b1aefbff80dfdea5e0d54,"Refactored tests into new test_rows.py, refs #76",2020-04-16T01:04:51Z,2020-04-16T01:04:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 15e232180427e988174fdf88440c84b91d2d98d1,"Extra body CSS class for canned queries, closes #727",2020-04-15T21:06:12Z,2020-04-15T21:07:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ad6ac19470a67867b96cb4c086450b8e4e46bf02,"Release 2.5 Refs #96. Refs #98. Closes #97.",2020-04-13T03:52:19Z,2020-04-13T03:52:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 729a3e7869e26bb1ec97c685d3eadc0443404adc,"Tests for Database(..., recreate=True), refs #97",2020-04-13T03:47:36Z,2020-04-13T03:47:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7e4b9997c2cec4c2af42bd3088847a81c970b6fc,"Database(..., recreate=True) option, refs #97",2020-04-13T03:46:51Z,2020-04-13T03:46:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 635c91475aa52e58b467797a95fec4554908f7dc,"Only set last_pk on singular .insert()/.update(), refs #98",2020-04-13T03:22:32Z,2020-04-13T03:22:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 6161ebf4de44411b3f33feeacaf4501e803d1116,Fixed incorrect usage example,2020-04-12T18:44:08Z,2020-04-12T18:44:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow d349d57cdf3d577afb62bdf784af342a4d5be660,"Smarter merging of metadata and extra_metadata, closes #724",2020-04-10T18:34:09Z,2020-04-10T18:34:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d55fe8cdfc2ce7bc6960bf2507766c1fcd1d31a7,"Fixed bug with Templates considered comment, closes #689",2020-04-05T19:38:33Z,2020-04-05T19:38:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e89b0ef2f9ae89eb3bde83b694f21452ea4858da,"Expose extra_template_vars in _contex=1, refs #693",2020-04-05T18:49:15Z,2020-04-05T18:49:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 09253817dea3c131553494f9b2eb9c03f94ae761,"Fix for missing view_name bug, closes #716",2020-04-05T18:28:20Z,2020-04-05T18:28:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e0e7a0facfc935a835cd73c720bc46661462f0b1,"Removed Zeit Now v1 support, closes #710",2020-04-04T23:04:33Z,2020-04-04T23:04:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 07e208cc6d9e901b87552c1be2854c220b3f9b6d,"Refactored .custom_sql() method to new QueryView class Refs #698",2020-04-03T01:12:13Z,2020-04-03T01:12:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b07312c2b3bc7e4a9298c1f291f420bd92b6f842,"dedent SQL for neighborhood_search fixture Makes this page a little prettier: https://latest.datasette.io/fixtures/neighborhood_search",2020-04-03T00:54:27Z,2020-04-03T00:54:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6717c719dd36dc2adc0f9da38a8c8e08129e96b4,--metadata accepts YAML as well as JSON - closes #713,2020-04-02T19:30:53Z,2020-04-02T19:30:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 0b8a952cd5709ac27494b1694ca95188c89442ce,"Release 0.20.1 Refs #41",2020-04-01T04:31:23Z,2020-04-01T04:31:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 19bdd23a1c81d31664c44adc543ac9c9f7692edf,"Fix for None, None since_id bug, closes #41",2020-04-01T04:31:05Z,2020-04-01T04:31:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw e2e373d2178ea76fe16fc8d07fffac8b175c2010,Updated tests for new tables in #40,2020-04-01T04:18:17Z,2020-04-01T04:18:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 7f9eaa7bb08eb7f34911b954c9c88850d2a54b10,Release 0.20,2020-04-01T04:13:33Z,2020-04-01T04:13:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 32690eb7641b119030f439d1cc0fb160f379691f,"New feature: track history of various counts, closes #40",2020-04-01T04:12:54Z,2020-04-01T04:12:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 4b6c8d8c1cc6fefdb566ec8506157133f47c569a,"Improved --since= for searc, refs #39 Also fixed bug from the sqlite-utils 2.x upgrade caused by checking db[table].exists instead of db[table].exists()",2020-04-01T03:44:30Z,2020-04-01T03:44:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 824109b0707f0d352470ba4e9ec7d729250afcd3,"Improved --since= for home-timeline, refs #39",2020-04-01T03:37:33Z,2020-04-01T03:37:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw aab95d1f68f84e900764ec502dad87c4940206da,"Improved --since= for mentions-timeline, refs #39",2020-04-01T03:28:58Z,2020-04-01T03:28:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw c78e6ba76453e9f6461b1182599a1a6fd0535dc9,"Improved --since= for user-timeline, refs #39",2020-04-01T03:17:09Z,2020-04-01T03:17:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 8585efbecda055d62d2357bc3cee040dd3c3e0f3,"Create tables for --since tracking, refs #39",2020-04-01T00:31:01Z,2020-04-01T00:31:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 8ea626e5fcdc4c9e52f615c6347e68173805f8b4,"Add type conversion for Panda's Timestamp (#96) Thanks, @b0b5h4rp13!",2020-03-31T04:40:48Z,2020-03-31T04:40:48Z,eab1e8f71bd05f2ff2163f024127cc28876dd05d,bob,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,32605365,b0b5h4rp13,19864447,web-flow c91677ee74c574f0fb0826846bdbb3117a3e2552,Ran Black,2020-03-28T02:29:41Z,2020-03-28T02:29:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw f50cad4a2b6977e3eb174ccc440ae6709885faed,Release 0.3.1,2020-03-28T02:29:25Z,2020-03-28T02:29:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 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,Andreas Madsack,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,205429375,swarm-to-sqlite,78035,mfa,19864447,web-flow dfb6826524f41b3a5f8140e6d36d7077ccd10421,Release 0.3,2020-03-28T02:25:29Z,2020-03-28T02:25:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw be2fa42f5f4e9d146ce6e486d7e421ba286a2d3a,"Upgraded to sqlite-utils 2.x, closes #7",2020-03-28T02:24:57Z,2020-03-28T02:24:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw fe856bf313e269edec46d304fd09348f37282f1b,Release 0.5,2020-03-28T01:50:51Z,2020-03-28T01:50:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw cfb2fd0711fd510bfff821b2cfebfd3daf902ec7,Bump to sqlite-utils 2.4.4,2020-03-28T01:20:42Z,2020-03-28T01:20:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 046ca380fd93f352da6e58139b96f2e4a365f53a,Release 0.2,2020-03-27T22:23:16Z,2020-03-27T22:23:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,213286752,pocket-to-sqlite,9599,simonw,9599,simonw 4c35bd6ad27c5d60a23a858130236a99324e620b,"Documentation for fetch, --all and --silent Closes #2",2020-03-27T22:22:23Z,2020-03-27T22:22:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,213286752,pocket-to-sqlite,9599,simonw,9599,simonw 302ea29178ba8d57446e0a3f5a43bf0501a33649,Fixed --silent option,2020-03-27T22:22:04Z,2020-03-27T22:22:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,213286752,pocket-to-sqlite,9599,simonw,9599,simonw a7f58e96b45edb4b0f91fac13f57283cec9bcebb,"Pagination, progress bar and --since support Closes #1 Refs #2 - still needs README update Also upgraded to sqlite-utils 2.x",2020-03-27T22:12:51Z,2020-03-27T22:13:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,213286752,pocket-to-sqlite,9599,simonw,9599,simonw 78af2b8ada30e7e81f910cb632bfedff98201920,"Use pocket_ prefix in auth.json, closes #4",2020-03-27T20:43:53Z,2020-03-27T20:43:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,213286752,pocket-to-sqlite,9599,simonw,9599,simonw 2aaad72789c427875426673c1a43e67c86fc970e,"Refactor template setup into Datasette constructor Closes #707",2020-03-27T01:12:43Z,2020-03-27T01:12:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6aa516d82dea9885cb4db8d56ec2ccfd4cd9b840,"Run base_url tests against /fixtures/facetable too, refs #712",2020-03-26T02:31:22Z,2020-03-26T02:31:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c3f7fc6925c6c34d64c26d436356ab917da0917d,--install=py-gfm,2020-03-25T05:17:20Z,2020-03-25T05:17:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw c53bd21b66b24558b0e219f93eceed4021c36939,--service github-to-sqlite,2020-03-25T05:09:04Z,2020-03-25T05:09:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 267efaf75f2f9a09a721d568916460b2bbc20c38,"Configure demo with demo-metadata.json This includes datasette-render-markdown",2020-03-25T05:03:35Z,2020-03-25T05:03:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 99b1e919651c4be781aea162fe517e45f1f2a9c3,Fixed RST bug,2020-03-25T04:46:52Z,2020-03-25T04:46:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw dedd775512daee49925882654f252df61a9e3b6d,Release 0.39,2020-03-25T04:02:37Z,2020-03-25T04:02:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a351d353bc0d6b0f737f789a0c2953e2531ed92d,"Fixed typo in GitHub Action configuration, refs #705",2020-03-25T02:30:50Z,2020-03-25T02:30:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 90015b26895fd2bd29676bc375f096102b0587ed,"Deploy latest.datasett.io to Cloud Run, refs #705",2020-03-25T02:26:02Z,2020-03-25T02:26:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cc4445801eb7c86a686b0e65fbd815d5aef857ec,"Removed deploy to Zeit Now, refs #705",2020-03-25T02:17:27Z,2020-03-25T02:17:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7656fd64d8b6a32ebc34d89c1b8711cc5ea240f7,"base_url configuration setting, closes #394 * base_url configuration setting * base_url works for static assets as well",2020-03-25T00:18:43Z,2020-03-25T00:18:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 2a36dfa2a892122029f379722913469d71367925,"Fix for input type=search Webkit styling, closes #701",2020-03-24T22:57:09Z,2020-03-24T22:57:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5f4aeb1f198e2e866a1eed6a7194842d77313ea8,"Removed documentation for Zeit Now v1, refs #710",2020-03-24T22:45:24Z,2020-03-24T22:45:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c0aa929cdd497f0c722e6f4eb17ad5668786a6fd,"Added datasette-publish-fly plugin to docs, closes #704",2020-03-24T22:38:58Z,2020-03-24T22:38:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3b3cb3e8df243408ab4c03b0ea75cadd02bd65dc,"Added example plugins to plugin hooks docs, closes #709",2020-03-24T22:29:34Z,2020-03-24T22:29:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7d5f3480dc7022212d5fdcdeb9f3acf2744c4405,Release 0.2,2020-03-24T00:35:44Z,2020-03-24T00:35:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206202864,inaturalist-to-sqlite,9599,simonw,9599,simonw 113bfbe5fe833e3c90a4ba364b2173d7cffe47a8,Fixed bug with conservation_status column,2020-03-24T00:35:14Z,2020-03-24T00:35:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206202864,inaturalist-to-sqlite,9599,simonw,9599,simonw a56d4394438f34abf175c6fdba0d5c2096d46133,Updated to sqlite-utils 2.x,2020-03-24T00:28:39Z,2020-03-24T00:28:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206202864,inaturalist-to-sqlite,9599,simonw,9599,simonw 1ea30c8fb1d080bd5e38c577e3ad20bb527a2fe6,"Release 1.0, refs #23",2020-03-24T00:07:47Z,2020-03-24T00:07:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 867f352fc1aedfd8abf00711ecb638e3529c0000,"Link to demo from README, refs #13 and #23",2020-03-24T00:07:25Z,2020-03-24T00:07:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 471cf4f045d25bc319d61b9de3a698beaf1a6c96,"datasette-search-all plugin, refs #13",2020-03-23T23:58:24Z,2020-03-23T23:58:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw f78c4e9baaf0970ffab266ba780df7240aae9f32,Install datasette (for datasette publish) - refs #13,2020-03-23T23:33:28Z,2020-03-23T23:33:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 5ecf6e6b5aee904176bd50c7be4a1ffa84e40edb,"Install sqlite3 in action, refs #13",2020-03-23T23:29:40Z,2020-03-23T23:29:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 8d1ec675fa7e64cbcb214e6e1ddc23ac79fcd8f5,Redact email addresses before publishing,2020-03-23T23:25:48Z,2020-03-23T23:25:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw d723211163d0d0906b8e7906ade5b31ef90f87dc,"Explicit title/description columns on milestone, refs #13",2020-03-23T23:23:35Z,2020-03-23T23:23:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 9693e733ae22a8d8a5e7e2046315b03a3cb03636,"Handle repos with no commits, closes #22 Refs #21",2020-03-23T23:13:03Z,2020-03-23T23:13:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw c4c7fc3ae60e5dfdf97ef9328e75ea22c311b1c7,"Raise GitHub API errors as exceptions, refs #21",2020-03-23T22:47:24Z,2020-03-23T22:47:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 12046c32207f35d2260268e3ab52f313835df6e7,"Fixed bad bash syntax, refs #13",2020-03-23T22:41:36Z,2020-03-23T22:41:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw df9e2b41f2f9fdedfc75d686587725b253737eef,"Expose GITHUB_ACCESS_TOKEN env variable, refs #13",2020-03-23T22:35:57Z,2020-03-23T22:35:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 7fb03a8880d163e40e31ab81c0ac9c5f636002cd,"Cat auth.json - revoke token immediately after this run, refs #13",2020-03-23T22:31:40Z,2020-03-23T22:31:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 67396e16a9f1711334c8fa68099c5c5065d3ebbb,"Cat auth.json - revoke token immediately after this run, refs #13",2020-03-23T22:30:34Z,2020-03-23T22:30:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 1818f611fcb1f567b430bba8954e7c3b3b1eb8f1,"Removed some debugging, refs #13",2020-03-23T22:28:29Z,2020-03-23T22:28:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 87e431e961cb3b0041b09027431a62f7e3224efd,"No need for explicit auth.json if I get the key right, refs #13",2020-03-23T22:24:54Z,2020-03-23T22:24:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 59f98ecae20f77f22a20349d4897f6543d594ba7,"Revert ""More debugging for actions, refs #13"" This reverts commit aca2823f1987fafd1dfead79a275ce3819168f2a.",2020-03-23T22:14:21Z,2020-03-23T22:14:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw aca2823f1987fafd1dfead79a275ce3819168f2a,"More debugging for actions, refs #13",2020-03-23T22:14:09Z,2020-03-23T22:14:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 3c3296a6ba38d97708d400699c61a40dd5b4a97b,"Debug assertion, refs #13",2020-03-23T22:12:02Z,2020-03-23T22:12:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw bb747b3f71250e63f287efffa2fec48f2b4f4acb,"Just run against dogsheep repos, refs #13 Otherwise the demo will leak my private simonw repos",2020-03-23T22:10:13Z,2020-03-23T22:10:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw fa77a1fa3ab20c7b44887c3a8f8c17319063c5f3,"Explicit auth.json, refs #13",2020-03-23T22:07:31Z,2020-03-23T22:07:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 34878d1579b8b460f6aa5b0bd53d6ac9008a118f,"More action debugging, refs #13",2020-03-23T22:05:46Z,2020-03-23T22:05:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 551515d8a3fb2587f0f14a07151defc88419f678,"Some actions debugging output, refs #13",2020-03-23T22:03:59Z,2020-03-23T22:04:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 2cae2a754231e35f0714f45d4d362762acb70c38,"Write auth.json with plain echo, refs #13",2020-03-23T21:57:54Z,2020-03-23T21:58:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 53d4473ce5015299eed679b4375a44c6f17155d8,"Use jq to create auth.json Refs #13",2020-03-23T21:50:12Z,2020-03-23T21:50:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw ef538da58f24826e16ff7b4fa7690bf23da13721,"Deploy demo using Actions, refs #13",2020-03-23T21:43:31Z,2020-03-23T21:43:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw f39c98a9c706a1e5c59ed0b2ced234bbf9325174,"raw_authors plus handle null authors, closes #18",2020-03-23T20:43:52Z,2020-03-23T20:43:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 22250a9c735077d6f365b73bf824e6c67b122c83,Release 2.4.4,2020-03-23T20:32:09Z,2020-03-23T20:32:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw b436bdb594fad3134ce6eba2219809faf1472c6e,"Fixed bug with null columns, closes #95",2020-03-23T20:31:06Z,2020-03-23T20:31:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 3db9881970eead7e27b5411360b0c86296c99a32,Release 2.4.3,2020-03-23T19:58:55Z,2020-03-23T19:58:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 1c745df92340ff861750643181a6a3c6685c3d55,"Suggest column types ignores nulls, closes #94",2020-03-23T19:57:02Z,2020-03-23T19:57:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0057c087a1d467b1770bebf3206e2cb008bc2b7f,"Upgrade to sqlite-utils 2.x, closes #20",2020-03-23T19:22:46Z,2020-03-23T19:22:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 219ffc2493cf7400c279d0fd15d5eed73f2cd402,"assets in a separate table, closes #15",2020-03-23T19:17:25Z,2020-03-23T19:17:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw b7f6accec89c0deecb8fec6cc49fa4dd4d2afb47,"Full-text search for more tables, closes #19",2020-03-23T19:06:31Z,2020-03-23T19:06:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw c8697b3e4ef044412209b52c70548fedbcb346c7,clarification in README,2020-03-22T15:44:45Z,2020-03-22T15:44:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,248903544,hacker-news-to-sqlite,9599,simonw,9599,simonw a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c,"Fix bug with over-riding default sort, closes #702",2020-03-22T02:40:29Z,2020-03-22T02:40:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 236aa065b2ecfbe5a77870689bae432b89a48b23,"""sort"" and ""sort_desc"" metadata properties, closes #702",2020-03-22T02:28:35Z,2020-03-22T02:28:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e1a817411a20e3120943ee407503e53a7445c0db,Bump to click 7.1.1 to fix flaky tests,2020-03-22T01:47:51Z,2020-03-22T01:47:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3d656f4b31e95047e0ffc1eaa7417a303ccce3c1,Updated documentation formatting,2020-03-22T01:31:49Z,2020-03-22T01:31:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2c0e1e09bc833c5939c20b937a2ce8ef997c5f5a,"Show sort arrow on primary key by default Closes #677. Refs #702.",2020-03-21T23:57:37Z,2020-03-21T23:57:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1aad0462567d5eb431f5c2a88e9d24f73f5d8e91,"Release 0.3.1 Updated README for PyPI",2020-03-21T22:39:34Z,2020-03-21T22:39:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,248903544,hacker-news-to-sqlite,9599,simonw,9599,simonw 6426239385b889d816abeca9c5c1c2a0365907c3,"Added ""Browsing your data with Datasette"" section",2020-03-21T22:38:41Z,2020-03-21T22:38:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,248903544,hacker-news-to-sqlite,9599,simonw,19864447,web-flow ef8fb24abfb437c919f2799f47410a641834e511,Release 0.3,2020-03-21T19:46:08Z,2020-03-21T19:46:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,248903544,hacker-news-to-sqlite,9599,simonw,9599,simonw 9e12f24cc28fbd95058231ee9765896dc11f5589,"Configure full-text search, closes #1",2020-03-21T18:56:49Z,2020-03-21T18:56:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,248903544,hacker-news-to-sqlite,9599,simonw,9599,simonw 25d8578e3b68ca9b4d36af7e7a7ea7b27e30c8f9,"Compatibility with sqlite-utils 1.x, release 0.2a",2020-03-21T15:27:15Z,2020-03-21T15:27:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,248903544,hacker-news-to-sqlite,9599,simonw,9599,simonw 071bc2dd6350461aa1fb1a8e281ad9a79fba08ae,Typo,2020-03-21T04:29:53Z,2020-03-21T04:29:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,248903544,hacker-news-to-sqlite,9599,simonw,19864447,web-flow b08037edcfb499dc443592820f80a8aba0fe3b19,Applied Black,2020-03-21T04:19:07Z,2020-03-21T04:19:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,248903544,hacker-news-to-sqlite,9599,simonw,9599,simonw 36e8ffc4a9b6d506b521c038018818a9b5e502e3,Added requests-mock test dependency,2020-03-21T04:18:45Z,2020-03-21T04:18:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,248903544,hacker-news-to-sqlite,9599,simonw,9599,simonw 75e75d2a3d5bc5a60b53bb38d4c7eab221ece2fe,user and trees commands,2020-03-21T04:15:48Z,2020-03-21T04:15:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,248903544,hacker-news-to-sqlite,9599,simonw,9599,simonw 810cb2af5a175837204389fd7f4b5721f8b325ab,Release 0.19,2020-03-20T23:14:02Z,2020-03-20T23:14:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 04c1d2cc54c71d4c6e795d174c7bb52f91739627,"followers/friends --sql/--attach options, closes #36",2020-03-20T23:12:30Z,2020-03-20T23:12:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw b03674cc30991439c5320148a4a32de674f2896c,"Better progress bar formatting for user-timeline Closes #38",2020-03-20T22:36:46Z,2020-03-20T22:36:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 2057fc2d2a9b86a2bd34ca4fc3bb1dde798bcd1a,Release 0.18,2020-03-20T20:16:46Z,2020-03-20T20:16:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 98729fd80a7b3f16d82752c6972c8d96c2f2f959,"Docs for new user-timeline options, closes #35",2020-03-20T20:16:28Z,2020-03-20T20:16:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw ad79a31a11de6c74cebe819fc6185b093a338e90,Fixed bug in #35,2020-03-20T20:14:37Z,2020-03-20T20:14:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw bfcc1233f3f7b3f50b68971102a848adbcd5f53d,"user-timeline now takes --sql/--attach/--ids and multiple identifiers Refs #35, refs #8. Still needs documentation.",2020-03-20T20:12:51Z,2020-03-20T20:12:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 41221277af818552f766480120518b4a7bde6ec4,Release 0.17,2020-03-20T19:22:37Z,2020-03-20T19:22:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw d3887d1535c3edd59d3ebf6aea4495bacd82e59b,Fix #34 by upgrading sqlite-utils,2020-03-20T19:20:22Z,2020-03-20T19:20:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw fd2a74dc09e585802ecec76c1a20a9c5a839a36a,Updated publish_subcommand example,2020-03-19T00:47:53Z,2020-03-19T00:47:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow a000c80d5036822c8324c1cd037fe7d20e5246b5,"await Request(scope, receive).post_vars() method, closes #700 Needed for #698",2020-03-17T02:47:37Z,2020-03-17T02:47:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 755580e2f3020d6af214a41634ab2ab6ed776e10,Release 2.4.2,2020-03-14T20:09:56Z,2020-03-14T20:09:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw daf2a245aa4e0b0cf62a94c1232cfb858821803b,"Unit tests covering column_affinity, refs #92",2020-03-14T20:05:07Z,2020-03-14T20:05:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 1125460497e0891e730f3e5feff2bb04a78c9163,"Improved column type introspection, closes #92",2020-03-14T20:04:06Z,2020-03-14T20:04:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e35eec4343aa560c58c1634cc228d0d46c442304,Release 0.7,2020-03-11T02:47:32Z,2020-03-11T02:47:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw f12e26f78f5f3165b257caa6addcc29266da3888,"Docs for commits command, closes #17",2020-03-11T02:47:20Z,2020-03-11T02:47:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 56c351893cb4d443a812de4470f0617f4f6c8aa8,"commits now only gets new commits unless --all, refs #17",2020-03-11T02:42:55Z,2020-03-11T02:42:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 0cdceb9244a21fbd1e70a6ca0a76b2ed2ce4dd3f,"github-to-sqlite commits command, refs #17",2020-03-10T21:55:36Z,2020-03-10T21:55:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 7e357abbc38dcc9d19a2f1df3252668a48e941e4,Release 0.38,2020-03-08T23:26:50Z,2020-03-08T23:26:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e1b5339fdfe47474a0d33a400acedefecff6e67e,"Do not look for templates_path in default plugins Closes #697",2020-03-08T23:09:31Z,2020-03-08T23:11:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7508477a96492caa1893c52411405656c50d30f9,Link to Datasette Writes blog entry,2020-03-08T17:23:51Z,2020-03-08T17:23:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 43f1c6ab4e3a6b76531fb6f5447adb83d26f3971,Documentation for NotFoundError,2020-03-06T21:08:21Z,2020-03-06T21:08:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow f7f31a0223d822f7186c4d20174c002cb723d0f9,"Upgrade Dockerfile to SQLite 3.31.1, closes #695",2020-03-06T06:15:19Z,2020-03-06T06:15:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw af9cd4ca64652fae262e6f7b5d201f6e0adc989b,"Fixes for new --memory option, refs #694",2020-03-05T23:44:15Z,2020-03-05T23:44:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ddd11b3ddd886d16867c134d73105895c5726cc7,"--memory option for publish cloudrun, refs #694",2020-03-05T23:34:21Z,2020-03-05T23:34:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw be20e6991eac2baa9b43e9b26ae209bae805ede5,Changelog for 0.37.1,2020-03-03T03:43:08Z,2020-03-03T03:43:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b796519da27dc6c30d490321bb449091974d3d38,Print exceptions if they occur in the write thread,2020-03-03T01:59:29Z,2020-03-03T01:59:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw dc80e779a2e708b2685fc641df99e6aae9ad6f97,"Handle scope path if it is a string I ran into this while running a unit test with httpx.AsyncClient",2020-03-02T20:01:10Z,2020-03-02T23:34:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 4933035b75607e60dc63f7977e2bd4fa771d8898,RST fix,2020-03-02T16:10:16Z,2020-03-02T16:10:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 613f6fad7249da547c06ebc46616aba0f74259a4,Improved extra_template_vars documentation,2020-03-02T15:12:34Z,2020-03-02T15:12:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 8f19bbed029df0009cd30f357d26fdf27c7ba5c4,Release 2.4.1,2020-03-02T06:12:21Z,2020-03-02T06:12:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0c36feb6ca5c3ffb9a6df4c8ea4bb732fcab74f4,".enable_fts() now works with columns with spaces in them, closes #90",2020-03-02T06:10:43Z,2020-03-02T06:10:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7f5a330377fd7db1f6d1efa5686d183bcaf89217,"Don't count rows on homepage for DBs > 100MB (#688) Closes #649.",2020-02-29T01:08:29Z,2020-02-29T01:08:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 2ac4ea3c950d380f4bc44370db229ea9cd82527a,Fixed typo in changelog,2020-02-27T04:59:01Z,2020-02-27T04:59:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 277d4e55c496dbe289656bf7649a47db9d1ec5d1,Release 2.4,2020-02-27T04:55:58Z,2020-02-27T04:55:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 04ec53c039feb590c7832d499a14a9caba081f11,"Validate column names in more places, refs #86",2020-02-27T04:55:17Z,2020-02-27T04:55:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 67dd3106d56adfa335fdfc7f8737cf693b1db088,Changelog for 2.4,2020-02-27T04:46:13Z,2020-02-27T04:46:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f9473ace14878212c1fa968b7bd2f51e4f064dba,"disable-fts and .disable_fts(), closes #88",2020-02-27T04:40:35Z,2020-02-27T04:40:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw b0ca657f49dcecb9985f92d481cfe77f7d3ad0f4,"Disallow square braces in column names, closes #86",2020-02-27T04:16:02Z,2020-02-27T04:16:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0f8e91c68f2d2ad48efc8324b12762bf8b58facd,Documentation fix,2020-02-26T07:13:39Z,2020-02-26T07:13:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 1a77f30d3c40b1a6812da5d27ab35fa1acbd988b,Fixed typo,2020-02-26T07:11:19Z,2020-02-26T07:11:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow c9e6841482b299fceadc5ad548c2dbf58a8f1227,News and release notes for 0.37,2020-02-26T01:22:02Z,2020-02-26T01:22:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 78198df668e189d2c9afe5f922fe4277d84b2f30,Fixed incorrect target name,2020-02-26T01:10:30Z,2020-02-26T01:10:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3041c6b6412bbe317f8b9afd6529a15954f2c47e,"Use inspect-file, if possible, for total row count (#666) For large tables, counting the number of rows in the table can take a significant amount of time. Instead, where an inspect-file is provided for an immutable database, look up the row-count for a plain count(*). Thanks, @kevindkeogh",2020-02-25T20:19:29Z,2020-02-25T20:19:29Z,0f68d17313c6f4ccbf0c24a3883444b5263f5648,Kevin Keogh,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,13896256,kevindkeogh,19864447,web-flow 6cb65555f46456eb31b62e855e21b1d8c809b1a2,?_searchmode=raw option (#686),2020-02-25T05:56:03Z,2020-02-25T05:56:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow a093c5f79fa034a97d2ad8b606745dd3b80365af,".execute_write() and .execute_write_fn() methods on Database (#683) Closes #682.",2020-02-25T04:45:08Z,2020-02-25T04:45:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 411056c4c43e74f2b3d0e3bc1175e7998516b1b3,"Only --reload on changes to immutable databases, closes #494",2020-02-24T19:44:59Z,2020-02-24T19:44:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b031fe97636b80b05fec409ee1dffb7d044fd4e9,Updated README news for 0.36,2020-02-22T03:04:46Z,2020-02-22T03:04:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 962a7e16e5e73c000d87815194b8261428e0938e,"Release notes for 0.36, refs #679",2020-02-22T03:01:57Z,2020-02-22T03:01:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d6335f1f3184683b05131dd12a73ff1115aefba3,"Added shapefile-to-sqlite, datasette-mask-columns, datasette-auth-existing-cookies, datasette-auth-existing-cookies Refs #679",2020-02-22T02:53:35Z,2020-02-22T02:53:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw be2265b0e811d0ac2875c2f748125c17b0f9289e,"Fix db-to-sqlite command in ecosystem doc page (#669) Thanks, @adipasquale",2020-02-22T02:32:17Z,2020-02-22T02:32:17Z,bd53542d6923dd8fcfd93cd43a925e6e8acd6e80,Adrien Di Pasquale,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,883348,adipasquale,19864447,web-flow 7c6a9c35299f251f9abfb03fd8e85143e4361709,"Better tests for prepare_connection() plugin hook, refs #678",2020-02-22T02:27:07Z,2020-02-22T02:27:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6303ea50483e432bbef193d1c54c2bf54e53f157,"prepare_connection() now takes datasette and database args, refs #678",2020-02-22T01:32:40Z,2020-02-22T01:32:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 685e6a1bb3ca8c14b6b8297e438e88cabebc5c56,"Detect subclasses of dict/tuple/list, fixes #87",2020-02-16T02:20:39Z,2020-02-16T02:20:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw d3f2fade88984dc6157b2ff69c24aa5a070f9716,"Refactored run_sanity_checks to check_connection(conn), refs #674",2020-02-15T17:56:48Z,2020-02-15T17:56:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f1442a8151f66ceef6517b6d3d045e2ec1d0f0ec,Replaced self.ds.execute with db.execute in more places,2020-02-14T02:20:05Z,2020-02-14T02:20:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw efa54b439fd0394440c302602b919255047b59c5,"Docs for .render_template(), refs #577 Also improved parameter documentation for other methods, refs #576",2020-02-14T01:58:32Z,2020-02-14T01:58:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3ffb8f3b98252531d11897fd431711e9b8045ace,".add_database() and .remove_database() methods, refs #671 Also made a start on the Datasette class documentation, refs #576",2020-02-14T01:25:27Z,2020-02-14T01:27:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cf5f4386ef6fea9179bbaaec2e187917934759d7,"Run black against everything, not just tests and datasette dirs",2020-02-13T23:02:10Z,2020-02-13T23:02:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b38a792ef0fb9c9e4057afd196bb9439edd9c0e9,"Apply Black, update copyright to be 2017-2020",2020-02-13T23:00:35Z,2020-02-13T23:01:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0091dfe3e5a3db94af8881038d3f1b8312bb857d,"More reliable tie-break ordering for facet results I was seeing a weird bug where the order of results running tests on my laptop was inconsistent, causing pytest failures even though the order of tests in Travis CI was fine. I think the fix is to explicitly state how facet ordering ties on the count should be resolved.",2020-02-13T06:36:42Z,2020-02-13T06:36:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 298a899e792ebd0cd82a5f01b613c31f19082e51,Reformatted with black,2020-02-13T06:05:46Z,2020-02-13T06:05:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5e0000609f9be6efafea1b96f610988eb18d6d89,Try using Travis Pythons that are not -dev,2020-02-11T05:52:23Z,2020-02-11T05:52:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 45df15fe23227306aca53dc99eeb66d9e272e38e,"Attempt to fix the build Suggestion from here: https://github.com/bluethon/bluethon/blob/fedbdb506a49ddba3b972f3fd35772b65b241390/languages/python/pip/pip_note.md#L13",2020-02-11T05:19:54Z,2020-02-11T05:19:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw de45597327c5561913efac528062c70fe14235fb,Release 2.3.1,2020-02-11T05:15:10Z,2020-02-11T05:15:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 6f3cb2c106ae99f0a14201e6b4c61ec2f492e766,"create_index now works with columns with spaces, closes #85",2020-02-11T05:13:15Z,2020-02-11T05:13:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0c2451e0690c5f4e6463a2f339b0a280e30ed806,Release 2.3,2020-02-08T23:56:16Z,2020-02-08T23:56:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0eda638d81280c7e585db071c35444e14b0b00f6,"table.exists() now a documented method, closes #83",2020-02-08T23:56:03Z,2020-02-08T23:56:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw a4c50fb6451329b37d869f974ca9c2fa4a43a244,Release 0.16,2020-02-07T07:42:45Z,2020-02-07T07:42:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 4cbade256414844961af5006e93c1cdc5bb84868,Release 2.2.1,2020-02-07T07:20:03Z,2020-02-07T07:20:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7c28a4d133b6a639fa70ba22b22cd43cb0746394,"Fix for upsert(hash_id=) bug, closes #84",2020-02-07T07:17:06Z,2020-02-07T07:17:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 35c18a09fa664324dcb75e5e58ccb90644456d02,"Documentation for friends, closes #31",2020-02-07T07:03:22Z,2020-02-07T07:03:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw eb79f2e6f4379780a4aafcfc8248d803bc02c413,"Documented favorites, closes #32",2020-02-07T06:59:09Z,2020-02-07T06:59:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow 30b6f71b306a43605c99bef79302ed5cb22d1924,Updated release notes with #653,2020-02-05T02:17:30Z,2020-02-05T02:17:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 33a12c8ae526afb40a7819c9ca411c9d3c41219b,"Allow leading comments in SQL input field (#653) Thanks, @jaywgraves!",2020-02-05T02:13:24Z,2020-02-05T02:13:24Z,6410ac01839c113476668eeff88d60a0a2c6eb7a,Jay Graves,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,418191,jaywgraves,19864447,web-flow ce12244037b60ba0202c814871218c1dab38d729,Release notes for 0.35,2020-02-05T02:02:32Z,2020-02-05T02:02:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 4d7dae9eb75e5430c3ee3c369bb5cd9ba0a148bc,Added a bunch more plugins to the Ecosystem page,2020-02-04T20:49:41Z,2020-02-04T20:49:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 70b915fb4bc214f9d064179f87671f8a378aa127,"Datasette.render_template() method, closes #577 Pull request #664.",2020-02-04T20:26:17Z,2020-02-04T20:26:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 72fa16b3d9033525ea6a798c99a870db93ece9e6,Release 2.2,2020-02-01T21:59:08Z,2020-02-01T21:59:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw de76168be5a3e18e9fda32670ff219e04e239d8f,"Docs for suggest_column_types, closes #81",2020-02-01T21:55:13Z,2020-02-01T21:55:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 5ecf3ffdeae0ab90b54044d34428b348b8473c94,"Extracted detect_column_types as suggest_column_types, refs #81",2020-02-01T21:38:26Z,2020-02-01T21:38:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 286ed286b68793532c2a38436a08343b45cfbc91,geojson-to-sqlite,2020-01-31T07:09:56Z,2020-01-31T07:09:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow f7289174e66ae4d91d57de94bbd9d09fabf7aff4,Release 2.1,2020-01-31T00:25:20Z,2020-01-31T00:25:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e8b2b7383bd94659d3b7a857a1414328bc48bc19,"New conversions= feature, closes #77 Pull request: #78",2020-01-31T00:24:30Z,2020-01-31T00:24:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 0988f2eccc2dfa26b1a55243582222f540a72838,"Explicitly include tests and docs in sdist (#75) Also exclude 'tests' from runtime installation - thanks, @jayvdb",2020-01-31T00:21:26Z,2020-01-31T00:21:26Z,85de645274a2cefaeda2a43f117f5e672fd8e2f9,John Vandenberg,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,15092,jayvdb,19864447,web-flow e7f60d2a9b59752e20de8412f7b0a3e9a5359a31,"Release notes for Datasette 0.34, plus news updates",2020-01-30T00:09:01Z,2020-01-30T00:09:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 67fc9c5720ed1fcd62b116481f70d4e80b403a22,"--port argument for datasette package, plus tests - closes #661 From pull request #663",2020-01-29T22:46:43Z,2020-01-29T22:46:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 34d77d780f68b778fd9d6ebbaf69f250436f055f,"gcloud run is now GA, s/beta// (#660) Thanks, @glasnt",2020-01-21T23:28:11Z,2020-01-21T23:28:11Z,f9a18a704545f33349d7b28b24faf7063846ae0a,Katie McLaughlin,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,813732,glasnt,9599,simonw 59a2e8ebdcbde7e6fb091b0556713ca5a20ea4e7,Release 2.0.1,2020-01-05T17:23:02Z,2020-01-05T17:23:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 489eda92bc3b528c90b76ac90a3f9b78c8ea02a3,".upsert() and upsert_all() require pk=, closes #73",2020-01-05T17:20:11Z,2020-01-05T17:20:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 1f3f902ea4c991e6b8ad0fcfd6cffd01e3aa1c23,Typo,2019-12-30T13:01:36Z,2019-12-30T13:01:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 6b79cb706a6d6252d1b66e4565283b73b3090851,Removed rogue parenthesis,2019-12-30T06:51:07Z,2019-12-30T06:51:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw c6c2e7184bbfeaa84fd78ec0cd9d878715f64f98,Release 2.0,2019-12-30T06:18:58Z,2019-12-30T06:18:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0b0a431bff94d24866fc10d82dc91ab00287de2d,Changelog for 2.0 release,2019-12-30T06:18:44Z,2019-12-30T06:18:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f0f15d3dc8dc686642f2c40894c011a2e6bac240,Reformatted with black,2019-12-30T06:09:52Z,2019-12-30T06:09:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw a0f0175d64d3c52529703755b89daf9c24d12d8b,"Updated help for upsert, refs #66",2019-12-30T06:05:31Z,2019-12-30T06:05:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 468d51314adac193e63b3a6ef9d67f0d43501e9b,test_upsert_compound_primary_key,2019-12-30T05:31:03Z,2019-12-30T05:31:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 9f47e8b9a4cb788b48b76aee1333c6f3baaebbd6,"Documentation for new upsert v.s insert-replace Refs #66",2019-12-30T05:23:58Z,2019-12-30T05:29:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 84bcabd09381a98502797a7d1adee357a1d45a67,"New upsert implementation, refs #66",2019-12-30T05:03:43Z,2019-12-30T05:29:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 3c861f363df02a59a67c59036278338e4760d2ed,"_search= queries now correctly escaped, fixes #651 Queries with reserved words or characters according to the SQLite FTS5 query language could cause errors. Queries are now escaped like so: dog cat => ""dog"" ""cat""",2019-12-29T18:48:13Z,2019-12-29T18:48:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw dc0a62556ec092be7b341c5220e0410354f7cd02,"Run Travis tests on Ubuntu Bionic, fixes #71",2019-12-27T09:46:51Z,2019-12-27T09:49:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw cfbc09967e1bf69df9355a4a57e3f63882019b41,"Ran black, plus added comments for next step Refs #66",2019-12-27T09:30:29Z,2019-12-30T05:29:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 607a2a9ff63b2bf8b14ed67b66ead5d00c77f2b7,"insert --replace and insert(..., replace=True) Refs #66",2019-12-27T09:15:31Z,2019-12-30T05:29:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 59e7014c8a0f4102d7dc79f517540c55c49e1554,Release 0.33,2019-12-22T16:27:04Z,2019-12-22T16:27:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw dc98b0f41defa4eb45d5b88fd9dfcfb1c5bbe144,Link to JSK Medium post from news,2019-12-22T16:16:58Z,2019-12-22T16:16:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d54318fc7f2565e6121920ce1ea9cb8b700e629a,"Added template_debug setting, closes #654",2019-12-22T16:04:45Z,2019-12-22T16:04:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ceef5ce684214a9b55d242043206cb10b13c878a,Documentation for --port=0,2019-12-22T15:42:30Z,2019-12-22T15:42:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 85c19c4037ddc757794c63a04faad07a6ea57ae6,Apply black,2019-12-22T15:34:20Z,2019-12-22T15:34:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9c3f0b73de059ec2b953f952fc1eadecb8f396c5,Bump to uvicorn 0.11,2019-12-22T15:33:04Z,2019-12-22T15:33:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 16665c9ee63df40bc262661ce6ed728a946375db,Better handling of corrupted database files,2019-12-22T15:31:40Z,2019-12-22T15:31:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9262c3e7c0a49859bac28e268bbcaa6523e02e41,Corrected Database(memory=True) documentation,2019-12-18T09:00:36Z,2019-12-18T09:00:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow d6b6c9171f3fd945c4e5e4144923ac831c43c208,Include asyncio task information in /-/threads debug page,2019-12-05T06:46:39Z,2019-12-05T06:47:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2039e78e589ae7c60f404fe84fb75eda1630104e,Added Niche Museums to News,2019-12-03T06:53:59Z,2019-12-03T06:53:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow a562f2965552fb2dbbbd74df245c9965ee23d886,Examples of things you can do with plugins,2019-11-27T19:19:11Z,2019-11-27T19:19:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f9d0ce4233b29a8a90b9d87e18aacdeefde2e022,Added datasette-haversine to plugins list,2019-11-27T14:04:32Z,2019-11-27T14:04:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow df2879ee2a88f94ae590067e019237afc2189e00,"Better documentation for --static, closes #641 https://datasette.readthedocs.io/en/stable/custom_templates.html#serving-static-files",2019-11-26T02:31:42Z,2019-11-26T02:31:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw aca41618f8761f99c47c8ae8e81b07a6d4af4d7a,index view is also important for plugin hooks,2019-11-25T17:04:39Z,2019-11-25T17:04:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d3e1c3017ee2f606a731208d59fe48805cdc3259,"Display 0 results, closes #637",2019-11-23T06:07:01Z,2019-11-23T06:07:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw fd137da7f83c117b18e189707a1039e319dd5c91,"Suggest column facet only if at least one count > 1 Fixes #638",2019-11-22T00:56:55Z,2019-11-22T00:56:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c16be14517414a94e1fdbd888e8a3ad0669e3bca,How to upgrade using Docker,2019-11-20T18:02:07Z,2019-11-20T18:02:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 440a70428c624f6e27b630026acdba2032acc9a7,"Include rowid in filter select, closes #636",2019-11-19T23:01:10Z,2019-11-19T23:01:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a9909c29ccac771c23c2ef22b89d10697b5256b9,"Move .execute() from Datasette to Database Refs #569 - I split this change out from #579",2019-11-15T22:49:45Z,2019-11-15T22:52:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8fc9a5d877d26dbf2654e125f407ddd2fd767335,Datasette 0.32 and datasette-template-sql in news,2019-11-14T23:46:37Z,2019-11-14T23:46:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow a95bedb9c423fa6d772c93ef47bc40f13a5bea50,Release notes for 0.32,2019-11-14T23:18:53Z,2019-11-14T23:20:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8c642f04e0608bf537fdd1f76d64c2367fb04d57,"Render templates using Jinja async mode Closes #628",2019-11-14T23:14:22Z,2019-11-14T23:14:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow b51f258d00bb3c3b401f15d46a1fbd50394dbe1c,Release notes for 0.31.2,2019-11-13T16:48:36Z,2019-11-13T16:48:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f52451023025579ae9a13de4a7f00d69200184cd,"Fix ""publish heroku"" + upgrade to use Python 3.8.0 Closes #633. Closes #632.",2019-11-13T16:42:47Z,2019-11-13T16:42:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 848dec4deb0d3c140a4e0394cac45fbb2593349b,"Fix for datasette publish with just --source_url (#631) Closes #572",2019-11-13T04:28:42Z,2019-11-13T04:28:42Z,6c3a98f05c13cf31297e605e4d584d20fc12ab6b,Stanley Zheng,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,3683993,qwo,9599,simonw bbd00e903cdd49067ecdbdb60a4d225833a44b05,Badge linking to datasette on hub.docker.com,2019-11-13T02:38:13Z,2019-11-13T02:38:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow a22c7761b61baa61b8e3da7d30887468d61d6b83,Fixed typo in release notes,2019-11-13T02:18:39Z,2019-11-13T02:18:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 16265f6a1a7c547e3925e0fc2d6b88754afb0435,Release notes for 0.31.1,2019-11-13T02:18:04Z,2019-11-13T02:18:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d977fbadf70a96bf2eea1407d01f99d98e092dec,"datasette publish uses python:3.8 base Docker image, closes #629",2019-11-12T06:03:09Z,2019-11-12T06:03:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow f554be39fc14ddc18921ca29d3920d55aad03d46,ReST fix,2019-11-12T06:00:13Z,2019-11-12T06:00:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 1c518680e9692a9a77022af54f3de3e77fb1aaf4,Final steps: build stable branch of Read The Docs,2019-11-12T05:57:48Z,2019-11-12T05:57:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 7f89928062b1a1fdb2625a946f7cd5161e597401,"Removed code that conditionally installs black Since we no longer support Python 3.5 we don't need this any more.",2019-11-12T05:33:51Z,2019-11-12T05:33:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c633c035dc8d4c60f1d13cb074918406bbdb3734,Datasette 0.31 in news section,2019-11-12T05:26:56Z,2019-11-12T05:26:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 76fc6a9c7317ce4fbf3cc3d327c849f7274d960a,Release notes for 0.31,2019-11-12T05:17:59Z,2019-11-12T05:18:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cf7776d36fbacefa874cbd6e5fcdc9fff7661203,"Support Python 3.8, stop supporting Python 3.5 (#627) * Upgrade to uvicorn 0.10.4 * Drop support for Python 3.5 * Bump all dependencies to latest releases * Update docs to reflect we no longer support 3.5 * Removed code that skipped black unit test on 3.5 Closes #622",2019-11-12T05:09:11Z,2019-11-12T05:09:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 5bc2570121aea8141ff88790e214765472882b08,"Include uvicorn version in /-/versions, refs #622",2019-11-12T04:45:12Z,2019-11-12T04:45:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9eb737090fafd0e5a7e314be48402374d99e9828,Release 0.6,2019-11-11T05:31:46Z,2019-11-11T05:31:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 1e6995a362e5b8f23331aafb84e631392eb81492,"--auth is now optional, closes #9",2019-11-11T05:30:41Z,2019-11-11T05:30:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 0a2dddccd7eb6cedae128c08931f14f12d5bce70,'github-to-sqlite repos' now accepts multiple usernames,2019-11-11T05:02:33Z,2019-11-11T05:02:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 9c86d05f90bfe08b6d1cbc281cd5a76d4d120b81,Fetch repo topics using Accept header,2019-11-11T05:00:40Z,2019-11-11T05:00:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 42ee3e16a9ba7cc513b8da944cc1609a5407cf42,"Bump pint to 0.9 (#624) This fixes 2 deprecation warnings in Python 3.8 - refs #623 #622",2019-11-11T04:19:01Z,2019-11-11T04:19:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 1c063fae9dba70f70244db010d55a18846640f07,"Test against Python 3.8 in Travis (#623) * Test against Python 3.8 in Travis * Avoid current_task warnings in Python 3.8",2019-11-11T03:45:34Z,2019-11-11T03:45:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 28c4a6db5b5e512db630d7ba6127196185de67c7,"CREATE INDEX statements on table page, closes #618",2019-11-10T01:29:36Z,2019-11-10T01:29:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1eb04e2ecb764d2e76a0e5731e16c3833df04c93,"'releases' command to fetch releases, closes #11",2019-11-09T22:56:53Z,2019-11-09T22:56:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 50dc86acc2df6bb7246d14fb2fd016c75924d20f,Rename test file so it actually runs,2019-11-09T22:39:21Z,2019-11-09T22:39:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 6ebd482619bd94180e54bb7b56549c413077d329,"friends command, refs #31",2019-11-09T20:38:09Z,2019-11-09T20:38:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 7d038b74a10f2826b36d62d42f1e29ea5b501f77,Release 0.15,2019-11-09T20:12:32Z,2019-11-09T20:12:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 674dcc0d19c1398203c0efffddef43919ee04a09,"Add indexes to following table, closes #28",2019-11-09T20:11:41Z,2019-11-09T20:11:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 1ef6075b258703b411e9dd22ecbdce9b719a9b30,"No need to save user twice, fixes #30",2019-11-09T19:55:38Z,2019-11-09T19:55:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 1dcf8029cc08814197deb39a8a15f460aa0ef78f,Reformatted with Black,2019-11-09T19:36:30Z,2019-11-09T19:36:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw fd196a7f65c3c4721904042ff97ee85c839f6bf3,"Fixed #29: import command fails on empty files By bumping sqlite-utils dependency to get this fix: https://github.com/simonw/sqlite-utils/issues/52",2019-11-09T19:35:09Z,2019-11-09T19:35:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 10b9d85edaaf198879344aa1c498000cfb27dff8,"datasette-csvs on Glitch now uses sqlite-utils It previously used csvs-to-sqlite but that had heavy dependencies. See https://support.glitch.com/t/can-you-upgrade-python-to-latest-version/7980/33",2019-11-09T02:15:13Z,2019-11-09T02:15:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 9f5d19c254d1bfbd99f576dff47a6e32e01c76ed,"Improved documentation for ""publish cloudrun""",2019-11-09T02:12:20Z,2019-11-09T02:12:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 08110bc2b8801d725d65fa834d30b57e473d2241,"Added example Twitter developer account application email Thanks to Jacob Kaplan-Moss: https://twitter.com/jacobian/status/1192510111719313408",2019-11-08T23:04:17Z,2019-11-08T23:04:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 83fc5165ac724f69cd57d8f15cd3038e7b30f878,"Improved UI for publish cloudrun, closes #608",2019-11-08T02:48:39Z,2019-11-08T02:48:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1c0afa0895427a074b4c1db9b7b9b9a3c4a39bb5,Release 0.4,2019-11-08T01:19:23Z,2019-11-08T01:19:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw e488c6addd4b647c2e4917b94e3e320cb7df5456,"Fixed workout points import for iOS 13 Workout lat/lon tracks are now stored in .gpx files. Closes #10",2019-11-08T01:17:50Z,2019-11-08T01:17:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 2972bb001ab5f675eced62f7ba5adef2d3eba2ad,Added pinboard-to-sqlite,2019-11-07T20:44:09Z,2019-11-07T20:44:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,214746582,dogsheep.github.io,9599,simonw,19864447,web-flow d16f45f06fbae6ec8a78cc9ca7b5b7db0413f139,"sqlite-utils~=1.12.1 To get the bugfix for insert_all([])",2019-11-07T05:42:28Z,2019-11-07T05:42:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,197882382,healthkit-to-sqlite,9599,simonw,19864447,web-flow 0a0cec3cf27861455e8cd1c4d84937825a18bb30,Release 1.12.1,2019-11-07T04:58:47Z,2019-11-07T04:58:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 8dab9fd1ccf571e188eec9ccf606a0c50fccf200,"insert_all() / .upsert_all() work with empty list (#64) Closes #52",2019-11-07T04:32:37Z,2019-11-07T04:32:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow f9c146b893856a48afa810ebcce1714f30d0d3a2,Removed unused special_args_lists variable,2019-11-07T00:55:44Z,2019-11-07T00:55:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c30f07c58e410ee296b28aeabe4dc461dd40b435,"Removed _group_count=col feature, closes #504",2019-11-06T05:12:55Z,2019-11-06T05:12:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 931bfc66613aa3e22f8314df5c0d0758baf31f38,"Handle spaces in DB names (#590) Closes #503 - thanks, @rixx",2019-11-04T23:16:30Z,2019-11-04T23:16:30Z,b90d9715d7c0881515e9d6aa98923ed89d445945,Tobias Kunze,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,2657547,rixx,9599,simonw 52fa79c6075f0830ff635b81d957c64d877a05aa,"Use select colnames, not select * for table view - refs #615",2019-11-04T23:03:48Z,2019-11-04T23:03:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a0a65f9a6405079b01aefdbf4b5f507bc758567a,Release 1.12,2019-11-04T16:28:52Z,2019-11-04T16:28:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 169ea455fc1f1d5e5b6e44cb339ba7ffa9d49c31,"Added table.delete_where(), closes #62",2019-11-04T16:18:06Z,2019-11-04T16:18:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 19073d6d972fad9d68dd74c28544cd29083f1c12,"Added table.delete(pk) method, refs #62",2019-11-04T16:07:44Z,2019-11-04T16:08:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 31ec6e4badb77cf3a0c7a6e82bd3c992c5e1ec30,Release 0.14,2019-11-04T05:32:37Z,2019-11-04T05:32:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 801c0c2daf17d8abce9dcb5d8d610410e7e25dbe,"Documentation for search command, closes #3",2019-11-04T05:31:10Z,2019-11-04T05:31:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 4f86a46b1e6ef4d02d72fd2241850039f41fd8a8,"Added --since and --since_id to search, refs #3",2019-11-04T05:30:58Z,2019-11-04T05:30:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 9db22cdf1809fb78a7b183cd2f617cd5e26efc68,"pk__notin= filter, closes #614",2019-11-04T04:11:55Z,2019-11-04T04:11:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 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,Tobias Kunze,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,2657547,rixx,9599,simonw 2bf7ce5f517d772a16d7855a35a8a75d4456aad7,"Fix CSV export for nullable foreign keys, closes #612",2019-11-02T23:12:46Z,2019-11-02T23:12:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c3181d9a840dff7be8c990b21f5749db393a4ea0,Release notes for 0.30.2,2019-11-02T22:47:20Z,2019-11-02T22:47:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 14da70525b35e1a44cd45c19101385467057f041,"Don't show 'None' as label for nullable foreign key, closes #406",2019-11-02T22:29:40Z,2019-11-02T22:29:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ed57e4f99018c1d520858f55f6eee4eb1cc2af3d,"Plugin static assets support both hyphens and underscores in names Closes #611",2019-11-01T22:15:10Z,2019-11-01T22:15:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ffae2f0ecde1ca92e78d097665df820d3b7861e6,"Better documentation of --host, closes #574",2019-11-01T21:57:49Z,2019-11-01T21:57:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7152e76eda9049574643261e7a471958cc16d0b9,"Don't suggest array facet if column is only [], closes #610",2019-11-01T21:45:59Z,2019-11-01T21:45:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ba5414f16b49781261d0f41a16f2210d5fa3976f,Only inspect first 100 records for #562,2019-11-01T19:38:15Z,2019-11-01T19:38:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 50287e7c6bb0987536e5515f05945721c4515e9a,Only suggest array facet for arrays of strings - closes #562,2019-11-01T19:37:46Z,2019-11-01T19:37:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 937828f946238c28e77ba50e0b2e649c874560f7,"Use distinfo.project_name for plugin name if available, closes #606",2019-11-01T05:39:59Z,2019-11-01T05:39:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3ca290e0db03bb4747e24203c445873f74512107,Fixed dumb error,2019-10-30T19:00:21Z,2019-10-30T19:00:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f5f6cbe03cbf05737d848f44779372b5daa79a25,Release 0.30.1,2019-10-30T18:56:04Z,2019-10-30T18:56:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e2c390500e6782aa476a7edc05c46cf907875a6e,"Persist _where= in hidden fields, closes #604",2019-10-30T18:49:26Z,2019-10-30T18:49:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5dd4d2b2d3abcfd507a6df47e7c2fbad3c552fd8,Update to latest black (#609),2019-10-30T18:49:01Z,2019-10-30T18:49:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow dd093b4edd6d2034a2917ff260f1bbaa12e1d285,Release 0.13,2019-10-30T02:20:09Z,2019-10-30T02:20:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 7275abb5573f00e1ea60707cfe243346a6e0ece6,"Documentation for mentions-timeline command, refs #26",2019-10-30T02:19:23Z,2019-10-30T02:19:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 518f9ae704cf325aad66d945798bcbd6c8cc7f3f,"New mentions-timeline command, refs #26",2019-10-30T02:15:31Z,2019-10-30T02:16:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw dd2b02304274a5b44f7dd37cddb61a4978848d1e,Better auth.json explanation,2019-10-28T12:33:41Z,2019-10-28T12:33:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow f4c0830529a9513a83437a9e1550bbe27ebc5c64,"Always pop as_format off args dict (#603) Closes #563. Thanks, @chris48s",2019-10-21T02:03:08Z,2019-10-21T02:03:08Z,5a0a3d8ffa3a5fa7036ede67cc44274222c2f074,chris48s,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,6025893,chris48s,9599,simonw 8050f9e1ece9afd0236ad38c6458c12a4ad917e6,Update news in README,2019-10-19T01:08:04Z,2019-10-19T01:08:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw debea4f971c180af64e16b83be98d830e9dee54f,Release 0.30,2019-10-19T01:05:47Z,2019-10-19T01:06:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e877b1cb12076946fdbec7ca2fbfbfc75c1c2a28,"Don't auto-format SQL on page load (#601) Closes #600",2019-10-18T23:56:44Z,2019-10-18T23:56:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow b647b5efc29300f715ba656e41b0591f342938e1,"Fix for /foo v.s. /foo-bar issue, closes #597 Pull request #599",2019-10-18T22:51:07Z,2019-10-18T22:51:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow b6ad1fdc7068cb8248787843e7438d1f19fa2e3a,"Fixed bug returning non-ascii characters in CSV, closes #584",2019-10-18T05:23:01Z,2019-10-18T05:23:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3e864b1625f3142e6ff084f9b41247f2f9f60f80,"Use --platform=managed for publish cloudrun, closes #587",2019-10-17T21:51:45Z,2019-10-17T21:51:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ba709553c5fc264cf055cf37f3ba21a96de48f83,Release 0.12,2019-10-17T17:57:33Z,2019-10-17T17:57:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw a79fbdf29989d0537a2ebf144119d3994b9e04b5,"Initial implementation of search command, refs #3",2019-10-17T17:56:29Z,2019-10-17T17:56:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 1aad51519b6a7a224565a44c081b136ff3a7d667,"Don't create index/foreign key that already exists, fixes #25",2019-10-17T16:56:28Z,2019-10-17T16:56:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw c9295233f219c446fa2085cace987067488a31b9,"Tweet source extraction and new migration system (#24) Closes #12 and #23",2019-10-17T15:49:23Z,2019-10-17T15:49:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow 619f724a722b3f23f4364f67d3164b93e8ba2a70,"get_profile() now saves user to DB This ensures we don't accidentally fail to create a user record for the currently authenticated user.",2019-10-17T05:54:36Z,2019-10-17T05:54:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw e6555b35a7bdb1825ecc08158e4ee6ce79397ece,Instructions on updating favorited_by table with imported likes,2019-10-17T02:27:24Z,2019-10-17T02:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 2cc11a9e551daa588c962dda70053827c7f971cf,Release 0.2,2019-10-16T20:40:25Z,2019-10-16T20:40:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw f2c89dd613fb8a7f14e5267ccc2145463b996190,Applied black,2019-10-16T20:40:15Z,2019-10-16T20:40:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 54a8a88e81e57cbc7ec3de2efba583aec8855906,"Added --since option, closes #3",2019-10-16T20:39:54Z,2019-10-16T20:39:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw dc584416df10d1feee838b1ed5359bde45eca45f,Release 0.11.1,2019-10-16T19:46:35Z,2019-10-16T19:46:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw c1f62c8fac09ce5f288aa87f950a90b8f89d13c6,"Fix bugs running --since from scratch If tables were missing, script would throw an error.",2019-10-16T19:46:23Z,2019-10-16T19:46:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 2878c7ccbfc98f22d6fa3bc96a070aba7b712297,Release 0.11,2019-10-16T19:37:10Z,2019-10-16T19:37:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 20ffa86b8ad3f2c98d88bb5e92365977bbcff417,"Added --since_id and --since to user-timeline, refs #20",2019-10-16T19:23:35Z,2019-10-16T19:23:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw fced2a9b67d2cbdf9817f1eb75f7c28e413c963b,"--since and --since_id options for user-timeline, closes #19 Refs #20 Also added some initial rate limit error handling code.",2019-10-16T19:12:41Z,2019-10-16T19:12:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw ff55f97f1c9ba3203a25eb2cafe21e712c010d86,"Removed unneccessary test file I moved this test into test_import.py in the previous commit.",2019-10-16T18:58:17Z,2019-10-16T18:58:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 8d607194db4ad6e92f59e901e3da690a3d20f1fa,"import command now works on files and directories, closes #22",2019-10-16T18:53:31Z,2019-10-16T18:53:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 0b84d52ab87d960d4b5e188052540518db2ea569,Release 0.10,2019-10-15T18:53:53Z,2019-10-15T18:53:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 19b5633b4ae0937e33e980b93bf777763f454a80,"favorites --stop_after option, refs #20",2019-10-15T18:51:16Z,2019-10-15T18:51:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 993a30e8cb96c94e599c30fac810d3933b46b6fa,"Store unescaped full_text of Tweet, closes #21",2019-10-15T18:48:11Z,2019-10-15T18:48:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 9366d0bf191daccee6093c54ed51a2855d129cd8,Add Python versions badge,2019-10-14T22:29:16Z,2019-10-14T22:29:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 12cec411cae73ba7211429da12cd32c551fe17b1,"Display metadata footer on custom SQL queries (#589) Closes #408 - thanks, @rixx!",2019-10-14T03:53:21Z,2019-10-14T03:53:21Z,b90d9715d7c0881515e9d6aa98923ed89d445945,Tobias Kunze,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,2657547,rixx,9599,simonw 908fc3999e06f3ccd3bb8ad0539490bbc7809748,"Sort databases on homepage by argument order - #591 Closes #585 - thanks, @rixx!",2019-10-14T03:52:33Z,2019-10-14T03:52:33Z,b90d9715d7c0881515e9d6aa98923ed89d445945,Tobias Kunze,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,2657547,rixx,9599,simonw 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,Tobias Kunze,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,2657547,rixx,9599,simonw f5b7ceba5b3167e962808814d492e49f87454b3f,"favorites command now populates favorited_by table, closes #14",2019-10-14T03:30:17Z,2019-10-14T03:30:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw ae9035f8fe5aff1c54bff4c6b4c2e808a44f0f2a,Release 0.5,2019-10-13T05:28:24Z,2019-10-13T05:28:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 8c9b5558a1549803ac0cb648c78a21767cccce86,"issue-comments command, closes #7 Also added --issue option to issues command, for fetching one specific issue.",2019-10-13T05:24:25Z,2019-10-13T05:24:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 68df9bf80627d8608a82480ea016de32ebb29ce7,Added goodreads-to-sqlite,2019-10-13T02:27:04Z,2019-10-13T02:27:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,214746582,dogsheep.github.io,9599,simonw,19864447,web-flow 01b7a6a71ca121ec91ca4cc18f46a565098441fd,List of all current Dogsheep tools,2019-10-13T02:23:10Z,2019-10-13T02:23:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,214746582,dogsheep.github.io,9599,simonw,19864447,web-flow 5e3bd8c176345c0ae11a2c988be9e03152d0db0a,Initial commit,2019-10-13T02:10:13Z,2019-10-13T02:10:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,214746582,dogsheep.github.io,9599,simonw,19864447,web-flow 2045f2766387dada103dce4c9aaf1418bfaec3b5,Use archive_ in README,2019-10-11T16:55:10Z,2019-10-11T16:55:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw d22afae39b1390964dace33f43a8f86c222876fe,"Archive tables use _ not - Tables with hyphens in the name are harder to query because you have to remember to [escape-them].",2019-10-11T16:54:25Z,2019-10-11T16:54:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 1d84a96a47a70680de9d621771dfe6cf2082cf08,"home-timeline command, closes #18",2019-10-11T16:51:03Z,2019-10-11T16:51:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 6a8012b6370154616f073cd8f1c159c3b388b0b7,"twitter-to-sqlite import recreates archive- tables, closes #17",2019-10-11T15:40:00Z,2019-10-11T15:40:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw fb2698086d766e0333a55bb73435e7283feeb438,Release 0.8,2019-10-11T06:45:21Z,2019-10-11T06:45:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 2019ee908731054c6eaa3d5123dfbdf7d2d70fc4,"twitter-to-sqlite import command, closes #4",2019-10-11T06:45:00Z,2019-10-11T06:45:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow fee5f4bdbba4b40551a473a88c6b7ae1ca459962,Fixed link to Pocket,2019-10-07T05:36:56Z,2019-10-07T05:36:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,213286752,pocket-to-sqlite,9599,simonw,19864447,web-flow 1143fcc20b253213925f84f3979a27c9834fbbac,Implemented 'fetch' command,2019-10-07T05:07:37Z,2019-10-07T05:07:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,213286752,pocket-to-sqlite,9599,simonw,9599,simonw 618b05b44fa526aca7d4a8fcdbb2e7ee7f3456d7,Initial save_items() utility plus tests,2019-10-07T04:50:41Z,2019-10-07T04:50:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,213286752,pocket-to-sqlite,9599,simonw,9599,simonw 552543a74970f8a3a3f87f887be23a0c6eb1cb5b,alter=True when upserting users,2019-10-07T04:01:41Z,2019-10-07T04:01:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 5495bca54a2aad91b1243b3cdc7f7d85cddd0bd5,Initial setup plus 'pocket-to-sqlite auth' command,2019-10-07T03:23:42Z,2019-10-07T03:23:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,213286752,pocket-to-sqlite,9599,simonw,9599,simonw 436a170d74ec70903d1b4ca430c2c6b6435cdfcc,Release 0.7,2019-10-07T00:32:08Z,2019-10-07T00:32:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 17606ed11e157f3c67611d7233b60ed5eb750c37,"statuses-lookup command, closes #13",2019-10-07T00:31:27Z,2019-10-07T00:31:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw fffd69ec031b83f46680f192ba57a27f0d1f0b8a,Allow EXPLAIN WITH... - closes #583,2019-10-06T17:23:58Z,2019-10-06T17:23:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c44d286a572ba31b79f631f63fd2543fc4fb010f,README tweaks,2019-10-06T05:03:17Z,2019-10-06T05:03:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow 2f8ceca31b8f3ca3a60bccdf25f39b7c3807877a,Release 0.6,2019-10-06T04:49:17Z,2019-10-06T04:49:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw cfd977e97f82ece49c850fbed3d8778149a59c7d,"Documentation for follow/track commands, closes #11",2019-10-06T04:48:23Z,2019-10-06T04:48:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 5bfc59fe205da619d2b306734fc30f7327b175e7,"follow command now takes screen names, supports --sql and --ids refs #11",2019-10-06T04:33:18Z,2019-10-06T04:33:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw a429dd14c776a7602e603a8e5fa0e99169ca34ac,"Experimental follow/track commands, refs #11",2019-10-06T04:09:18Z,2019-10-06T04:09:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 6670b0719ba4486a1341924522b73eedd0f198aa,Slightly better error handling,2019-10-06T04:08:42Z,2019-10-06T04:09:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw eb39c84a8f27443abb7aaebc1724c99f68e441fb,Test and docs for using :memory: as a filename,2019-10-04T16:17:27Z,2019-10-04T16:17:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw a314b761866d250c16f1ff6dd682010cf4181eb4,Added /-/threads debugging page,2019-10-02T15:32:47Z,2019-10-02T15:35:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6894c8bc767b4c0375ddb8b2f0d2fed857667ff5,First release,2019-09-19T15:38:10Z,2019-09-19T15:38:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,209590345,genome-to-sqlite,9599,simonw,9599,simonw 8c6251c31a05c58c2bfbef114247642d1b3dbb44,Release 0.4,2019-09-17T00:18:37Z,2019-09-17T00:18:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 8c9a9498159c4dfa1dff0593427cc3ee7df9a83c,"'github-to-sqlite repos' command, closes #3",2019-09-17T00:17:42Z,2019-09-17T00:17:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw f697f247468516aa4ee13b1862b59e0dba18d00f,Release 0.3,2019-09-14T21:49:27Z,2019-09-14T21:49:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw a4e0dc3407058b05966a1c37b48c8b8cb4bbad05,"Extract license from repos table, closes #2",2019-09-14T21:46:49Z,2019-09-14T21:46:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 0fe96bc50fb3d7b1c7e4577db0ddf207eaeebbb9,Release 0.2,2019-09-14T21:31:17Z,2019-09-14T21:31:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw f1fa627a744f740a31b19dae812718838c3a6f6b,"github-to-sqlite starred' command, closes #1",2019-09-14T21:30:30Z,2019-09-14T21:30:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 321e0284c64dc48b2143311009886293c05edb07,Release 0.1.1,2019-09-14T19:19:33Z,2019-09-14T19:19:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw d3a0e4cedaa965061c6aa1a38ceffa0a3f00210e,Removed accidental debugging code,2019-09-14T19:19:16Z,2019-09-14T19:19:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw bd26f356649ebe0a98cd11e8992a531ec3bc66c8,"Docs for --sql and --attach, refs #8",2019-09-13T20:32:52Z,2019-09-13T20:32:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow e9112da07229d2bda44d797b94a823cf40955329,Fixed copy,2019-09-11T14:49:56Z,2019-09-11T14:49:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow e60f314b0b4f9ab6a292270c11320530da66f4ac,Release 0.5,2019-09-10T17:38:46Z,2019-09-10T17:38:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw cab7edb1e50549a37b1c8520b546dfa85afda92a,Fixed incorrect header in README,2019-09-10T17:38:04Z,2019-09-10T17:38:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw b5ab2bd69772ece9dc853b359931c7fdaaa19160,"followers-ids and friends-ids subcommands Closes #9",2019-09-10T17:36:44Z,2019-09-10T17:36:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 9fa0f564486c416456a88c277df2f16b86739c73,Added missing --ids in README,2019-09-09T22:44:33Z,2019-09-09T22:44:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 898bad33fd1f0e755f05df6f1885b85031884df4,Release 0.4,2019-09-09T22:41:25Z,2019-09-09T22:41:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw a1d547132356501d3d19c99d0f2e6c8108c53981,Added list-members subcommand,2019-09-09T22:39:41Z,2019-09-09T22:39:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 3e21277c76b86b54fb5cc8dd41a3eb14b6164947,"--attach and --sql for users-lookup, refs #8",2019-09-08T21:24:27Z,2019-09-08T21:24:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 54867fefc58b88b63de4a2b3c06cce970b41d1f2,"users-lookup command, closes #7",2019-09-08T20:32:08Z,2019-09-08T20:32:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 24568509931d68d0ad1b017ab72f0462cde7666c,New --stop_after option for user-timeline,2019-09-08T19:45:53Z,2019-09-08T19:45:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw e54e544427f1cc3ea8189f0e95f54046301a8645,Release 0.2,2019-09-08T03:13:45Z,2019-09-08T03:13:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206649770,google-takeout-to-sqlite,9599,simonw,9599,simonw 231497345d5a653d5ce9b74a8c003cfe1b87530d,Order of files in zip does not matter,2019-09-08T03:12:50Z,2019-09-08T03:12:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206649770,google-takeout-to-sqlite,9599,simonw,9599,simonw 7387c88a3f84704548e81d43b91615c02b61a957,Implemented 'issues' OAuthed data fetching,2019-09-08T03:06:52Z,2019-09-08T03:06:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 2fb755e7d829321538b2aac69da3180e746ba3a8,Implemented location-history import command,2019-09-07T23:30:23Z,2019-09-07T23:30:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206649770,google-takeout-to-sqlite,9599,simonw,9599,simonw 7fd4cb33b7db2dc2ba7fbf57a1d119d6d21d0f20,Fixed README title,2019-09-07T22:44:23Z,2019-09-07T22:44:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw e7f83e628ba6737fe5a7084ecf76221a2580fe2a,"Initial working version * ""github-to-sqlite auth"" command saves a token to auth.json * ""github-to-sqlite issues"" command only works with --load=",2019-09-07T22:43:03Z,2019-09-07T22:43:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw d1cefefc207b8401cc8bf375f07a936c940a4ada,Adjust sort order in test,2019-09-05T20:31:13Z,2019-09-05T20:31:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206649770,google-takeout-to-sqlite,9599,simonw,9599,simonw 84351a5269ca6a2e99808cd66652a6158e2f67f0,Use pytest -vv,2019-09-05T20:18:02Z,2019-09-05T20:18:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206649770,google-takeout-to-sqlite,9599,simonw,9599,simonw 6fe6359b0887b75cd5e7890f2a3c906e6442d59a,Initial working version,2019-09-05T20:14:33Z,2019-09-05T20:14:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206649770,google-takeout-to-sqlite,9599,simonw,9599,simonw e2d7db2c9ef6c944804cda5c6662718ab3a80d0e,Release 0.2,2019-09-04T22:10:07Z,2019-09-04T22:10:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw bc2307450b6944b4fc894de88b1a6e7f6c133f66,"Extract media to separate table, closes #6",2019-09-04T22:07:52Z,2019-09-04T22:07:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw f07d3d14ca39ea95416edc904e566fe28e5b46f6,Extract places into separate table,2019-09-04T21:54:39Z,2019-09-04T21:54:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 215bd23ee36701aebd8088d0c49d3c8e8be3df48,"Note max 3,200 tweets for other people's accounts",2019-09-04T21:23:38Z,2019-09-04T21:23:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow ea4577bcded84cf135d5aff0c5bcb23dbc8e29db,Release 0.2,2019-09-04T21:17:34Z,2019-09-04T21:28:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw ee202d8ce2cd226fd7512f37b201698b6bcac027,Test for new FTS tables,2019-09-04T21:17:18Z,2019-09-04T21:17:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 005913518b695a2456fada7db61ba0d30488bc12,"Fix for bug where tweets were not saved This is a messy fix, need to dig in more",2019-09-04T21:16:38Z,2019-09-04T21:16:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 5c626013c74ca3624d2402ae59d0398de67369bc,Enable FTS on tweets full_text,2019-09-04T21:16:23Z,2019-09-04T21:16:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw c03174ee34eeb6bccb6c6fd0e228a7e892d0b257,Release 0.1,2019-09-04T20:43:35Z,2019-09-04T20:43:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 013cc8147abb78227b7232c2d14cb428613b5760,user-timeline documentation,2019-09-04T20:39:12Z,2019-09-04T20:39:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 11b2847252a2d6683023339873d6a31c5300409e,"Save followers in following m2m table, closes #1",2019-09-04T20:22:52Z,2019-09-04T20:22:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw b266da2f01d6f9ed622a4be36fcafba64b42831c,Removed dead code,2019-09-04T20:03:20Z,2019-09-04T20:03:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 656c970d8b7d0744f1bb5743767fc5b34b62b90e,Added python-dateutil dependency,2019-09-04T20:01:12Z,2019-09-04T20:01:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 506c9d5e8e659b46e2f544bf476a96047feed402,Circle CI now runs pytest,2019-09-04T20:00:10Z,2019-09-04T20:00:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 5966dad3844b6f98e900de6e738248d949eaaa68,"Implemented favorites and user-timeline commands Plus tests",2019-09-04T19:59:00Z,2019-09-04T19:59:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw c1340a15bbd2fced600e5e72626cf42d93b3f789,"Added twitter-to-sqlite fetch URL command Useful development tool - makes it easy to make authenticated API requests on the command-line. Also started the Design notes docs",2019-09-04T16:13:21Z,2019-09-04T16:13:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw ce55b96ebeee79275307a406cd1ae88e511e147c,Preparing release 0.1a,2019-09-04T04:03:31Z,2019-09-04T04:03:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206202864,inaturalist-to-sqlite,9599,simonw,9599,simonw a7b00b7bd95121ee2e39cf01498e77945c9d67f6,"Added observations_with_photos view Optimized for use with datasette-json-html",2019-09-04T03:52:40Z,2019-09-04T03:52:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206202864,inaturalist-to-sqlite,9599,simonw,9599,simonw 309bddb71e21f79dc6aa16d53413959929809663,Guess medium_url from /square.jpg regular url,2019-09-04T03:41:56Z,2019-09-04T03:41:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206202864,inaturalist-to-sqlite,9599,simonw,9599,simonw f7af9fa164739a09d5e83bc5be64fede4b7f795b,Removed obsolete import,2019-09-04T03:34:07Z,2019-09-04T03:34:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206202864,inaturalist-to-sqlite,9599,simonw,9599,simonw 5ff02db0ed251c9cbf494f932028e576692addf9,"Removed obsolete code, applied black",2019-09-04T03:32:14Z,2019-09-04T03:32:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206202864,inaturalist-to-sqlite,9599,simonw,9599,simonw aa36ab8eacaf61643b81f639bbc60dc820741091,First working version,2019-09-04T01:17:22Z,2019-09-04T01:17:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206202864,inaturalist-to-sqlite,9599,simonw,9599,simonw f95762cc25cbf75909fee8ad041cc903d5f421b0,Better heading,2019-09-03T22:42:41Z,2019-09-03T22:42:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 4c0977fc5d091d3c31102000a7312f28d07cdd5b,Added help text for --auth option,2019-09-03T22:42:06Z,2019-09-03T22:42:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw aedf22abac2f87f02d05252a7c6bf2c9854bc786,twitter-to-sqlite followers --auth option,2019-09-03T22:40:56Z,2019-09-03T22:40:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 9dc9f6243f20d0a1217e0d67793ec496333befde,twitter-to-sqlite auth -a my-auth.json option,2019-09-03T22:32:22Z,2019-09-03T22:37:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 47f474c0fb76c53bdf46aefcb3ca9669e676f932,Added note about followers command being rate limited,2019-09-03T21:31:58Z,2019-09-03T21:31:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow 1f1310a25d95351d4bc8840472e97263c886b852,Documentation for auth and followers commands,2019-09-03T21:17:52Z,2019-09-03T21:17:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow ef70bb8b3658a984f00e377e6ca1c1d5c238e81d,Break loop after last page,2019-09-03T21:17:25Z,2019-09-03T21:18:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw fd1a989e09ccfd7b19ac5044ed4679c2134c1294,Fixed regex,2019-09-03T20:42:38Z,2019-09-03T20:42:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 2a0a84a4ff8211cd96e2f7a8b882a6cc3cc55c5c,Deploy releases tagged with alpha or beta,2019-09-03T20:41:20Z,2019-09-03T20:41:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 9ecd8f04a59621e59307f412f6df842f2b5ef65d,"Release 0.1a Mainly doing this to reserve twitter-to-sqlite on PyPI",2019-09-03T20:36:44Z,2019-09-03T20:36:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 2e4b7c136734b352732186b4d761e608835f7ad3,twitter-to-sqlite auth and followers commands,2019-09-03T20:28:36Z,2019-09-03T20:30:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw d5e1f8ac77d91b9b713358e80d9542abbf5f3633,Release 1.11,2019-09-03T00:58:41Z,2019-09-03T00:58:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0fc8afde0eb5ef677f4ac31601540d6168c8208d,Changelog for 0.29.3 release,2019-09-03T00:40:53Z,2019-09-03T00:40:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2dc5c8dc259a0606162673d394ba8cc1c6f54428,"detect_fts now works with alternative table escaping (#571) Fixes #570. See also https://github.com/simonw/sqlite-utils/pull/57",2019-09-03T00:32:27Z,2019-09-03T00:32:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 3a4dddaca23157984dbda7c16a957d3fc459024f,"Documentation for create-triggers, refs #57",2019-09-03T00:10:26Z,2019-09-03T00:10:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 2ca63e3b2de5408a860c6c7c1852deb9a138279e,"db.triggers and table.triggers introspection (#60) Closes #59",2019-09-03T00:09:41Z,2019-09-03T00:09:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 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,Amjith Ramanujam,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,49260,amjith,9599,simonw 7bd30150a32e409bfc573a7001e88813ed819248,"Link to your-foursquare-oauth-token tool, close #4",2019-08-31T18:07:24Z,2019-08-31T18:07:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,205429375,swarm-to-sqlite,9599,simonw,19864447,web-flow c8246218c074d4a53394de9d364eb6c21b245104,"Treat Foursquare timestamps as UTC, closes #5",2019-08-31T02:46:58Z,2019-08-31T02:46:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 5da18118ea820b3e76dad4a8d53cd4de6f63e658,Run pytest with -vv in Circle CI,2019-08-31T02:39:12Z,2019-08-31T02:39:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 3f8cadd6a33254788839a5c1e64ff61872aeb54a,"Implemented --save option, closes #2 Also added usage instructions to README.",2019-08-31T02:36:52Z,2019-08-31T02:36:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 0e5b6025c6f9823ff81aa8aae1cbff5c45e57baf,"Can now fetch data from Foursquare API, closes #1 Also made createdAt field the original unix timestamp and added a new created field which is the ISO formatted version.",2019-08-30T18:16:20Z,2019-08-30T18:19:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 31ea281c40540013c5dbae84d67c5193f40b0e3e,Use group_concat(distinct categories.name) for venue_details view,2019-08-30T17:25:04Z,2019-08-30T17:25:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 7bc005a8664ae1b3f831c4714534d612561d5e93,Added venue_categories to venue_details view,2019-08-30T17:18:44Z,2019-08-30T17:19:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw b77e0d54c59825ebe0d1cc7f01bbe954cc6fd70d,"Added venue_details view Includes date of first and last checkin plus count of checkins",2019-08-30T17:16:24Z,2019-08-30T17:16:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 61c7734979a5592526ea6841e77175de2163eb17,"Require at least sqlite-utils 1.10 We need it for the view introspection methods",2019-08-30T17:02:46Z,2019-08-30T17:02:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw e04ec1f86e35e14ec9148108de27d4305bb79230,Added checkin_details SQL view,2019-08-30T15:01:17Z,2019-08-30T15:01:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 00e2473f919d921a2aa1c9264397e3e593e3907e,Added support for stickers,2019-08-30T14:45:26Z,2019-08-30T14:45:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw cfd1ac4f0eb942fd81ac86e148b4ca20915343cd,Implemented events and posts,2019-08-30T14:27:10Z,2019-08-30T14:27:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw 06dfb95a5ca5c0682ccad87b6150a2b0db66ade1,"Initial working version Only supports loading checkins from a JSON file on disk: swarm-to-sqlite swarm.db -f checkins.json",2019-08-30T11:26:27Z,2019-08-30T11:26:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,205429375,swarm-to-sqlite,9599,simonw,9599,simonw cb70f7d10996b844154bf3da88779dd1f65590bc,Corrected .views_names() -> .view_names(),2019-08-26T05:04:14Z,2019-08-26T05:04:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 68a5cb1b8ef2264bed68d4763f04bd47b1aa5d05,Corrected .table_views() -> .view_names(),2019-08-26T05:03:22Z,2019-08-26T05:03:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 53124bc02fac5a89b154513f5fdc67431901fad9,Release 1.10,2019-08-23T12:24:04Z,2019-08-23T12:24:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 9faa98222669723d31e918bb16a42c13c363817f,"Ability to introspect and run queries against views (#55) * db.views_names() method and and db.views property * Separate View and Table classes, both subclassing new Queryable class * view.drop() method * Updated documentation",2019-08-23T12:19:41Z,2019-08-23T12:19:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 0e7b461eb3e925aef713206c15794ceae9259c57,Fixed typo,2019-08-04T04:13:31Z,2019-08-04T04:13:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 4c0912dbf27b12071aca9569bcf7233e60f91c7c,"table.m2m() method for creating many-to-many records Closes #23",2019-08-04T03:37:32Z,2019-08-04T03:37:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 6ac0a5df5d714f6f3b33a92eed9ccbd8eebe66a4,Release 1.9,2019-08-04T03:35:30Z,2019-08-04T03:35:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 243bcaa1acd32a173c07b24dca553991493005a0,Documentation for .m2m() table method,2019-08-04T02:29:19Z,2019-08-04T02:29:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 5516175ca6b9b2d48b7a929ba074b1ef69e981b0,Allow table objects to be passed to .m2m(),2019-08-04T02:09:17Z,2019-08-04T02:09:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw d96a8f149ecb4d3fd8a8e5226774b7060c96ec95,Use existing m2m table if one exists,2019-08-03T18:15:16Z,2019-08-03T18:16:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw b9256413d26875c2bc3841e68b90d3842e88ccb8,"db.m2m_table_candidates(table, other_table)",2019-08-03T18:07:06Z,2019-08-03T18:07:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw b6b92980c00eda14a4d759b724139a0a2d321007,"table.m2m(..., m2m_table=x) argument",2019-08-03T17:51:22Z,2019-08-03T17:51:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw ba1211d4456911bf0bd13f2e753a56ed988df3b4,"Implemented .m2m(table, lookup=...)",2019-08-03T14:28:03Z,2019-08-03T14:28:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw ff2348e71af6705dfa3220d823ce0285e95b127f,Added failing tests,2019-07-31T06:16:46Z,2019-07-31T06:16:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 35eeafaaa33648a528cbcd57ceca966fea19c6ae,"table.m2m(...) method, with tests",2019-07-31T05:31:27Z,2019-07-31T05:51:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0747dabb24b608e8524de4858ce50c60ba7e471b,"table.update() method * Also now set .last_pk to lastrowid for rowid tables * table.pks introspection now returns [""rowid""] for rowid tables Closes #35",2019-07-28T15:43:50Z,2019-07-28T15:43:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow e1021030dd2d8d4705ad0e7bae389eeaea7fa17b,Release 1.8,2019-07-28T15:41:42Z,2019-07-28T15:41:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 16d7008002b43cf47a973791da93e5cdd5913fc3,Applied black,2019-07-28T15:37:27Z,2019-07-28T15:37:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 598608374625cbfa0799f5b7a210ca6e192f9c0b,Documentation for table.update() method,2019-07-28T15:03:44Z,2019-07-28T15:03:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw bc9c4db34b815f5385abbf4bb491bab0e10779db,.update(...) with no update argument sets last_pk,2019-07-28T14:59:52Z,2019-07-28T14:59:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 4ab8d46b03a92c68e9694ea7c285d3852ef58530,"Added table.update(pk, ..., alter=True)",2019-07-28T14:51:49Z,2019-07-28T14:51:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 5225dbb89c08a73b1af536105f7fcff64aef5638,Unit tests for invalid .update() pks,2019-07-28T14:46:49Z,2019-07-28T14:46:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e4a11b181580605b1711acee4828039137e2fcd9,"Refactor .update() to use .get() .pks introspection now returns [rowid] for rowid tables.",2019-07-28T12:44:33Z,2019-07-28T12:44:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 455071f3c5e76141926eb1e77656cb131a826707,"Unit tests for .update() Also now set .last_pk to lastrowid for rowid tables.",2019-07-28T12:30:28Z,2019-07-28T12:30:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw a6749cdf43229c4f7864c946496e9ac0141627d9,Release 1.7.1,2019-07-28T12:00:51Z,2019-07-28T12:00:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 9cb045284ede8009c12abdb1755b5b20f6ccff5f,"Fix for too many SQL variables on bulk insert SQLite has a max of 999 variables per query, so bulk inserts of e.g. 100 records with 11 columns each were failing with an error. We now dynamically adjust the batch_size to ensure this doesn't happen. Closes #50",2019-07-28T11:59:32Z,2019-07-28T11:59:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 0c1b8b7f96be874bb63801f69323960f277aa49a,Use assertion to enforce <=999 columns,2019-07-28T11:41:57Z,2019-07-28T11:41:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 535a5ea476fb41738c839ac609b43d2f019cea96,Documentation and tests for table.drop() method,2019-07-28T11:22:12Z,2019-07-28T11:57:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 62d292252804aa0a0c1d6fdc9ea1722b5ffb20a8,"Fix for too many SQL variables, closes #50",2019-07-28T11:10:56Z,2019-07-28T11:10:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 27cb29365c9f5f6f1492968d1268497193ed75a2,"Fix numerous typos (#561) Thanks, @minho42!",2019-07-26T10:25:44Z,2019-07-26T10:25:44Z,710d89efa471054d77ad1b7e2b26e2e78e1153e7,Min ho Kim,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,15278512,minho42,9599,simonw 58b65b504d61bea5d3ab3696257204b925063a6b,Release 0.3.2,2019-07-26T06:02:30Z,2019-07-26T06:02:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 35162fce0d216e15508964f7209e022bad31bb89,Fix for #9 - too many SQL variables,2019-07-26T06:00:27Z,2019-07-26T06:00:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw f04deebec4f3842f7bd610cd5859de529f77d50e,Refactored connection logic to database.connect(),2019-07-25T13:07:44Z,2019-07-26T10:22:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9b7be79c86b4283f24a64f62257c918f12542997,Release 1.7 - with lookup table support,2019-07-24T06:50:41Z,2019-07-24T06:50:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw c8392df78ee3e1643d18b747a4abf585d84d5d88,"Use less RAM (#8) * Call el.clear() for each element * Clear root element each time Memory profile graphs here: https://github.com/dogsheep/healthkit-to-sqlite/issues/7",2019-07-24T06:35:51Z,2019-07-24T06:35:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,197882382,healthkit-to-sqlite,9599,simonw,19864447,web-flow 6fcc27be26a560d525a1e0cf0ab225c5f7c19daf,Release 0.3.1,2019-07-24T06:33:22Z,2019-07-24T06:34:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 941d281aee6eac20ad64b505511da7e47f697700,"extracts= table parameter, closes #46",2019-07-23T17:00:42Z,2019-07-23T17:00:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 580502431614d3653c93249988290265f3163d4b,"Implemented table.lookup(...), closes #44 * Add pk column if missing from insert * Implemented table.lookup(...)",2019-07-23T13:06:59Z,2019-07-23T13:06:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow e22cfcd953f967f6e9551b3a048d7c40726f349b,Removed a TODO which is now done,2019-07-23T13:05:04Z,2019-07-23T13:05:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f3a4c3d3ee6475a6caf3c9606656dbaf1df020b7,db.create_table() now remembers configs,2019-07-23T07:47:19Z,2019-07-23T07:47:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 535a731b9310a07b10a8649313c8bd8fafcdadea,Fixed lint error,2019-07-23T07:41:34Z,2019-07-23T07:41:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 034d498b319d37b0639203fa4fbb304715b3ae03,Support Database(memory=True) for in-memory databases,2019-07-23T00:12:54Z,2019-07-23T00:12:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 58db40d67c12cb4353a825d4aa215141a51b9e6e,Better __repr__ for tables,2019-07-23T00:05:51Z,2019-07-23T00:05:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 127a836054fb784dc02ea40dadb55b3741dcd603,Documented new table configuration options via .table(),2019-07-22T23:59:17Z,2019-07-22T23:59:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw be655827b4a4ff88eb4813075339b0b01e018145,use_table_factory is a better name than use_class_constructor,2019-07-22T23:33:37Z,2019-07-22T23:33:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 57e43baece0936d75c74711f5f6835a5c1c1ac42,"Table options can now be passed to constructor OR to insert_all() If you want to set default options for a table, you can do this: table = db.table(""dogs"", pk=""id"", column_order=[""name"", ""age""]) If you pass those keyword arguments to the .insert/.update/etc methods they will over-ride the defaults you set on the table. table = db[""dogs""] # This still works too",2019-07-22T23:30:54Z,2019-07-22T23:30:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 152eb2afaf35cde5d44e50369f4cb32a72e72fdb,Use pysqlite3 if available,2019-07-22T22:39:35Z,2019-07-22T22:39:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 5d7e14d40d5a4cfd133ca5faa442312f607784c5,Release 0.3,2019-07-22T03:31:54Z,2019-07-22T03:31:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 604d423f92732c7f6d2b4402cc80734ac3bd7c21,Documentation for progress bar / --silent,2019-07-22T03:31:02Z,2019-07-22T03:31:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw f518d8c7099a9f8826920ab9634a159036094cf7,"Break records out into separate tables, closes #6",2019-07-22T03:28:43Z,2019-07-22T03:28:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw b63bab25de0d6db72d5e410789fbc9bfa1eace93,"Better progress bar label, refs #5",2019-07-22T03:17:20Z,2019-07-22T03:17:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 5fa404135a2704fe94dd976bf197472acffded28,"Added progress bar, --xml and --silent options --xml lets you pass path to an XML file - I used this to add some unit tests for the CLI itself. --silent means ""don't show a progress bar"" Closes #5",2019-07-22T02:47:56Z,2019-07-22T02:47:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 2bb3bddec9db5a47f0d064bdc124c0c6c12780e5,Release 0.2,2019-07-20T16:44:05Z,2019-07-20T16:44:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 63aaf80e5b3d27ded34f557df2c689c9d9854e97,"Use hash_id in less places I was getting import errors when duplicate hash_id was generated.",2019-07-20T16:42:26Z,2019-07-20T16:42:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw d64299765064501f4efdd9a0b21dbdba9ec4287f,Fixed URLs in README,2019-07-20T06:22:57Z,2019-07-20T06:22:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 38464031acf34b8fecb6a719971f2d95045dcd01,"Import records, closes #4",2019-07-20T06:19:31Z,2019-07-20T06:19:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 8cb1d04ae0425d471da1e6df21a92bc1a1764c24,"Import workouts, closes #2",2019-07-20T06:10:18Z,2019-07-20T06:10:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw d016e70c31cf84ba0f5ec3102546db54a51aaffb,"Export activity summaries, closes #3",2019-07-20T05:57:58Z,2019-07-20T05:57:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 8fb7609e5b133fd8b53a79772ee5501dac60ea88,Usage instructions,2019-07-20T05:57:26Z,2019-07-20T05:57:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 997136e714281c82955464fa13071e6b3e986eed,"Added export.xml test fixture Also utils.find_all_tags() utility function",2019-07-20T05:40:04Z,2019-07-20T05:40:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw 47a15cba605f045bdb5b224362f7fd27f6a47956,Initial framework,2019-07-20T05:12:38Z,2019-07-20T05:12:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,197882382,healthkit-to-sqlite,9599,simonw,9599,simonw c88f0a4d4617ff832aa728aac1da3500548c3137,Release 1.6,2019-07-19T04:51:21Z,2019-07-19T04:51:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 09316835e609e2321dafa08d37d8f227521373f8,"Implemented --tsv option, closes #41",2019-07-19T04:50:38Z,2019-07-19T04:50:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw ef112ffc94e157b2152ebc4e01ab750570f447e8,Release 1.5,2019-07-15T04:34:49Z,2019-07-15T04:37:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw c65b67ca46f70e2da46a5b945f4ed358173262e9,".get() method plus support for compound primary keys (#40) * create_table now handles compound primary keys * CLI now accepts multiple --pk for compound primary keys * Docs for compound primary keys with CLI and Python library * New .get() method plus documentation Closes #36, closes #39",2019-07-15T04:28:51Z,2019-07-15T04:28:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 65b2156d9cc0aa6b5c3dc7a6bd600d98b281a13b,"Show version in docs Thanks, @nedbat https://twitter.com/nedbat/status/1150490436114534400",2019-07-14T19:45:00Z,2019-07-14T19:45:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 91311bb0db14d410200845b2367f3c9d73e74db6,"Sphinx docs now pull version info from git tag Based on http://dreamiurg.net/2011/10/03/using-git-to-get-version-information/",2019-07-14T19:24:45Z,2019-07-14T19:24:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw a8ecf95f115e70eafc4cb352c4677e6e1418afbd,Use pip install -e .[docs] for documentation dependencies,2019-07-14T19:23:31Z,2019-07-14T19:23:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f70e35c9bbc0d5803bc0aee572b894a8b21ac41e,"Added table.rows_where(where, args) method",2019-07-14T18:58:40Z,2019-07-14T18:58:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 72a6f430dfa99f99ca3204ac7e7bd280e1bd421b,Update PyPI classifiers,2019-07-14T17:16:36Z,2019-07-14T17:16:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 41d1751aec9c08c05191f9806aa07d56b565e9d1,Release 1.4.1,2019-07-14T17:08:34Z,2019-07-14T17:08:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 15368c5f59066fc9c6b8ce5d0578132b1b68b75d,"First working version of .update(), refs #35",2019-07-14T17:03:18Z,2019-07-28T12:15:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw ba6bd47f15c154e348c3c85c05858053a4ab7bab,Typo fix,2019-07-14T16:25:57Z,2019-07-14T16:25:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw a9453c4dda70bbf5122835e68f63db6ecbe1a6fc,"Fixed CodeMirror on database page, closes #560",2019-07-14T03:38:40Z,2019-07-14T03:38:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6abe6faff6b035e9334dd05f8c741ae9b7a47440,Release 0.9.2,2019-07-14T03:04:05Z,2019-07-14T03:04:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 90d4f497f9b3f6a5882937c91fddb496ac3e7368,"Fix plus test for unicode characters in custom query name, closes #558",2019-07-14T02:49:24Z,2019-07-14T02:49:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5ed450a3328bd6a6a918474eeb5446d8a704df1c,Fixed breadcrumbs on custom query page,2019-07-14T02:05:39Z,2019-07-14T02:05:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw afc2e4260ab8b28e132c834185c5294fb27543f1,News: Single sign-on against GitHub using ASGI middleware,2019-07-14T01:42:35Z,2019-07-14T01:42:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow d224ee2c98ac39c2c6e21a0ac0c62e5c3e1ccd11,"Bump to uvicorn 0.8.4 (#559) https://github.com/encode/uvicorn/commits/0.8.4 Query strings will now be included in log files: https://github.com/encode/uvicorn/pull/384",2019-07-13T22:34:57Z,2019-07-13T22:34:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow f2006cca80040871439055ae6ccbc14e589bdf4b,Updated release notes,2019-07-11T16:27:28Z,2019-07-11T16:27:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2a94f3719fb2c4335fcda374fa92f87272b02d34,Release 0.29.1,2019-07-11T16:17:55Z,2019-07-11T16:17:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cc27857c722c172b3c9bd93c92f02e19f2a55d6c,Removed unused variable,2019-07-11T16:14:24Z,2019-07-11T16:14:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 74ecf8a7cc45cabf369e510c7214f5ed85c8c6d8,"Fix static mounts using relative paths and prevent traversal exploits (#554) Thanks, @abdusco! Closes #555",2019-07-11T16:13:19Z,2019-07-11T16:13:19Z,3684ad6084bc36bc5a059f0d6eb929bcf9854536,Abdus,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,3243482,abdusco,9599,simonw 9ca860e54fe480d0a365c0c1d8d085926d12be1e,"Add support for running datasette as a module (#556) python -m datasette Thanks, @abdusco",2019-07-11T16:07:44Z,2019-07-11T16:07:44Z,3684ad6084bc36bc5a059f0d6eb929bcf9854536,Abdus,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,3243482,abdusco,9599,simonw fef96163d92e39a804824ec98d6053e888be76a2,Minor markup cleanup,2019-07-09T11:55:04Z,2019-07-09T11:55:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 5be66529a3887a88b2c08d23c82e3aa8de344797,Fixed RST and Typo,2019-07-09T11:49:32Z,2019-07-09T11:49:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow b0a2f897f4e70fd9cbb0da227da75d3f5eaa5248,Typo fix,2019-07-09T11:42:40Z,2019-07-09T11:42:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 81fa8b6cdc5457b42a224779e5291952314e8d20,"News: Datasette 0.29, datasette-auth-github, datasette-cors",2019-07-08T04:36:27Z,2019-07-08T04:36:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow fb7ee8e0ad59a15083234a48e935525f6e7257dd,Changelog for 0.29 release,2019-07-08T03:14:27Z,2019-07-08T03:14:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 973f8f139df6ad425354711052cfc2256de2e522,"--plugin-secret option for datasette publish Closes #543 Also added new --show-files option to publish now and publish cloudrun - handy for debugging.",2019-07-08T02:06:31Z,2019-07-08T02:06:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 2d04986c4438cdfd3bb9d156d9dfcf830cb87b49,"Added datasette-auth-github and datasette-cors plugins to Ecosystem Closes #548",2019-07-08T02:02:27Z,2019-07-08T02:02:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw aa4cc99c0221a98850f8c801c329aac40f243b7b,"Removed facet-by-m2m from docs, refs #550 Will bring this back in #551",2019-07-08T01:22:05Z,2019-07-08T01:22:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c5542abba564a0b320a1201a8cc85b48c743005d,"Removed ManyToManyFacet for the moment, closes #550",2019-07-07T23:21:11Z,2019-07-07T23:21:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9998f92cc05e6061a81af6cf194c3caa4d0759c1,"Updated custom facet docs, closes #482",2019-07-07T23:19:02Z,2019-07-07T23:19:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 912ce848b9fa8b1642c800b446f504518bc39f2a,"Fix nav display on 500 page, closes #545",2019-07-07T20:25:38Z,2019-07-07T20:26:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 787dd427de97dcbd0843611f1aef6d157d8bb0b6,"white-space: pre-wrap for table SQL, closes #505",2019-07-07T20:21:50Z,2019-07-07T20:26:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f80ff9b07b5ecdfeca4aa81f5728812a22bfb019,"min-height on .hd Now it should be the same size on the homepage as it is on pages with breadcrumbs",2019-07-07T20:16:48Z,2019-07-07T20:16:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d95048031edb02bbc9892879507f55a4f29c5459,"Split pypi and docker travis tasks (#480) Thanks @glasnt!",2019-07-07T20:03:19Z,2019-07-07T20:03:19Z,f9a18a704545f33349d7b28b24faf7063846ae0a,Katie McLaughlin,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,813732,glasnt,9599,simonw fcfcae21e67cc15090942b1d2a47b5f016279337,"extra_template_vars plugin hook (#542) * extra_template_vars plugin hook Closes #541 * Workaround for cwd bug Based on https://github.com/pytest-dev/pytest/issues/1235#issuecomment-175295691",2019-07-06T00:05:56Z,2019-07-06T00:05:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow a18e0964ecd04593f227616538a80dee08768057,"Refactor templates for better top nav customization, refs #540",2019-07-05T20:34:41Z,2019-07-05T20:34:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 16fdabda978fa659bed0e8670a385dab3c2cd197,Better robustness in face of missing raw_path,2019-07-04T14:03:02Z,2019-07-04T14:03:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 107d47567dedd472eebec7f35bc34f5b58285ba8,Black,2019-07-04T05:56:13Z,2019-07-04T05:56:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 25ff0a8ba6b2e3247a66048ad173ba5ed8a38b80,"Fix for accidentally leaking secrets in /-/metadata, closes #538",2019-07-04T05:47:45Z,2019-07-04T05:47:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a2d45931935f6bb73605a94afedf9e78308c95d6,"Secret plugin configuration options (#539) Closes #538",2019-07-04T05:36:44Z,2019-07-04T05:36:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 1a053d9438cb217e54e7784777e11620ece8fed0,Added Python library example to README,2019-07-03T18:04:03Z,2019-07-03T18:04:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow f0d32da0a9af87bcb15e34e35424f0c0053be83a,"Switch to ~= dependencies, closes #532 (#536) * Switch to ~= dependencies, closes #532 * Bump click and click-default-group * imp. is deprecated, use types.ModuleType instead - thanks https://stackoverflow.com/a/32175781 * Upgrade to pytest 5",2019-07-03T04:32:55Z,2019-07-03T04:32:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3,"Added asgi_wrapper plugin hook, closes #520",2019-07-03T03:57:28Z,2019-07-03T04:06:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b9ede4c1898616512b5d204f9c941deff473cbe4,"Updated custom template docs, refs #521",2019-07-03T03:13:34Z,2019-07-03T03:23:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 13e4f9a676da91e271a243f18f3a4ebe4f84557a,"Unit test for _table custom template, refs #521",2019-07-03T03:06:22Z,2019-07-03T03:23:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e7120d91f6ab7917b57b0e966259082d513c36ee,"Rename _rows_and_columns.html to _table.html, refs #521",2019-07-03T00:50:45Z,2019-07-03T03:23:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw fad14ab9438869d38003254f3fc1444af21a2cdb,Release 1.4,2019-06-30T23:51:17Z,2019-06-30T23:51:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e8f887ef4a0977243811b90bc2ce9aed9d2c206a,"sqlite-utils index-foreign-keys / db.index_foreign_keys() Closes #33",2019-06-30T23:50:54Z,2019-06-30T23:50:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 0fe3b38290e1bb2d92746d90318d8662b57218bd,"Added db-to-sqlite to ""Related projects""",2019-06-29T21:34:24Z,2019-06-29T21:34:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow b4e36546b093281d1e01549c6d8c4c66b1063675,Release 1.3,2019-06-29T06:31:18Z,2019-06-29T06:32:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 997d8758fc8992be93d5984556e5b9e3bad4205f,"db.add_foreign_keys() method Closes #31",2019-06-29T06:27:38Z,2019-06-29T06:27:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 86bd2bba689e25f09551d611ccfbee1e069e5b66,1.2.2 release notes,2019-06-26T04:23:45Z,2019-06-26T04:23:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 641eccc2b7a7d39f234de8e42c7ebc426d350984,Release 1.2.2,2019-06-26T04:20:55Z,2019-06-26T04:20:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f03d2eddd8d861a7cf43a0ef3d72f67aae571dd4,Handle datetime.time correctly,2019-06-26T04:18:35Z,2019-06-26T04:18:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 76882830548e16905348ee75acb0044cb8e1fd20,Typo,2019-06-25T15:36:39Z,2019-06-25T15:36:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow c461357b4483f1cc44efb3f12cf91cc1fb45ab1d,"Default to raw value, use Row.display(key) for display, refs #521",2019-06-25T12:21:10Z,2019-07-03T03:23:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9e97b725f11be3f4dca077fe5569078a62ec2761,pip install -e .[docs] for docs dependencies,2019-06-25T12:08:04Z,2019-06-25T12:08:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 754836eef043676e84626c4fd3cb993eed0d2976,"New experimental Row() for templates, refs #521",2019-06-25T12:02:42Z,2019-07-03T03:23:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6341f8cbc7833022012804dea120b838ec1f6558,"Better coverage of sqlite-utils in FTS docs, closes #525",2019-06-24T16:28:42Z,2019-06-24T16:28:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 34e292d24dc2b8376236472bec3cce1c556ddfe5,"Porting Datasette to ASGI, and Turtles all the way down",2019-06-24T05:28:37Z,2019-06-24T05:28:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow cdd24f3eaa207f67d948c1876725b0f84654a623,Added datasette-doublemetaphone to list of plugins,2019-06-24T04:23:24Z,2019-06-24T04:23:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow a5591236c46f507b9e46b1b52e51d5f46ffd6913,"Install test dependencies so deploy can work python tests/fixtures.py needs asgiref or it fails with an error",2019-06-24T03:23:07Z,2019-06-24T03:23:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow ba8db9679f3bd2454c9e76e7e6c352126848b57a,"Port Datasette from Sanic to ASGI + Uvicorn (#518) Datasette now uses ASGI internally, and no longer depends on Sanic. It now uses Uvicorn as the underlying HTTP server. This was thirteen months in the making... for full details see the issue: https://github.com/simonw/datasette/issues/272 And for a full sequence of commits plus commentary, see the pull request: https://github.com/simonw/datasette/pull/518",2019-06-24T03:13:09Z,2019-06-24T03:13:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 46281c9db0d6eb50203880c83363a8b279db4ecd,Release 1.2.1,2019-06-21T00:01:21Z,2019-06-21T00:01:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 976263effcc2b9658006f739f7f7f02554f8d97f,"Sanity check add_foreign_key() column exists, closes #29",2019-06-20T23:58:09Z,2019-06-20T23:58:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 364b0fb6784f72b5c4048a3d6b697fba5ec86db7,Remove .DS_Store,2019-06-20T23:55:39Z,2019-06-20T23:56:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 35429f90894321eda7f2db31b9ea7976f31f73ac,"Revert ""New encode/decode_path_component functions"" Refs #272 This reverts commit 9fdb47ca952b93b7b60adddb965ea6642b1ff523. Now that ASGI supports raw_path we don't need our own encoding scheme!",2019-06-19T00:22:26Z,2019-06-19T00:23:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d4df640d187d01a0ee81c238082a690bbefd0800,"Refactored view class hierarchy, refs #272 See https://github.com/simonw/datasette/issues/272#issuecomment-502393107",2019-06-15T19:41:34Z,2019-06-15T19:41:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1c8a0e874fe0fc2eaade1a6c44d947e1e6c7b2b6,Release 1.2,2019-06-13T06:39:59Z,2019-06-13T06:39:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 208f56fbaf173fdd8cb03a840e218f85d414a144,"--not-null and --default options to insert/update, closes #24",2019-06-13T06:30:16Z,2019-06-13T06:30:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 362359da7eed7dc6589589122960c0a0d0460d7c,"not_null= and defaults= arguments to various Python methods, refs #24",2019-06-13T06:10:07Z,2019-06-13T06:10:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 07a10bdb2c09c7e275a9db546c42900b1dea4e75,foreign_keys=[...] can now detect tables and keys - closes #25,2019-06-13T05:32:26Z,2019-06-13T05:32:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw d645032cfa4edbccd0542eecdddca29edf9f7b07,"add_foreign_key can now detect table and pk, refs #25",2019-06-13T04:51:09Z,2019-06-13T04:51:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw c2622ceabd073b43b5789ccaa5036471b3c96e12,"cd docs && make livehtml Enabled make rule for sphinx-autobuild",2019-06-13T04:50:18Z,2019-06-13T04:50:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 2fed87da6ea990d295672e4db2c8ae97b787913e,"--not-null-default and not_null_default=, refs #24",2019-06-13T01:35:02Z,2019-06-13T01:35:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw aa911122feab13f8e65875c98edb00fd3832b7b8,Fix typo in install step: should be install -e (#500),2019-06-11T18:48:40Z,2019-06-11T18:48:40Z,6067f58a7236b3d01e4166f795a161c7469a447c,Tom MacWright,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,32314,tmcw,9599,simonw 6ccfcefb782bbf86b87bf047d01b979782aa6d97, Added datasette-render-binary plugin to ecosystem,2019-06-09T16:49:06Z,2019-06-09T16:49:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 0c756b8cd948bd69b7342c0d0e93bad4ff4e97b2,Added datasette-bplist plugin to ecosystem,2019-06-09T02:11:59Z,2019-06-09T02:11:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945,"Upgrade pytest to 4.6.1, pluggy to 0.12.0 (#497)",2019-06-03T02:06:26Z,2019-06-03T02:06:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 803f750309bf0cd5b7501228c1efcf9a35686d74,Added datasette-jq plugin to ecosystem,2019-05-30T01:51:10Z,2019-05-30T01:51:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 7a3041b1adcb1c95f2edeb789e4b1ecac34f0eab,Releasing 1.1,2019-05-29T05:12:03Z,2019-05-29T05:12:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 26b2cf3418f1e19b5436a7385c3945384838e594,Changelog for 1.1 + docs for --ignore/ignore=True,2019-05-29T05:06:22Z,2019-05-29T05:06:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 50e2f94b583436b1a6c54be04e78a3029de6b521,"Ability to add a column that is a foreign key reference Python API: db[""dogs""].add_column(""species_id"", fk=""species"") # or db[""dogs""].add_column(""species_id"", fk=""species"", fk_col=""ref"") CLI: $ sqlite-utils add-column mydb.db dogs species_id --fk species # or $ sqlite-utils add-column mydb.db dogs species_id --fk species --fk-col ref Closes #16",2019-05-29T04:54:43Z,2019-05-29T04:54:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 00c5a49a87e1ef3e39bb7ec5ab61f7c17f9ecd60,"Option to ignore inserts if primary key exists already Support for SQLite's INSERT OR IGNORE In the API layer it looks like this: fresh_db[""test""].insert({""id"": 1, ""bar"": 3}, ignore=True) For the CLI layer it looks like this: $ sqlite-utils insert data.db dogs dogs.json --ignore Closes #21",2019-05-29T04:15:57Z,2019-05-29T04:15:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 1e28eeee8ce55ea68eddb228294a1eff6785b497,Fixed RST syntax bug,2019-05-28T05:25:03Z,2019-05-28T05:25:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 2a4b892d6c0f6609ea48df0dc393397af2b7b1c1,Tidy up with Black,2019-05-28T02:28:47Z,2019-05-28T02:28:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9c58d048ec4af8a35b680a5654c2a18985704f8b,"Fix pagination when sorted by expanded foreign key Closes #489",2019-05-28T02:23:18Z,2019-05-28T02:23:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f069950a143b97b384ec39a86db28e6f2830947d,Removed obsolete __init__ method,2019-05-28T02:03:36Z,2019-05-28T02:03:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw de92c0513409e72af78e6796c47c8954fd47576e,Fixed duplicate function name,2019-05-28T01:49:57Z,2019-05-28T01:49:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 839e55bf0a5cc2ef4d47074b7d804f7f2d5accb3,"Start of unit tests for Database class, refs #485",2019-05-28T01:42:30Z,2019-05-28T01:42:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 63953f56e7001c2e21bc37d5afac699c48c00b9e,Release 1.0.1,2019-05-28T00:50:28Z,2019-05-28T00:50:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw cec8c3c4826da8999a5d0f905596be8de519cbc9,sqlite-utils rows now obeys --json-cols,2019-05-28T00:47:59Z,2019-05-28T00:47:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw bd4dbc8519c24c2799dfa5e69bb3dc37a3f3092e,"Rename InterruptedError => QueryInterrupted, closes #490",2019-05-28T00:16:36Z,2019-05-28T00:16:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw edb36629e7356f70f42b9d37fea5dfe9cc3c364a,"Database.get_outbound_foreign_keys() refactor Following this, the only module that ever makes calls to the low-level execute_against_connection_in_thread() method is datasette/database.py",2019-05-27T18:41:44Z,2019-05-27T18:41:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 20f98c3e20902c62db610e43155c476508ead4a4,"Databse.primary_keys(table) / fts_table(table) refactor, closes #488 Also cleaned up some unused imports spotted by the linter.",2019-05-27T18:27:42Z,2019-05-27T18:27:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3fe21b91bb37b0dded09f73e119b5e1ae5035d85,Typo,2019-05-27T18:27:21Z,2019-05-27T18:27:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6569287d9001fb7e37f99b4bc5eddb78d047fa6f,"Refactored ConnectedDatabase to datasette/database.py Closes #487",2019-05-27T05:07:27Z,2019-05-27T05:07:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 026c84db30bd0a75ecde146a80a5d142078dc299,"Refactor Datasette methods to ConnectedDatabase Refs #487",2019-05-27T04:56:43Z,2019-05-27T04:56:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 182a3017c24e3fa3af60e4ac0c91c7e48f8736fd,Sort keys to past tests in Python 3.5,2019-05-25T16:22:02Z,2019-05-25T16:22:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5ef3b2d6c902622b349a35d33eefc39f2a85e59e,"Don't use -v with pytest in Travis It seems to slow things down more than I expected.",2019-05-25T16:19:30Z,2019-05-25T16:19:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9bd39672dead0da8570a9e68b70f9ca7a2b4e63e,"Better label detection, refs #485 This needs unit tests.",2019-05-25T16:14:57Z,2019-05-25T16:14:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d923d847545e829bf946bb9170bebfc7c3f9d993,"Facet by many-to-many, closes #365",2019-05-25T16:05:52Z,2019-05-25T16:06:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 092e1368edc4e7f4cb337a62eabd9a6e1245006b,Fixed typo,2019-05-25T14:24:17Z,2019-05-25T14:24:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw ee017cdbddfb7cdbf522149d195dd41416b24ecd,"Release notes for 1.0, closes #22",2019-05-25T01:06:38Z,2019-05-25T01:06:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 251e4730412210e7fdb1efd476c730ed3ff10e81,"--json-cols option for outputting nested JSON, closes #20",2019-05-25T00:56:44Z,2019-05-25T00:56:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 747ea5d6bc31b31fd046e036d90fb603c55307b5,"Fixed help text for sqlite-utils enable-fts Closes #19",2019-05-25T00:43:41Z,2019-05-25T00:43:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw eff52023c6d316ead336c198a2a9365ce4f91b09,"alter=True/--alter option to automatically add missing columns Closes #18",2019-05-25T00:41:04Z,2019-05-25T00:41:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 8ab7dcb4f939f38a9a8f8d92e79f4271fa0a6874,"Update description, don't package tests/",2019-05-25T00:37:29Z,2019-05-25T00:37:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 6e79fecf7e57adf89e072c7ce3a70a83d3d10ec4,Travis now uses pytest -v,2019-05-23T05:54:40Z,2019-05-23T05:54:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 172da009d890aa029cff7138b4dcfd4f60948525,"Added ?_through= table argument, closes #355 Also added much more interesting many-to-many fixtures - roadside attractions!",2019-05-23T05:44:34Z,2019-05-23T05:45:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c902590ada636098a705502d78f51b2f92973350,Stack Overflow survey added to news,2019-05-21T18:47:28Z,2019-05-21T18:47:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow f12220b17de426a356a716c58768071fce1f741a,Link to blog post about 0.28,2019-05-21T16:33:57Z,2019-05-21T16:33:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 967230c90e7467d4adb5df5a5732ece0247cf536,"Facet by date, closes #481",2019-05-21T06:09:22Z,2019-05-21T06:09:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2d14f21f85d3a1fe0ff914e01fcacd089704f7aa,Updated tests for date(...) lookup,2019-05-21T06:06:19Z,2019-05-21T06:06:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw de4503a136617697648473bc37780c6799eb4d98,Fix ?col__date= for columns with spaces,2019-05-21T05:36:22Z,2019-05-21T05:36:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 70d2858067d3c4da0e17c1d39e03de89190e94b6,Doc typo fix (#479),2019-05-20T16:42:28Z,2019-05-20T16:42:28Z,798007d3f9547f7bcb9228088222d35f30b5b716,Thomas Wood,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,98555,IgnoredAmbience,9599,simonw 4246e138f9512686413e97878659ef953337e57b,Typo fix,2019-05-19T23:14:09Z,2019-05-19T23:14:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow e513a80afba30bca9eeebd71c5e6aa6d8a811f33,"Use -i with datasette publish, closes #469",2019-05-19T22:53:34Z,2019-05-19T22:53:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 48759d3b35de9fa1a89622587e38b286e0484997,New setup.py description,2019-05-19T21:57:47Z,2019-05-19T21:57:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e518f76c5f5dd0138032bfb26387f5bb91086a3f,README for Datasette 0.28 release,2019-05-19T21:37:49Z,2019-05-19T21:37:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw afd0480d3f88012ef062ac82c67a995d6bfc5080,"Tidy up README, reducing duplication with docs Refs #451",2019-05-19T21:31:03Z,2019-05-19T21:31:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 17243fc35546fefbdba7bf7f3bc6ab13b06e39e3,Release notes for 0.28 - closes #463,2019-05-19T21:24:12Z,2019-05-19T21:24:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a9d138702c5b4d1d5d9402272b030c3c3d945593,"Docs for facet-by-JSON-array, closes #477",2019-05-19T21:19:35Z,2019-05-19T21:19:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f4eefdf19330bcd2e6867875a93a948c96912213,Do not allow downloads of mutable databases - closes #474,2019-05-19T20:41:09Z,2019-05-19T20:41:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 88976d6cd6e0f4809023149ce9f75a62975c9beb,"Source, license and about docs - closes #475",2019-05-19T20:13:27Z,2019-05-19T20:13:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 503fee891b81dfe10f4ecd7b6c3a1dca0eb0432b,"Removed 'datasette skeleton', closes #476",2019-05-19T20:05:38Z,2019-05-19T20:05:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 260085838887ee343f4d3b177c422e7aef5ade9d,Fixed some links,2019-05-19T18:17:35Z,2019-05-19T18:17:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 870f6dd55fc5e7bc2f9db4ab22f90b7a734e402a,Replaced a straggling 'datasette publish now' reference,2019-05-19T18:12:53Z,2019-05-19T18:12:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7d8573d6724a13d5003e48d75682323ee1e55692,"Rename ""datasette publish now"" to ""datasette publish nowv1"" Also added an alias so ""datasette publish now"" continues to work. Closes #472",2019-05-19T18:06:51Z,2019-05-19T18:06:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 81ba98a5096e3cded20966b816df6eebfce76f26,"New performance documentation, closes #421",2019-05-19T05:31:03Z,2019-05-19T05:31:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw db9dbfb816e1e9e4a0845884035eeaeb3110668e,"?_hash=1 no longer respected for mutable databases Closes #471, refs #419",2019-05-16T15:10:25Z,2019-05-16T15:10:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cccea85be6aaaeadb31f3b588ec7f732628815f5,"/-/databases sorts alphabetically Should fix test failure in Python 3.5",2019-05-16T14:56:13Z,2019-05-16T14:56:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0dad111d24856ee6012850dac19929a48dc0a59f,"New introspection endpoint: /-/databases - closes #470 Refs #419 and #465",2019-05-16T14:49:34Z,2019-05-16T14:49:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 21b57cdf9a4ede0f9444f15a3bd182be3b06f2c0,"serve --inspect-file=X now populates cached table counts Closes #462",2019-05-16T14:30:32Z,2019-05-16T14:30:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 909e66dfdb9b43eed718004eba903497bc67b25a,"Removed .inspect() and /-/inspect.json Refs #462 /-/inspect.json may return in some shape in #465",2019-05-16T14:14:10Z,2019-05-16T14:15:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 19370267666164ebf7e46aeb284a343f34bc03bd,Removed accidental R,2019-05-16T13:27:08Z,2019-05-16T13:27:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow f31b9fe5ca3363ec56a44cb4e29c8b531e562067,Another link to Glitch,2019-05-16T13:26:46Z,2019-05-16T13:26:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 7c79eb974b3bd4fff2bf23c00d0c17958b5b7567,It's 2019 now,2019-05-16T10:20:08Z,2019-05-16T10:20:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow a4645944752e713ff4acf946c1ee824be2e30963,Added inline contents for installation page,2019-05-16T10:15:03Z,2019-05-16T10:15:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow a88b599cce14cb10226c846ea93438e80b3b7911,Improved introduction copy on Plugins docs page,2019-05-16T05:18:02Z,2019-05-16T05:18:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 725b5b6a69f7fad9355524948942c632f8411d5b,Re-ordered documentation index page,2019-05-16T05:14:33Z,2019-05-16T05:14:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 12350e8b8a5e55f0fba14bb37ca725d751056c92,Fixed broken link to global-power-plants demo,2019-05-16T05:12:36Z,2019-05-16T05:12:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8461b930d5d4d3a282289b6663b252037ebd45d3,Wording tweaks,2019-05-16T05:09:06Z,2019-05-16T05:09:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8d639dd0966888aacd56cc6fc4b03a6851dd06df,Docs on how to use sphinx-autobuild,2019-05-16T05:03:37Z,2019-05-16T05:03:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 623c552ff4e2eda9cc710063a7cc674aa49264f4,"'Try Datasette without installing anything using Glitch' Also new 'Play with a live demo' section, both at the top of the Getting Started documentation page. https://datasette.readthedocs.io/en/latest/getting_started.html Closes #464",2019-05-16T04:57:26Z,2019-05-16T04:57:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 666c37415a898949fae0437099d62a35b1e9c430,"publish heroku now uses Python 3.6.8 Also refactored temporary_heroku_directory out of utils.py",2019-05-16T04:32:23Z,2019-05-16T04:32:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2ad9d15cd6901654e6801e2faa29e6fc08bae5fa,"Table counts now handles SQL Logic Error too I tried running Datasette against 22 database files at once and ran into a weird error where the table counts broke with an SQL Logic Error exception. Easy fix: catch that exception too and treat it the same as a regular Interrupted error.",2019-05-16T03:55:28Z,2019-05-16T03:55:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b7fe722f0541c8c026e93dc59cfcff6c6201ddfd,Removed rogue print(),2019-05-16T03:25:51Z,2019-05-16T03:25:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw faf33515b2e6ef8b891e7c9693c66aba2a77dc54,"Sometimes sort tables by number of relationships, closes #460",2019-05-16T03:23:33Z,2019-05-16T03:23:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 689cf9c139f57d6a3fd61e0c62fe66c793f234ae,"Index page only shows row counts for smaller databases The index page now only shows row counts for immutable databases OR for databases with less than 30 tables provided it could get a count for each of those tables in less than 10ms. Closes #467, Refs #460",2019-05-16T03:02:33Z,2019-05-16T03:02:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 79303163b249829182f2e8d8c2d45e4526aa174f,"Row count fix + sort index page databases alphabetically Sorting alphabetically should fix a test failure in Python 3.5 Refs #460",2019-05-16T00:40:10Z,2019-05-16T00:40:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5d6b2c30f15c36bcf49906acda7f15ec6232c984,"Include views on homepage, fix table counts If we have less than 5 tables we now also show one or more views in the summary on the homepage. Also corrected the logic for the row counts - we now count hidden and visible tables separately. Closes #373, Refs #460",2019-05-16T00:28:07Z,2019-05-16T00:28:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e04511410f57e88c806455b9182a853bf07122a2,"Don't show hidden tables on index page, closes #455 Refs #460. Also bulked out HTML index page unit tests.",2019-05-14T15:46:57Z,2019-05-14T15:46:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 24bf79d2f01f373eafcb41eaa1279a13711eff25,"Run sanity checks, not .inspect(), on startup Also fixes tests that did NOT like a call to run_until_complete in the Datasette() constructor.",2019-05-11T23:22:55Z,2019-05-11T23:22:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw da0b3ce2b76227f1cd0cfdd3df361712c17ddcd0,"New run_sanity_checks mechanism, for SpatiLite Moved VirtualSpatialIndex check into a new mechanism that should allow us to add further sanity checks in the future. To test this I've had to commit a binary sample SpatiaLite database to the repository. I included a build script for creating that database. Closes #466",2019-05-11T22:55:30Z,2019-05-11T22:55:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c692cd291111050483a32bea1ee08e994a0b781b,Fix test ordering,2019-05-11T22:03:52Z,2019-05-11T22:03:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a187c81e0caf92ed52a380f262b6b5eabb399897,Black + fix broken test,2019-05-11T21:45:59Z,2019-05-11T21:45:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c0d1b4c32297453adaa4c159edee9be0a9617f2b,"""datasette inspect foo.db"" now just calculates table counts Refs #462 * inspect command now just outputs table counts * test_inspect.py is now only tests for that CLI command * Updated some relevant documentation * Removed docs for /-/inspect since that is about to change",2019-05-11T21:36:57Z,2019-05-11T21:36:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ce09e5d2d392634eced44c3c8d603d7c628e2822,Fixed tests relating to #459,2019-05-11T20:58:22Z,2019-05-11T20:58:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 05cabaebd99b4aa388096de0a03fb52d08f6c117,"Pass --token to now alias, refs #459",2019-05-11T20:35:34Z,2019-05-11T20:35:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 09ef305c687399384fe38487c075e8669682deb4,"Fixed ""datasette publish now ... --alias=x"" The --alias argument can now be passed more than once. Also updated our Travis configuration to use this. Fixes #459",2019-05-11T20:20:36Z,2019-05-11T20:20:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a0d444837f6ce3fdaf6b0664605f74dd4a7f8215,"Finished implementation of ?_trace=1 debug tool I redesigned the JSON output and added a handy ""traceback"" key showing three relevant lines of the current traceback for each logged query. Closes #435",2019-05-11T19:06:22Z,2019-05-11T19:06:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 37adf3229038137de82a4e7331075212e7e94367,Changelog for 0.27.1,2019-05-11T18:34:13Z,2019-05-11T18:34:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e7b31ae8c1a28cab9db8e165b3f21407c2e581e6,"Use now --target production instead of now alias Fix for this error: $ now alias --token=$NOW_TOKEN > WARN! The `now alias` command (no arguments) was deprecated in favour of `now --target production`. > Error! Couldn't find a deployment to alias. Please provide one as an argument. The command ""now alias --token=$NOW_TOKEN"" exited with 1. https://travis-ci.org/simonw/datasette/jobs/530597261",2019-05-11T17:06:23Z,2019-05-11T17:06:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow de005b9b7d3db72375e6b8b048d1616a98e6347a,Fixed 500 error on homepage,2019-05-10T03:58:19Z,2019-05-10T05:28:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ad789eaaea069046d3b293d2c650a60acd72ced7,Added some things to .gitignore,2019-05-10T03:54:44Z,2019-05-10T05:28:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9f8d9fe262866ff3463f8e61214dcc6897bd5a9c,setup: add tests to package exclusion (#458),2019-05-10T01:54:50Z,2019-05-10T01:54:50Z,5e571aa122bb7440d7e40e22fd627b3fbbf12c38,Veit Heller,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,7725188,hellerve,9599,simonw f825e2012109247fa246e2b938f8174069e574f1,Run black and update docs for #457,2019-05-09T16:47:58Z,2019-05-09T16:48:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b80b03ac9a9b8fc676ae17570b32f5439545198e,"datasette publish cloudrun --service=x, closes #457",2019-05-09T16:45:01Z,2019-05-09T16:45:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bfa2ae0d16d39bb82dbe4da4f3fdc3c7f6257418,"Promote Glitch instead of Datasette Publish Datasette Publish is currently broken due to Zeit API and platform changes.",2019-05-09T00:02:47Z,2019-05-09T00:02:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 2db977d8f30e0eb8b7cda1481a4a8852b414915d,"tests/fixtures.py can now write out plugins too This command: python tests/fixtures.py \ fixtures.db \ metadata.json \ fixtures-plugins/ Will now create the fixtures.db and metadata.json files, AND create a folder called fixtures-plugins/ containing two test plugins. You can then run it like this: datasette fixtures.db \ -m metadata.json --plugins-dir=fixtures-plugins/",2019-05-06T02:50:33Z,2019-05-09T16:44:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9fdb47ca952b93b7b60adddb965ea6642b1ff523,"New encode/decode_path_component functions ASGI cannot differentiate between / and %2F in a URL, so we need an alternative scheme for encoding the names of tables that contain special characters such as / For background, see https://github.com/django/asgiref/issues/51#issuecomment-450603464 Some examples: ""table/and/slashes"" => ""tableU+002FandU+002Fslashes"" ""~table"" => ""U+007Etable"" ""+bobcats!"" => ""U+002Bbobcats!"" ""U+007Etable"" => ""UU+002B007Etable""",2019-05-05T22:36:04Z,2019-05-09T16:44:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ec2db345e9465ee4ce3880dc62dcd453e66bcbca,Fixed crash on /:memory: page,2019-05-05T18:01:14Z,2019-05-05T18:01:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9617e92aa819ec7d7f09b9e44656ebba90c67f67,"Removed pointless return variable handle_request() always returns None anyway.",2019-05-05T17:58:35Z,2019-05-05T17:58:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 831515b834b1bf465a5c64e69ce505d22f75b35b,"Respect --cors for error pages, closes #453",2019-05-05T11:59:45Z,2019-05-05T12:12:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 55643430f7ac8d27e99b00e7cf79db741003e811,Added Code style: black badge,2019-05-04T02:21:21Z,2019-05-04T02:21:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 35d6ee2790e41e96f243c1ff58be0c9c0519a8ce,"Apply black to everything, enforce via unit tests (#449) I've run the black code formatting tool against everything: black tests datasette setup.py I also added a new unit test, in tests/test_black.py, which will fail if the code does not conform to black's exacting standards. This unit test only runs on Python 3.6 or higher, because black itself doesn't run on 3.5.",2019-05-04T02:15:14Z,2019-05-04T02:15:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 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,Jaap Roes,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,48517,jaap3,9599,simonw 93c65d29ba372fa2262a641c0fecb7a071d998d6,Fixed 500 error on /-/metadata page,2019-05-03T20:40:24Z,2019-05-03T20:42:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f853d5592ec7f901a50381de22a26a9ab098f885,"""python3 -m pip"" is clearer (thanks @jaap3) (#368)",2019-05-03T18:18:42Z,2019-05-03T18:18:42Z,93b11f15fd4dc15002baf3d9160dc6eb928bd883,Jaap Roes,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,48517,jaap3,9599,simonw 553314dcd699a84aa7cc806377150ca0d57a6024,Use dist: xenial and python: 3.7 on Travis (#447),2019-05-03T18:16:52Z,2019-05-03T18:16:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 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,Russ Garrett,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,45057,russss,9599,simonw 01b3de5b66742f0f661183e9e2ef66be3600e831,"Unit test for binary data display, refs #442",2019-05-03T16:43:59Z,2019-05-03T16:45:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bade9daeb234e35e216adfe5f6d99f489892b2f8,"Docs for 'datasette publish cloudrun', refs #434",2019-05-03T16:16:35Z,2019-05-03T16:16:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 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,Romain Primet,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,10352819,rprimet,9599,simonw 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,Russ Garrett,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,45057,russss,9599,simonw 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,Russ Garrett,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,45057,russss,9599,simonw 53d2f00b732488e0204332da181fc256aa00f41c,"Implemented ArrayFacet, closes #359",2019-05-03T00:21:27Z,2019-05-03T00:21:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ea66c45df96479ef66a89caa71fff1a97a862646,"Extract facet code out into a new plugin hook, closes #427 (#445) Datasette previously only supported one type of faceting: exact column value counting. With this change, faceting logic is extracted out into one or more separate classes which can implement other patterns of faceting - this is discussed in #427, but potential upcoming facet types include facet-by-date, facet-by-JSON-array, facet-by-many-2-many and more. A new plugin hook, register_facet_classes, can be used by plugins to add in additional facet classes. Each class must implement two methods: suggest(), which scans columns in the table to decide if they might be worth suggesting for faceting, and facet_results(), which executes the facet operation and returns results ready to be displayed in the UI.",2019-05-03T00:11:26Z,2019-05-03T00:11:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow efc93b8ab5a21e3802f75f08d5e41409f5684b5d,"Entirely removed table_rows_count table property We were not displaying this anywhere, and it is now expensive to calculate. Refs #419, #420",2019-05-02T05:29:47Z,2019-05-02T05:29:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3651eedf20b86ad30f510bf762fb25790bb3560c,"Show 'many rows' if count times out, refs #420",2019-05-02T05:20:24Z,2019-05-02T05:20:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ad9de774f75ba41f2a627a9d2cecd61050bac901,"Added missing file, refs #438",2019-05-02T05:10:23Z,2019-05-02T05:10:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f553a670216960043ec7e62ff35d42db78903ff0,"Don't load setuptools plugins during test runs Uses pattern from https://docs.pytest.org/en/latest/example/simple.html#detect-if-running-from-within-a-pytest-run Closes #438",2019-05-02T05:09:03Z,2019-05-02T05:09:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 033cf0bcbbcadd0256d0c43fb7b9d3053727b4fe,"DatabaseView no longer uses .inspect(), closes #420",2019-05-02T01:12:58Z,2019-05-02T01:13:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 50d2d1aac985f440b36e6847e3ddacb4a6bf4d4b,Fixed bug where metadata.json hidden tables were ignored,2019-05-02T00:54:48Z,2019-05-02T00:54:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e7151ccccf4a0d10e1fcf3832e18c5199c16dea0,"Index page no longer uses inspect data - refs #420 Also introduced a mechanism whereby table counts are calculated against a time limit but immutable databases have their table counts calculated on server startup.",2019-05-02T00:39:39Z,2019-05-02T00:39:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 669fa21a71c9920923df0f64907c095c0e7d889f,Include request duration in traces,2019-05-01T23:16:15Z,2019-05-01T23:27:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 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,Russ Garrett,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,45057,russss,9599,simonw bac4e01f40ae7bd19d1eab1fb9349452c18de8f5,"Ensure sqlite_timelimit correctly clears handler If an error occurred inside the block the progress handler (used to enforce a time limit) was not being correctly cleared, resulting in timeout errors potentially occurring during subsequent SQL queries. The fix is described here: https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager",2019-04-21T19:02:24Z,2019-04-21T19:02:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 11b352b4d52fd02a422776edebb14f12e4994d3b,"Fix for Python 3.5, refs #435",2019-04-21T18:20:20Z,2019-04-21T18:20:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9d73e3c8bd5f3aae24a75b62c420de166992b30c,"Note that trace data format is very likely to change, refs #435",2019-04-21T17:53:28Z,2019-04-21T17:53:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e4e73a537add40b92a02e55af004b0d26a3ccdce,"Test for ?_trace=1, refs #435",2019-04-21T17:46:56Z,2019-04-21T17:46:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 58a862cee4a065d463da0a08b87134efb6b6e18d,"?_trace=1 now adds SQL trace info to JSON/HTML response Also added documentation for it. Refs #435",2019-04-21T17:41:16Z,2019-04-21T17:41:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7d01ca34a10b5f8a993859cfd05790eb2870b94e,"Added ?_trace=1 option to trace SQL Currently just dumps all SQL statements out on the console.",2019-04-21T05:28:15Z,2019-04-21T05:34:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 31f36e1b97ccc3f4387c80698d018a69798b6228,"Added some guidelines Mainly to remind me that master needs to be releasable at all times!",2019-04-20T18:32:40Z,2019-04-20T18:32:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 2b11948d7c5f4548325c941d92eaf428852a19d8,"New ConnectedDatabase.mtime_ns property I plan to use this for some clever table count caching tricks",2019-04-20T17:50:45Z,2019-04-20T17:50:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9c77e6e355ec718d76178a7607721d10a66b6aef,"Support multiple filters of the same type Closes #288",2019-04-15T23:44:17Z,2019-04-15T23:44:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 583b22aa28e26c318de0189312350ab2688c90b1,New ?column__date=yyyy-mm-dd filter,2019-04-15T22:54:54Z,2019-04-15T22:54:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1c6649b19b09ea018d91a86db9c019a940fe36fc,"New colname__in=x,y,z filter, closes #433",2019-04-15T22:42:28Z,2019-04-15T22:43:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2c19a27d15a913e5f3dd443f04067169a6f24634,"Documentation for filters, plus new documentation unit test https://simonwillison.net/2018/Jul/28/documentation-unit-tests/",2019-04-15T22:41:11Z,2019-04-15T22:41:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6da567dda953c7ac0e5500f17d8e220467a3499e,"Extract and refactor filters into filters.py This will help in implementing __in as a filter, refs #433",2019-04-15T21:51:20Z,2019-04-15T21:51:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9dc7a1824be0a876b8f54e0edd4467d9a357e0cb,Slightly more interesting example link,2019-04-13T22:49:07Z,2019-04-13T22:49:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow d4bfb8461c68ba2912f6d01fe159ce186a9040c6,Removed accidental extra default plugins module,2019-04-13T19:33:23Z,2019-04-13T19:33:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d1075b8259b06e6002aaecc9a1167a4db9b2c2f4,Cleaned up pylint warnings,2019-04-13T19:20:10Z,2019-04-13T19:20:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 13ee3c222f8ee967a2f716cca11bee4ea51fea46,Moved BaseView.absolute_url() to Datasette,2019-04-13T19:16:05Z,2019-04-13T19:16:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 274ef43bb7b129ddc2e68805b4f4ff3776fb9503,Moved expand_foreign_keys() from TableView to Datasette,2019-04-13T18:48:00Z,2019-04-13T18:48:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f2c767c2221b06c0fb4962cfa430e038359019d3,Fixed broken link in documentation,2019-04-13T01:56:51Z,2019-04-13T01:57:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bc6a9b45646610f362b4287bc4110440991aa4d6,"?_where= parameter on table views, closes #429 From pull request #430",2019-04-13T01:37:22Z,2019-04-13T01:37:22Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow e11cb4c66442abca2a6b6159521a6cf4da8739c1,"Persist show/hide state better, closes #425",2019-04-12T05:00:47Z,2019-04-12T05:00:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw db74cf0144df3e2a017c40a3a36ff5e1a78d7e92,"?_fts_table= and ?_fts_pk= arguments, closes #428",2019-04-12T04:21:17Z,2019-04-12T04:21:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9cd3b44277e6a8ea9273bf659379ff0414e0b8ae,Upgrade to Jinja2==2.10.1 (#426),2019-04-10T23:13:30Z,2019-04-10T23:13:30Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 78e45ead4d771007c57b307edf8fc920101f8733,"New ?tags__arraycontains=tag lookup against JSON fields Part one of supporting facet-by-JSON-array, refs #359",2019-04-10T15:17:19Z,2019-04-10T15:27:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3a208a41d4dce35b97eca8b25f37055c3fda5aed,"TableView.data() no longer uses .inspect, refs #420 BUT... it does a count(*) against the whole table which may take unbounded time. Fixing this is part of #422",2019-04-07T03:47:10Z,2019-04-07T03:47:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 36bd6558b00be027bb4b7dba0c8d200da0ca95df,"expandable_columns() no longer uses inspect, refs #420",2019-04-07T03:46:08Z,2019-04-07T03:46:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw db02311ebf3711309b231d007967bcf8b026a026,"foreign_key_tables no longer uses inspect, refs #420",2019-04-07T03:23:30Z,2019-04-07T03:23:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f23120a9641e521d669788e9938fb3cf2754d710,RowView.data() no longer uses inspect refs #420,2019-04-07T03:17:47Z,2019-04-07T03:17:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c882e9262f64e0fc7c2fc89c611bdb768c069af7,"display_columns_and_rows() no longer uses inspect, refs #420",2019-04-07T03:11:08Z,2019-04-07T03:11:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 53bf875483d98861314db3a0cdcec8f5ce22ee96,"expand_foreign_keys() no longer uses inspect, refs #420",2019-04-07T02:56:07Z,2019-04-07T02:56:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 97331f3435ba1583a0f9dbcaffc25de8894cf1f8,"sortable_columns_for_table() no longer uses inspect() Refs #420",2019-04-07T01:58:51Z,2019-04-07T01:58:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d8851e0011f256ce52775aa776e0e4323db50c8e,Removed rogue print(),2019-04-07T01:54:51Z,2019-04-07T01:54:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 468c6fd9532f08859c77ae670307fd5f4c6632f5,"DatabaseDownload no longer uses .inspect(), refs #420",2019-04-01T02:04:17Z,2019-04-01T02:04:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 29a3896fe1e09d5c35a90d55690c9f71fae81e24,".database_url(database) no longer needs inspect, refs #420",2019-03-31T23:55:38Z,2019-03-31T23:55:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7d0f668556b6d9a6c3d70a7b8a07a542857bbb56,".resolve_db_name() and .execute() work without inspect Refs #420",2019-03-31T23:51:52Z,2019-03-31T23:51:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0209a0a344503157351e625f0629b686961763c9,"table_exists() now uses async SQL, refs #420",2019-03-31T18:02:22Z,2019-03-31T18:02:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 82fec6048148b58748040a7e2caa163387e982a3,"Fix for TypeError File ""../datasette/app.py"", line 138, in __init__ self.files = files + immutables TypeError: can only concatenate tuple (not ""list"") to tuple",2019-03-17T23:36:35Z,2019-03-17T23:36:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 47032636b55718dd711670f19b753f4ada9e8f2f,"'datasette serve -i immutable.db' option, refs #419",2019-03-17T23:25:15Z,2019-03-17T23:25:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6f6d0ff2b41f1cacaf42287b1b230b646bcba9ee,"URL hashing is now off by default - closes #418 Prior to this commit Datasette would calculate the content hash of every database and redirect to a URL containing that hash, like so: https://v0-27.datasette.io/fixtures => https://v0-27.datasette.io/fixtures-dd88475 This assumed that all databases were opened in immutable mode and were not expected to change. This will be changing as a result of #419 - so this commit takes the first step in implementing that change by changing this default behaviour. Datasette will now only redirect hash-free URLs under two circumstances: * The new `hash_urls` config option is set to true (it defaults to false). * The user passes `?_hash=1` in the URL",2019-03-17T22:55:04Z,2019-03-17T22:55:04Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow afe9aa3ae03c485c5d6652741438d09445a486c1,"show/hide link for SQL on custom query page Closes #415",2019-03-15T05:22:24Z,2019-03-15T05:22:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9e8c36793bfbb17c2f67371cc7f9aa8b9202fdc4,"Update spatialite.rst (#413) a line of sql added to create the idx_ in the python recipe",2019-03-15T05:06:45Z,2019-03-15T05:06:45Z,41e868c44ebf155cd4e69182c407f1d278d635ce,joelondon,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,28597217,joelondon,9599,simonw 285566790879b31d2fdd2a8c6f56825162eb71b9,Fix for test failure with Click 7.0,2019-03-15T05:00:13Z,2019-03-15T05:00:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b3e739332624c2d4f2668a105afd727af774100b,"Allow more recent versions of Click Closes #414",2019-03-15T04:41:43Z,2019-03-15T04:41:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9743e1d91b5f0a2b3c1c0bd6ffce8739341f43c4,"Support for :memory: databases If you start Datasette with no files, it will connect to :memory: instead. When starting it with files you can add --memory to also get a :memory: database.",2019-03-14T23:42:38Z,2019-03-15T03:54:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bf6b0f918de4aeee7c1036ac975ce2fb23237da7,about and about_url metadata options,2019-03-10T21:37:11Z,2019-03-15T03:54:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 41744d76908bbef0edc038a5050a709cdd26e529,Added datasette-jellyfish,2019-03-09T18:43:12Z,2019-03-09T18:43:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 4147c388cbb9b14d137dd5229ae3f574ee6a25fe,Link to sqlite-utils blog entry,2019-03-08T04:30:21Z,2019-03-08T04:30:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 5b3af3d015a6048a3977234bf46d20905ce720c0,Added sqlite-utils blog entry to news section,2019-02-25T03:47:11Z,2019-02-25T03:47:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 0b1af42ead3b3902347951180b3364ce1942da6e,Link to my blog entry,2019-02-25T03:45:38Z,2019-02-25T03:45:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 05317f53411fab3c3d66b88408bc867f2e474a35,Release 0.14,2019-02-24T23:11:51Z,2019-02-24T23:11:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 3cab079d3e45aa3468e9f7317680ded6438f3955,"add-column col_type now optional, defaults to str",2019-02-24T22:24:00Z,2019-02-24T22:24:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 557dc3f9a7b622c45c73fd791cfe0a786f9a1de0,"Improved foreign_keys= argument, closes #17",2019-02-24T22:12:45Z,2019-02-24T22:12:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f8d3b7cfe5c1950b0749d40eb2640df50b52f651,"sqlite-utils add-foreign-key books.db books author_id authors id Command for adding foreign keys to existing tables. Closes #2",2019-02-24T21:33:45Z,2019-02-24T21:33:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e1ca938aa1c84367fd9d4786b9709c56f3e6e778,"table.add_foreign_key(column, other_table, other_column) New mechanism for adding foreign key constraints to an existing SQLite table. SQLite ALTER TABLE does not support this out-of-the-box, so I instead had to write some careful code that uses PRAGMA writable_schema = 1 to directly modify the sqlite_master table. Refs #2",2019-02-24T21:10:51Z,2019-02-24T21:10:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 9756310408c7e5fa1ca257573e46aa13c2041c24,Black,2019-02-24T20:59:46Z,2019-02-24T20:59:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 33df260b38e1b0f179cdb849fc4e3e9c76e57f3a,Fix for CLI test,2019-02-24T20:12:59Z,2019-02-24T20:12:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0bc49e938e1e3444df734f9178a9a317f68f9716,"'sqlite-utils add-column name type' command, closes #15",2019-02-24T20:04:33Z,2019-02-24T20:04:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 05a85b358fb907d8fcb72f19390ee2ba5a2261a5,Don't assume -1 for error code,2019-02-24T19:50:56Z,2019-02-24T19:50:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 6d25f648ed708b8dd78cbb0af5e356d16859625f,"add_column now accepts explicit SQLite types, refs #15",2019-02-24T19:49:24Z,2019-02-24T19:49:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw c5286d2c66b8c187002f9ad8991a6665b2b092f9,Black formatting,2019-02-24T19:40:58Z,2019-02-24T19:40:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw dc2560879ed32136d64707a031b62b2870809892,"table.add_column(name, type) method, refs #15",2019-02-24T19:40:26Z,2019-02-24T19:40:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 8a5d0d80c37008f30953110d58f474aac2728ee3,"sqlite-utils create-index command, closes #14",2019-02-24T19:11:21Z,2019-02-24T19:11:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7784b924a179ee213f52693276ab7b68d6549b51,"Added create_index(..., if_not_exists=True), refs #14",2019-02-24T18:46:44Z,2019-02-24T18:46:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0c6745b70f95663f8ddf4309c578bd568eca75ec,Whitespace fix,2019-02-24T18:42:27Z,2019-02-24T18:42:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e7ffbcdb364810213b0697c9bcab064efb1dd469,"Ability to create unique indexes, refs #14",2019-02-24T18:41:51Z,2019-02-24T18:41:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 1b6025e8ab5cef6a6f2550cc3be1f80b12cc64a1,Release 0.13,2019-02-24T06:54:43Z,2019-02-24T06:54:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 10e3aab4c63bc02cacd64e7aa1e5eaff2b314b3e,Fixed typo with last_pk,2019-02-24T06:49:54Z,2019-02-24T06:49:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 6c3f5e647934413dfc46a218f1540a1cab31e52e,Added --table and --fmt options for table output using tabulate,2019-02-24T06:45:17Z,2019-02-24T06:45:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw dbf239e3fc8af00ef43ec578fb195dfe604a99fe,"hash_id= mechanism for setting ID using content hash, closes #13",2019-02-24T04:36:40Z,2019-02-24T04:36:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e615d22c5564ea1f32abb086088b2700110be10a,"Support for numpy types, closes #11 (#12)",2019-02-24T04:02:19Z,2019-02-24T04:02:19Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow c5068a0972651b3e359ebc2d6c1486b8b7d2c242,:pencil: Updates my_database.py to my_database.db (#9),2019-02-24T03:55:04Z,2019-02-24T03:55:04Z,207bb2132044fa5a4fe28a579f7588c2eee6e391,Jeff Triplett,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,50527,jefftriplett,9599,simonw ca225b02c00c921af2d5777b9a05e96dd4947c30,Prettier indentation for CREATE TABLE,2019-02-23T20:51:35Z,2019-02-23T20:52:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 919415e4e933662f15fe224439fca52e0c2fba08,Added LICENSE file,2019-02-23T17:16:57Z,2019-02-23T17:16:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 463fd3c3f66691532022f14ad446f9b782d2273c,Bump copyright year,2019-02-23T06:08:14Z,2019-02-23T06:08:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 1ffa40301de5bb960e89114de0f5199850a9ed9d,Releasing 0.12,2019-02-23T02:22:28Z,2019-02-23T02:22:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e3c0ed1b1a4f4dd3eeed50d80ca3bd9e9b8c43c9,"sqlite-utils tables now takes --counts, --columns, --csv, --nl",2019-02-23T02:12:53Z,2019-02-23T02:12:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 11a9511d23ba79e7c8c92bc90ec29ba7f22e3eb7,Updated README to reflect new query default subcommand,2019-02-23T01:53:48Z,2019-02-23T01:53:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw c7dbb03a104c2429d008a1038d6d128b1f820027,Added 'sqlite-utils rows db.db tablename' command,2019-02-23T01:52:17Z,2019-02-23T01:52:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f2ca48c0dad373abe307536a96af24f73934ed7d,"Default command now executes queries, --csv or --json I replaced the following commands: sqlite-utils json db.db ""select * from table"" sqlite-utils csv db.db ""select * from table"" With a unified 'query' command, which is now set as the default: sqlite-utils db.db ""select * from table"" sqlite-utils db.db ""select * from table"" --csv",2019-02-23T01:40:21Z,2019-02-23T01:40:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 3095f2e6715380f5381b9bb7176d109e643cc0f8,Added db[table].rows iterator,2019-02-22T05:29:50Z,2019-02-22T05:29:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 62e1edeaf600f45a59fde432f1bde2bcc4e1ee7b,[] escaping for FTS columns,2019-02-22T04:17:58Z,2019-02-22T04:17:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 1f91065b20cbc691f464bccfd8eef7d1ce4b14a8,"Added socrata2sql to the ecosystem page A fantastic new tool created by @achavez at the Dallas Morning News.",2019-02-08T16:06:10Z,2019-02-08T16:06:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow d5d39da12b26c06a426e97872bce4e94248db42d,Expanded section on db-to-sqlite,2019-02-08T06:23:27Z,2019-02-08T06:23:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow fd1b6eb82d092c60edcc38fcb363290dc6c6dfff,Help text for enable-fts and populate-fts,2019-02-08T05:25:26Z,2019-02-08T05:25:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw c89b2df91822318266ae4020c6ccbd06fefb48f7,Fixed documentation typo,2019-02-08T05:23:50Z,2019-02-08T05:23:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 6acfd456b0223da6cbac7719d793a9d69472bc0d,Releasing 0.11,2019-02-08T05:22:13Z,2019-02-08T05:22:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 3f8ef35b2abfc64b32e254a849f2f7caff969c3b,enable-fts and populate-fts CLI commands,2019-02-08T05:18:24Z,2019-02-08T05:18:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw ac9311aaf5e598d493e60d63adca26018684c678,Refactored insert and upsert to share the same options,2019-02-07T05:50:25Z,2019-02-07T05:50:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7c09a2e994dd36711207dcd9aa91a4be450551ab,Release 0.10,2019-02-07T05:16:35Z,2019-02-07T05:17:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7aab60d8764bd8ef6e834578e8de94c2fcb0ceb9,Handle datetime.date and datetime.time,2019-02-07T05:15:08Z,2019-02-07T05:15:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 4462a5ab2817ac0d9ffe20dafbbf27c5c5b81466,"Show size of database file next to download link, closes #172",2019-02-06T04:53:44Z,2019-02-06T04:58:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 195a5b36349d0d24a6bbb758cebb719b6de303b6,"Heroku --include-vcs-ignore (#407) Means `datasette publish heroku` can work under Travis, unlike this failure: https://travis-ci.org/simonw/fivethirtyeight-datasette/builds/488047550 ``` 2.25s$ datasette publish heroku fivethirtyeight.db -m metadata.json -n fivethirtyeight-datasette tar: unrecognized option '--exclude-vcs-ignores' Try 'tar --help' or 'tar --usage' for more information. ▸ Command failed: tar cz -C /tmp/tmpuaxm7i8f --exclude-vcs-ignores --exclude ▸ .git --exclude .gitmodules . > ▸ /tmp/f49440e0-1bf3-4d3f-9eb0-fbc2967d1fd4.tar.gz ▸ tar: unrecognized option '--exclude-vcs-ignores' ▸ Try 'tar --help' or 'tar --usage' for more information. ▸ The command ""datasette publish heroku fivethirtyeight.db -m metadata.json -n fivethirtyeight-datasette"" exited with 0. ``` The fix for that issue is to call the heroku command like this: heroku builds:create -a app_name --include-vcs-ignore",2019-02-06T04:15:46Z,2019-02-06T04:15:46Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 436b8bc1d17c2ab415800ab209204f94e7f7929e,Datasette 0.27,2019-02-01T03:47:05Z,2019-02-01T03:47:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b944bcd0f0e0914a9f308945faffed88ad6c3b4c,"Added documentation on the Datasette Ecosystem https://datasette.readthedocs.io/en/latest/ecosystem.html",2019-02-01T03:36:07Z,2019-02-01T03:36:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 441c131db5cc68e197db19f0623ff8a96c90c3ff,Better --help text for insert command,2019-01-29T15:40:34Z,2019-01-29T15:40:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 1843d55615fa1bdce7d06919965c40acf22b05bb,"@cli.command(name=""csv"") instead of import csv as csv_std",2019-01-29T15:37:01Z,2019-01-29T15:37:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 82f0f6076ab5042faf870339dc49a570133e1d2a,"sqlite-utils insert db.db foo - --csv New option for efficiently inserting rows from a CSV. Uses a generator so this will happily consume enormous CSV files without needing to slurp the whole thing into memory first.",2019-01-29T15:28:12Z,2019-01-29T15:28:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 79a0f9cc96788f615810dced89f79b8e3ccc51ed,Releasing 0.9,2019-01-28T06:34:33Z,2019-01-28T06:34:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 50589f8523751191559e8d812c2ee0889da06e50,"CLI insert tool now uses generators, closes #7 Also cleaned up the logic so we commit rows in batches too.",2019-01-28T06:26:45Z,2019-01-28T06:26:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f0afa5646b596885a9c030f00596d9228ad23994,"insert_all() now accepts generator, closes #7",2019-01-28T06:12:18Z,2019-01-28T06:12:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 225cf7299f0a9ef7c37caac656a8e0d8731c6cad,Docs example chaining --nl together,2019-01-28T02:28:02Z,2019-01-28T02:28:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw a22607699400468aa9c50faa47d0058663d80741,Fixed RST bug,2019-01-28T02:18:55Z,2019-01-28T02:18:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 5309c5c7755818323a0f5353bad0de98ecc866be,"sqlite-utils insert ... --nl option, closes #6",2019-01-28T02:17:38Z,2019-01-28T02:17:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw b5dd83981a7dbff571284d4d90a950c740245b05,Export option: _shape=array&_nl=on for newline-delimited JSON,2019-01-28T01:40:23Z,2019-01-28T01:40:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 57fc8ce55ecbecd7af60281404cb10573be36c98,Database() constructor works with pathlib.Path,2019-01-27T23:53:41Z,2019-01-27T23:53:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 909cc8fbdfc9c05e447f40e9a73489809602c3cd,New 'datasette plugins' command to list installed plugins,2019-01-26T20:01:16Z,2019-01-26T20:01:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3f2e711a4bb59c868abd03d8b95c53617cef7740,"Refactored to use itertools Found an itertools mechanism that works for iterating through the current and next row in the cursor.",2019-01-26T18:58:45Z,2019-01-26T18:59:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw ea17c63cc52cf7290e8bbcba9f869698c2c2ea44,Tests for json returning single row,2019-01-26T18:58:00Z,2019-01-26T18:59:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 3a944d0c077c203277f13dd69387eb84b5c88d3e,Run Travis tests against Python 3.8-dev (#5),2019-01-26T02:37:54Z,2019-01-26T02:37:54Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 9a4d1ff0a268c7df7839389acd92d48752d24b95,Releasing 0.8.1 (just a better README),2019-01-26T02:22:18Z,2019-01-26T02:22:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 20a744fb5a75425b048951ad8826c594af8102ed,More detailed README,2019-01-26T02:21:55Z,2019-01-26T02:21:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 4e9045e5b0bfb7ecf0a45dc2634a438d08a2cbd6,Documentation typo,2019-01-26T02:19:15Z,2019-01-26T02:19:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 3db4f08f19b2b1a19431a092f43605031092b97f,Release 0.8,2019-01-26T02:13:29Z,2019-01-26T02:13:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 5466c9745dfef858286146ea158ffd5a71391d10,"sqlite-utils json dogs.db ""select * from dogs""",2019-01-26T02:06:29Z,2019-01-26T02:06:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7689ca7229d2a2e662a7c6b1ada8baef9c4d7525,Fixed RST formatting,2019-01-25T18:16:26Z,2019-01-25T18:16:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow c83dd8a5eb9a146ef8072932333a0bca98f9577a,"sqlite-utils csv data.db ""select ..."" command",2019-01-25T15:50:20Z,2019-01-25T15:50:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 6f54342570f722ca817945155c234d8d8a9b4acc,Release 0.7,2019-01-25T07:20:49Z,2019-01-25T07:20:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 9501ba4bf1b96aeefe26e261de085839e9a97e67,"sqlite-utils table_names blah.db is now tables blah.db Travis tests were failing because on OS X the command was this: sqlite-utils table_names blah.db But in Travis CI the command was this: sqlite-utils table-names blah.db Renaming it to tables fixes this inconsistency.",2019-01-25T07:04:52Z,2019-01-25T07:04:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 42b2b4b785e3163371e92a9cc085bc47e7c83107,"Upgrade sqlite3 in Travis so we can test against FTS5 Using recipe from https://linuxhint.com/install-sqlite-ubuntu-linux-mint/",2019-01-25T06:54:32Z,2019-01-25T06:54:32Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow ccb2a1e729780689188005a52c362b7e963f71e8,Try dist: xenial,2019-01-25T06:44:24Z,2019-01-25T06:44:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw ad30ccea59632fe39966116586a33f34e81cd868,Try dist:trusty to see if that gives us FTS5 in Travis CI,2019-01-25T06:42:53Z,2019-01-25T06:42:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e9e1cb00c152530fedb95ea699a7408c085e429a,Release notes for 0.7,2019-01-25T06:39:21Z,2019-01-25T06:39:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw ffc9f09a935fdaec4236c3e5a5c252ec3aad65ef,Re-arranged documentation index page,2019-01-25T05:23:24Z,2019-01-25T05:23:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw b30f924c49e46beff26dc888e96099ed8bb972f7,Implemented 'sqlite-utils upsert my.db tablename --pk=x',2019-01-25T05:20:10Z,2019-01-25T05:20:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 9e74289397e28f797290158c27e1dca2083c4e95,'sqlite-utils insert tablename file.json' command,2019-01-25T05:06:41Z,2019-01-25T05:06:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 1c683076d3138d9d853a1adb16fb9e6d248d1245,Sanity check test for optimize --no-vacuum,2019-01-25T04:38:23Z,2019-01-25T04:38:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0a8194e730f8ecdd9a5af1f6a8d5a889796d7dba,"sqlite-utils optimize command, .optimize() and .detect_fts() table methods",2019-01-25T04:35:51Z,2019-01-25T04:35:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 015bd2a840a008a105f731c50eee319963352c1b,Test for .table_names(fts5=True),2019-01-25T04:23:53Z,2019-01-25T04:23:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 66fd63b11999e87c541b2023dd569b771927f283,Ability to list just FTS4 or FTS5 table names,2019-01-25T03:57:04Z,2019-01-25T03:57:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 231224ba1a4de42f3d3885a0accd05dcf85570e7,Added vacuum to CLI and Python API,2019-01-25T03:39:04Z,2019-01-25T03:39:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw fd5829b27dce669fe1704e07536f339f20472eda,First CLI command: sqlite-utils table_names test.db,2019-01-25T03:30:47Z,2019-01-25T03:30:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 8437fe30912967a0d74c711597e0597314bea11e,"Revert ""No need to skip black under Python 3.7 any more"" It turns out the black tests still fail in Travis against that version. This reverts commit d18687a30a2bb14370248d8ebd446e9838d7828e.",2019-01-25T03:08:52Z,2019-01-25T03:08:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw fa35cd9afbff17e5639ee07e8d78c6cbb81ea4e5,Loosen requirement versions,2019-01-25T03:06:30Z,2019-01-25T03:06:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw d18687a30a2bb14370248d8ebd446e9838d7828e,No need to skip black under Python 3.7 any more,2019-01-25T03:02:30Z,2019-01-25T03:02:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 228d595f7d10994f34e948888093c2cd290267c4,Allow column names to be reserved words,2019-01-25T03:01:10Z,2019-01-25T03:01:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 6ad9037c966311546f23fff76faf1b0c2360c097,Added support for bytes and datetime.datetime,2019-01-25T02:59:21Z,2019-01-25T02:59:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7950105c278b140e6cb665c68b59df219870f9bc,Python 3.7.2 as base for Docker image,2019-01-13T23:33:50Z,2019-01-13T23:33:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a418c8b44f82d456be523c8690cf7236bb648c22,"Expose current git tag to Docker build, closes #399",2019-01-13T23:09:48Z,2019-01-13T23:09:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c3a78eb05c0b146b2eb37b50c1668b9430b8f50a,app_client() fixture doesn't need to take **kwargs,2019-01-13T22:23:44Z,2019-01-13T22:23:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 4722acc73ce761556b18f5dcbe36b7fef2ee2c69,Release 0.26.1,2019-01-11T00:51:38Z,2019-01-11T00:51:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 50d8d8216dcc5557e6b581a13bb871f033722117,"Dockerfile now builds SQLite 3.26.0, closes #397",2019-01-11T00:47:54Z,2019-01-11T00:47:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c4c970f3c90fa79a6c6527fe963baf9e07b023c8,Bump aiohttp to 3.5.3 to fix a warning,2019-01-11T00:47:15Z,2019-01-11T00:47:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8ce7866312f9b7c873541d6e3662ada3e850fa85,"compile_options output in /-/versions, closes #396",2019-01-11T00:44:37Z,2019-01-11T00:44:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5b026115126bedbb66457767e169139146d1c9fd,Corrected import path in plugin docs,2019-01-09T00:25:29Z,2019-01-09T00:25:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 788f218e267ad9e29df904c6c6a61e78bcc8e744,Supress pytest warnings from 3rd party modules,2019-01-06T04:44:34Z,2019-01-06T04:44:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b65d97792a53f78cb14b226231063209d22c4602,Switch to using PYPI_PASSWORD env var in Travis,2019-01-03T03:14:21Z,2019-01-03T03:14:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 424e146697309a54c05d5d1ba1f840849ddbafdc,Datasette 0.26 release notes,2019-01-03T02:53:59Z,2019-01-03T02:53:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 996e8822d2cb551c0ed821ff1fda24af905332d3,"Fix CSV export hidden form fields, closes #393",2019-01-03T02:43:56Z,2019-01-03T02:43:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8b8ae55e7c8b9e1dceef53f55a330b596ca44d41,"Pass --token to 'now alias', if provided",2019-01-02T05:35:16Z,2019-01-02T05:35:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d95b46b09bf53530b212cc17202a242daa62fd64,"datasette publish now --alias option You can now use --alias to attempt to alias after you deploy. Also updated now.json to use version: 1",2019-01-02T05:14:46Z,2019-01-02T05:15:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a2bfcfc1b1c60dac3526364af17c2fa2f3d41a0a,Fix some regex DeprecationWarnings (#392),2018-12-29T02:22:27Z,2018-12-29T02:22:27Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow eac08f0dfc61a99e8887442fc247656d419c76f8,--reload now also reloads if databases change on disk,2018-12-20T15:51:08Z,2018-12-20T15:51:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 48d24c6589f214c7e1bab21d32e2f35a0038e71f,Link to new tutorial from the README,2018-12-19T05:39:35Z,2018-12-19T05:39:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 74ad06e1283615cceb49fd95929b60329d47d3d4,Updated notes on FTS5 v.s. FTS4,2018-12-18T21:49:51Z,2018-12-18T21:49:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 595da9054e391b05a59b57c0c0a4487ea10062ce,"Better example commit This one updates the README news section as well",2018-12-16T22:56:56Z,2018-12-16T22:56:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 1e2db8547be111e7c1583f096f40cec7c0824281,Improved release process documentation,2018-12-16T21:47:26Z,2018-12-16T21:47:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ed78922ae38b51513319b60ac39990b7c2aca810,"Tiny typo in customization docs (#390) Thanks, @jaywgraves",2018-12-16T21:32:55Z,2018-12-16T21:32:55Z,6410ac01839c113476668eeff88d60a0a2c6eb7a,Jay Graves,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,418191,jaywgraves,9599,simonw b5128fc53fce6a1bf3b16bad9f318451bc1d1263,Release 0.25.2,2018-12-16T21:26:37Z,2018-12-16T21:26:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 84d7890b63f6aa43e7369fa8fc7a0a1bbf98c91f,Upgrade pytest to 4.0.2,2018-12-16T21:18:55Z,2018-12-16T21:18:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c5f90dd1b20e41d1a3736dcbda5101d27279390b,Added docs on updating docs + the release process,2018-12-16T21:14:50Z,2018-12-16T21:14:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 54a59b9fdb40b9c86ff065a5b7047e6ef305bc22,Use python-3.6.7 runtime for Heroku deploys,2018-12-16T20:53:00Z,2018-12-16T20:53:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3de8fac1d322cbab6c8c55899e0e8511b36337d0,"New make_app_client() pattern Because next version of pytest discourages calling fixture factories as functions",2018-11-20T17:16:31Z,2018-11-20T17:46:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5e3a432a0caa23837fa58134f69e2f82e4f632a6,How to activate your virtual environment,2018-11-15T00:54:54Z,2018-11-15T00:54:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow d0393e821e5914a7c1d659eaf0a5d612a1aa8e01,"Travis to use Python 3.7-dev for a little longer 3.7 produces a 403 forbidden error: https://travis-ci.org/simonw/datasette/jobs/450716231#L6",2018-11-05T06:45:38Z,2018-11-05T06:45:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c2c03f8e7be6973ef3cbdb3ca424e55a81a956d7,Compatible with Python 3.7,2018-11-05T06:40:03Z,2018-11-05T06:40:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3dc0b3fa8c9b9bd81540ffe20c8b7e7a72465274,Release 0.25.1,2018-11-05T06:31:41Z,2018-11-05T06:31:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b6546da53516e148e6aa34ad94f3452da30040f8,"Use Zeit cloud v1 to avoid 100MB image limit Closes #366 - thanks @slygent",2018-11-05T06:22:34Z,2018-11-05T06:22:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5debabd3fba1f0669081cefe55b67d333470bbd4,More human friendly 'what is Datasette' intro text,2018-11-05T06:04:23Z,2018-11-05T06:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6b398c2971801d9a20cfdb7998f59020d5534e22,Link to dev environment instructions from installation guide,2018-10-27T17:34:31Z,2018-10-27T17:34:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7dda8898c12720f1494cfd4761399e95211520a1,"Started contributing docs: setting up a dev environment https://datasette.readthedocs.io/en/latest/contributing.html",2018-10-27T17:12:19Z,2018-10-27T17:13:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 24cea271961077a63bc834a2aab3de777491a9c9,"Link to ""The interesting ideas in Datasette""",2018-10-04T02:40:04Z,2018-10-04T02:40:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 96af802352e49e35751e295e9846aa39c5e22311,"Travis applies :latest tag to Docker release, refs #329",2018-09-19T18:23:56Z,2018-09-19T18:23:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 57a71377c992753327a16b417daf79df7f506dd1,Releasing Datasette 0.25,2018-09-19T17:48:12Z,2018-09-19T17:48:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1bcd54a834a2f9730d21095df855f6708c85c200,Fix small doc typo - thanks @jaywgraves (#365),2018-09-19T17:15:42Z,2018-09-19T17:15:42Z,6410ac01839c113476668eeff88d60a0a2c6eb7a,Jay Graves,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,418191,jaywgraves,9599,simonw b7257a21bf3dfa7353980f343c83a616da44daa7,"Fix json.loads in Python 3.5 3.5 requires a str, not a bytes https://travis-ci.org/simonw/datasette/jobs/421660555",2018-08-28T16:55:30Z,2018-08-28T16:55:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1f54e092306b208125f39d06712b02895eb75168,Better docs for publish_subcommand() plugin hook,2018-08-28T10:59:50Z,2018-08-28T10:59:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b7c6a9f9bd2bbd06ef64fef4a1fcc86fa0039039,"extra_css_urls(template, database, table, datasette) The extra_css_urls and extra_js_urls hooks now take additional optional parameters. Also refactored them out of the Datasette class and into RenderMixin. Plus improved plugin documentation to explicitly list parameters.",2018-08-28T10:56:57Z,2018-08-28T10:56:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw fbf446965b398a0a6c3e6bce72c0b9b0112498ab,"Refactoring: renamed ""name"" variable to ""database""",2018-08-28T10:17:13Z,2018-08-28T10:25:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2e836f72d9a4e61341d75ea48e88314e0d006b65,"render_cell(value, column, table, database, datasette) The render_cell plugin hook previously was only passed value. It is now passed (value, column, table, database, datasette).",2018-08-28T10:03:01Z,2018-08-28T10:03:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9e1fca4b016bbb2d4b2ab350ca1570ba6141afe8,Corrected indentation in metadata.rst,2018-08-28T09:56:34Z,2018-08-28T09:56:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5cf0c6c91c077b8b69ea159c19f0c6fb02ab9c19,New plugin hook: extra_body_script,2018-08-28T08:56:44Z,2018-08-28T09:02:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0a14a4846b29b4b60d153356ad926cbc461c45c7,Added plugin_config() method,2018-08-28T08:35:21Z,2018-08-28T08:35:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0bd41d4cb0a42d7d2baf8b49675418d1482ae39b,Do not show default plugins on /-/plugins,2018-08-28T07:36:22Z,2018-08-28T07:36:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw aae49fef3b75848628d824077ec063834e3e5167," Import pysqlite3 if available, closes #360 (#361)",2018-08-16T00:58:56Z,2018-08-16T00:58:56Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 1905c0336451b150b44478285ddb6878f5238519,New ds.metadata() method,2018-08-13T14:56:50Z,2018-08-28T07:45:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8e2a313c1e831c465392c5cb1502d0f153d39431,"Fixed failing FTS5 test, release as 0.6.1",2018-08-13T00:48:43Z,2018-08-13T00:48:43Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 594b25ef9f633dabdaca98b46dea9fbb82628166,"Started a changelog, releasing 0.6",2018-08-13T00:46:22Z,2018-08-13T00:46:22Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw d1209a2c453311432dcc41966a81a39d895e9fae,"Use FTS4 when running the tests Because the version of sqlite3 running in Travis CI does not have FTS5",2018-08-13T00:33:13Z,2018-08-13T00:33:13Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 9fdf2c169caf544d56f6317afbed6879082be8b9,Documented Database(filepath) and in-memory database creation,2018-08-13T00:31:02Z,2018-08-13T00:31:02Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw fcc38b9ff2e4dbb680a4429002767f6df855674b,Moved fixtures into conftest.py,2018-08-13T00:24:11Z,2018-08-13T00:25:39Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 02862be04c51e8ec6e29517d3c28b030627bb179,Default to FTS5,2018-08-13T00:21:55Z,2018-08-13T00:21:55Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 34a5c0e1e8d1e7e685b0ba73803d153552033aac,"Documented insert_all() and upsert() and upsert_all() Also re-titled main docs page to 'Python API'",2018-08-13T00:17:14Z,2018-08-13T00:17:14Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 2189be144002484c3abe5339a9c69aeca7b9889a,Refactor to use new datasatte.config(key) method,2018-08-11T20:06:45Z,2018-08-11T20:09:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9eacd30b1d6e3f1bd138fb330cfea4830197cb1d,New column_order= parameter for setting column order,2018-08-08T23:06:49Z,2018-08-08T23:06:49Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5,"Bump versions of pytest, pluggy and beautifulsoup4 (#358)",2018-08-08T01:11:12Z,2018-08-08T01:11:12Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow fe5b6ea95a973534fe8a44907c0ea2449aae7602,Hide 'view and edit SQL' if config.allow_sql turned off,2018-08-06T03:17:17Z,2018-08-06T03:17:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 72644b6e3fc78ecf55b386854943ec3ad39f97bd,"Support method chaining, added .last_id for accessing lastrowid Also shipping as 0.5",2018-08-06T01:42:43Z,2018-08-06T01:42:43Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 7d0299edd40636037a06548736681b67385b499e,"fts_table and fts_pk metadata configs, available for both tables and views",2018-08-06T00:44:47Z,2018-08-06T00:44:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5629aaca67437acce8af47acb06488bd9991420b,sortable_columns also now works with views,2018-08-06T00:29:23Z,2018-08-06T00:29:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 4ac913224061f2dc4f673efab1a5ac6bc748854f,"render_cell(value) plugin hook, closes #352 New plugin hook for customizing the way cells values are rendered in HTML. The first full example of this hook in use is https://github.com/simonw/datasette-json-html",2018-08-05T00:14:56Z,2018-08-05T00:14:56Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 19e1057ead0c4434f456bafb4812de2812d51bf5,Documentation for create_view(),2018-08-02T15:26:38Z,2018-08-02T15:26:38Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw a86c3ee832e0b608f9881e40425d294f31802bc0,"Added db.create_view(name, sql) method",2018-08-02T15:24:16Z,2018-08-02T15:24:16Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 741e8f7fe563e18fe9a12ac1ce38157e8c903505,"Make .indexes compatible with older SQLite versions (#1) Older SQLite versions return a different set of columns from the PRAGMA we are using.",2018-08-02T15:17:29Z,2018-08-02T15:17:29Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow 0aa28293adedc488eb9107dc52b5e9a124887fbd,"Fix compatibility with SQLite prior to 3.16.0 pragma_index_info() and pragma_index_list() were introduced in 3.16.0 but the version of SQLite running in Travis CI is earlier than that, hence the test failures: https://travis-ci.com/simonw/sqlite-utils/jobs/137617744",2018-08-01T15:29:53Z,2018-08-01T15:29:53Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 4427d2d96f7197e25acee85643bcf02e758b8b1e,"table.create_index(columns, index_name) method",2018-08-01T15:20:44Z,2018-08-01T15:20:44Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 70e1f831a00ec97b724187025e35338becd2309a,Typo,2018-08-01T01:32:03Z,2018-08-01T01:32:03Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw c611ed80d2e9f721fc7848fd74e6e6baebe5adde,.indexes property for introspecting indexes,2018-08-01T01:31:29Z,2018-08-01T01:31:29Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e04f509c518af01db5f3174ed662c3ac50320f58,Added docs on storing JSON,2018-08-01T00:48:32Z,2018-08-01T00:48:32Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 515d362ad60c3dc16272c4fdca932cf0a0e9dafa,.table_names and .tables properties plus expanded docs,2018-08-01T00:35:36Z,2018-08-01T00:35:36Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f4907f6df58d822dfb67660b982a9081b39a06fb,"enable_fts(), populate_fts() and search() methods",2018-07-31T16:19:05Z,2018-07-31T16:19:20Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw c446e22f34eb56a454c57edf93824d2615b83c0e,"Moved fixtures to fixtures.py, added .schema test",2018-07-31T15:55:24Z,2018-07-31T15:55:24Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw f5418e13f2e435a42cd3611b28ec3c9ac02481da,Release 0.3.1 to publish updated README to PyPI,2018-07-31T15:39:43Z,2018-07-31T15:39:43Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 61d81494d5cfee72a99d880e47bc5f436720b415,Fleshed out README,2018-07-31T15:38:50Z,2018-07-31T15:38:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,9599,simonw,19864447,web-flow e888bb122dadfbd937fc3893444a2edcb0b5b499,"Added .schema property, improved docs, release 0.3",2018-07-31T15:33:52Z,2018-07-31T15:33:52Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 5deb65f0623bff03421f50d3c61f699b981ae18b,"Now you just 'from sqlite_utils import Database' Plus fixed ad_id in the Russian ads example in the docs",2018-07-31T03:30:23Z,2018-07-31T03:30:23Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw b69f8b6c856adff577fe6a1816359bb00e82ffd1,"table.count property, plus made a start on table documentation",2018-07-31T03:24:35Z,2018-07-31T03:24:35Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 0d63128c40aec15a958dddf181c13e0db1c7908b,"Preparing v0.2, first release to PyPI",2018-07-29T00:42:41Z,2018-07-29T00:42:41Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 29c897bb5649c35463618a32d095f72755aae8c6,Started the docs with a meaty example,2018-07-28T23:52:07Z,2018-07-28T23:52:07Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e51f36d3ebb28378d0938aabb80a432720269bce,"Added table.foreign_keys property, fixed bug in foreign key creation",2018-07-28T22:41:18Z,2018-07-28T22:41:18Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 95bce37ad3447d3c265316fa029fc09b7bbdae11,Store list/dict/tuple values as JSON strings,2018-07-28T22:20:29Z,2018-07-28T22:20:29Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw acea54877ca65f08cef4f7260bd7f7fcabe31b90,Create table now works for pure m2m where both rows are foreign keys,2018-07-28T22:06:59Z,2018-07-28T22:06:59Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 56e29158fe5174a5b06d0a58090da7fb4624ed60,"Don't run black test on Python 3.7 It breaks on that version - see https://github.com/ambv/black/issues/425 But that's OK, we only need it to run onder one version anyway.",2018-07-28T18:18:40Z,2018-07-28T18:18:40Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 501618d0d519f808e54210f3c54420e5559a9343,Ensure black is correctly installed for tests,2018-07-28T14:36:43Z,2018-07-28T14:36:43Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 3c50a3600d0975b84d98c93bb2336a790afc6aca,Unit test for black-approved coding style,2018-07-28T14:29:20Z,2018-07-28T14:29:20Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 03e3f7d6486123bf3eb852ad007d9761475f138c,Configured Travis CI,2018-07-28T13:48:53Z,2018-07-28T13:48:53Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw bd71be32abead38ec0b69695347219024efea0fe,Initial project layout + database table creation tools,2018-07-28T13:43:18Z,2018-07-28T13:46:17Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 295d005ca48747faf046ed30c3c61e7563c61ed2,"Renamed variable, since docs are not written in Markdown",2018-07-28T04:56:51Z,2018-07-28T04:56:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8128497b7946ab68fff703e207fc7c5b26b6e9c9,"Only run documented_views() fixture once per session Speeds up tests, because previously it ran once per view class.",2018-07-28T04:49:20Z,2018-07-28T04:49:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 788a542d3c739da5207db7d1fb91789603cdd336,"Docs for IndexView, TableView, RowView, closes #299 Also removed xfail from test_view_classes_are_documented, so any future *View classes that are added without documentation will cause the tests to fail.",2018-07-28T04:21:42Z,2018-07-28T04:21:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8da6b0d542c7ea276df8b5467d4be6cd08cf867f,"Added labels so unit tests can detect docs, refs #299",2018-07-28T03:26:18Z,2018-07-28T03:26:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e8625695a3b7938f37b64dff09c14e47d9428fe5,"xfail documentation unit tests for view classes, refs #299 More documentation unit tests. These ones check that every single **View class imported into the datasette/app.py module are covered by our documentation. Just one problem: they aren't documented yet. So I'm using the xfail pytest decorator to mark these tests as allowed-to-fail. When you run the test suite you now get a report of how many views still need to be documented, but it doesn't fail the tests. The output looks something like this: $ pytest tests/test_docs.py collected 31 items tests/test_docs.py ..........................XXXxx. [100%] ============ 26 passed, 2 xfailed, 3 xpassed in 1.06 seconds ============ Once I have documented all the views I will remove the xfail so any future views that are added without documentation will cause a test failure. We can detect that a view is documented by looking for ReST label in the docs, for example: .. _IndexView: Some view classes can be used to power multiple URLs - the JsonDataView class for example is used to power /-/metadata and /-/config and /-/plugins In this case, the second part of the label can indicate the variety of page, e.g: .. _JsonDataView_metadata: The test will pass as long as there is at least one label that starts with _JsonDataView.",2018-07-28T03:13:26Z,2018-07-28T03:13:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3b68314d8f59d92fe7b2150cf747a082192ef9b7,Unit tests for publish now/heroku - closes #348,2018-07-26T05:45:47Z,2018-07-26T05:45:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1fb518618c1c246c58daf5085247b430f2aea29f,"""datasette publish heroku"" improvements * Fixed bug where --title= didn't work if -m not provided * Now using Python 3.6.6 instead of Python 3.6.3",2018-07-26T05:43:01Z,2018-07-26T05:43:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw dbbe707841973b50a76d2703003ae2c40e7ad1fd,"publish_subcommand hook + default plugins mechanism, used for publish heroku/now (#349) This change introduces a new plugin hook, publish_subcommand, which can be used to implement new subcommands for the ""datasette publish"" command family. I've used this new hook to refactor out the ""publish now"" and ""publish heroku"" implementations into separate modules. I've also added unit tests for these two publishers, mocking the subprocess.call and subprocess.check_output functions. As part of this, I introduced a mechanism for loading default plugins. These are defined in the new ""default_plugins"" list inside datasette/app.py Closes #217 (Plugin support for datasette publish) Closes #348 (Unit tests for ""datasette publish"") Refs #14, #59, #102, #103, #146, #236, #347",2018-07-26T05:15:59Z,2018-07-26T05:15:59Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 3ac21c749881d0fb1c35b0f9b7a819e29f61c5c1,Unit test confirming all plugin hooks are documented,2018-07-26T04:09:33Z,2018-07-26T04:09:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ba64cfb4bc8ff79086e3f61d9be3eaf35cc44c84,"Fix for Python 3.5 https://stackoverflow.com/a/42694113/6083",2018-07-25T17:20:56Z,2018-07-25T17:20:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 9b85c599079e7dc37e7be125839711c982afc526,Removed unnecessary print statements from tests,2018-07-24T16:04:06Z,2018-07-24T16:04:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bd1db56936d7aa09f5ee87ac8146e19b71ae8b42,"'Usage: datasette', not 'Usage: cli' - refs #336",2018-07-24T16:03:07Z,2018-07-24T16:03:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 74ad3ff4af4ebb499b07c6ce984def7d88fcbbb7,"Ensure --help examples in docs are always up to date, closes #336 Unit tests now check that docs/*.txt help examples are all up-to-date. I ran into a problem here in that the terminal_width needed to be more accurately defined - so I replaced update-docs-help.sh with update-docs- help.py which hard-codes the terminal width.",2018-07-24T16:00:10Z,2018-07-24T16:01:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3a46d5e3c4278e74c3694f36995ea134bff800bc,"Removed docker -e flag docker -e flag is now deprecated: https://docs.docker.com/engine/deprecated/#-e-and---email-flags-on-docker-login",2018-07-24T04:48:36Z,2018-07-24T04:48:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 28872a1fa789f314b0342f4e6182f1c78d6e2bca,Release notes for 0.24 release,2018-07-24T04:34:28Z,2018-07-24T04:34:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2bdab66772dca51b0c729b4e1063610cb2edd890,"Build and push new tagged releases to Docker Hub Based on method described in https://sebest.github.io/post/using-travis-ci-to-build-docker-images/",2018-07-24T04:17:57Z,2018-07-24T04:17:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 581b4c97ee3d8339b1866480375e20b2fd2f6818,"URLify URLs in custom SQL queries, closes #298",2018-07-24T03:56:32Z,2018-07-24T03:56:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3955771feaf47ddb6d281bba28ca2d6281551ed7,"Unit tests for advanced export box HTML, closes #320",2018-07-24T03:38:31Z,2018-07-24T03:38:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 700d83d8adfeb3859ebc93828951e5048cb0e425,?_json_infinity=1 for handling Infinity/-Infinity - fixes #332,2018-07-24T03:07:57Z,2018-07-24T03:07:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b320f58d13e510d51e07187c8a75db856205b88f,'publish now' uses force_https_urls:on - closes #333,2018-07-24T01:51:43Z,2018-07-24T01:51:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f24b49a1a8c202e5b28500eeb991173992a5ea18,"New force_https_urls option, refs #333",2018-07-23T15:58:29Z,2018-07-23T15:58:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 4e82d0e64d1e8c085375278e5b8ecadeab56ddb5,Removed unused imports,2018-07-23T15:39:00Z,2018-07-23T15:39:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6e37f091edec35e2706197489f54fff5d890c63c,"Support title/description for canned queries, closes #342 Demo here: https://latest.datasette.io/fixtures/neighborhood_search",2018-07-16T02:33:30Z,2018-07-16T02:33:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 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,Russ Garrett,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,45057,russss,9599,simonw 2f34da0ab2594d917e14fd0dd90ad07872941b8d,Initial,2018-07-14T03:56:21Z,2018-07-14T03:56:21Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 31a5d8fa77be68d4f837f0a80a611675dce49f4b,"Bump aiohttp to fix compatibility with Python 3.7 Tests failed here: https://travis-ci.org/simonw/datasette/jobs/403223333",2018-07-12T17:41:20Z,2018-07-12T18:07:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 130dc8823ebdcc1834fc7c4a03c996b13fc1e444,Run Travis CI against Python 3.7 as well,2018-07-12T17:36:00Z,2018-07-12T17:36:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow aec3ae53237e43b0c268dbf9b58fa265ef38cfe1,"Docs for datasette publish and package, closes #337 Also introduced a new mechanism for ensuring the --help examples in the documentation reflect the current output of the --help commands, via a new update-docs-help.sh script. Closes #336",2018-07-11T02:04:13Z,2018-07-11T02:05:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9281a4a804961b06ab133e042db839402f8a7796,New tagline: 'A tool for exploring and publishing data',2018-07-11T01:57:54Z,2018-07-11T02:05:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw fc9b1cc1368cff455478c10f7b400bf5afc7d8e3,"New truncate_cells_html config for truncating cells, closes #330",2018-07-10T16:20:41Z,2018-07-10T16:20:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2db2ae4f21d0ba5b84359f611da7b123262d92c7,"Show custom error message if SpatiaLite needed, closes #331",2018-07-10T15:13:27Z,2018-07-10T15:13:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 17863d108b9c8672b5e102d97858a96ca715a9d6,"datasette publish heroku now supports --extra-options, closes #334",2018-07-10T01:45:56Z,2018-07-10T01:45:56Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6df6f712b36f0fe75694174906e31242427a8d1d,Release notes for 0.23.2,2018-07-08T05:28:45Z,2018-07-08T05:28:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6541ce633ebf56770106221b0984751270adb2c7,"Fix for row pages for tables with / in, closes #325",2018-07-08T05:21:51Z,2018-07-08T05:21:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8ac71a61278d2d1b24ad3f3ab68048dac31467bc,Removed rogue print statement left over from #309,2018-07-08T03:09:45Z,2018-07-08T03:09:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 71b46fd9f5b323d746b108d1f674b4007d5c252c,Cleaned up view constructors to accept just a datasette instance,2018-06-30T14:51:57Z,2018-07-08T02:58:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 24af1004a42029f5a2f1a50541780814e9e2578a,Added datasette-vega to news section,2018-06-29T14:53:36Z,2018-06-29T14:53:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow d08faa89872d9ec8d3c8e76d85164ccd84596811,"Fix for weird nested exception in RequestTimeout I saw this error: sanic.exceptions.RequestTimeout: Request Timeout During handling of the above exception, another exception occurred: Traceback (most recent call last): File ""/Users/simonw/Dropbox/Development/datasette/venv/lib/python3.6/site-packages/sanic/handlers.py"", line 82, in response response = handler(request=request, exception=exception) File ""/Users/simonw/Dropbox/Development/datasette/datasette/app.py"", line 512, in on_exception if request.path.split(""?"")[0].endswith("".json""): AttributeError: 'NoneType' object has no attribute 'path' Strangely ""if request and request.path..."" did not work here, because the Sanic Request class extends builtins.dict and hence evaluates to False if it has no headers.",2018-06-29T12:52:51Z,2018-07-08T02:58:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 29bd6065147818263fb7c19e0cfc5228c5cf7fb4,Documentation typo,2018-06-28T05:09:03Z,2018-06-28T05:09:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 7d9bcdd3071c66b753f3c148bec8ef1b2b54757b,Documentation tweaks,2018-06-28T05:07:53Z,2018-06-28T05:07:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow ad66c0da2bb171cdcb0d13b307b3fd7900b77963,"Installation instructions, including docker image - closes #328",2018-06-28T03:59:58Z,2018-06-28T03:59:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 47e689a89b3f5f0969595b17d2ec59ea3caffb3b,"Speed up Travis by reusing pip wheel cache across builds (#324) * Cache pip wheels between runs in Travis, refs #323 * Run pytest manually - ""python setup.py test"" appeared to still download a bunch of stuff: https://travis-ci.org/simonw/datasette/jobs/395306188 * Use extras_require so pip can install test dependencies: https://github.com/pypa/pip/issues/1197#issuecomment-228939212",2018-06-24T01:03:46Z,2018-06-24T01:03:46Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 64c2fea8dfcecb06a3f9c674a96948e7366985fc,"CSV export now respects --cors, fixes #326",2018-06-24T00:59:37Z,2018-06-24T00:59:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e7566cc59d4b02ef301054fd35fdde6c925a8e38,Link to 0.23.1 release notes from news,2018-06-21T16:01:38Z,2018-06-21T16:01:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow dea86b9fba78e032ad09673e884e764387daf209,Changelog for 0.23.1,2018-06-21T15:37:13Z,2018-06-21T15:37:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw