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 00e59ec461dc0150772b999c7cc15fcb9b507d58,"Extract facet pieces of table.html into included templates Thanks, @nsmgr8",2022-06-20T18:05:44Z,2022-06-20T18:05:44Z,021d40ba4954ec019ea46ec355c952869ba9cfba,M. Nasimul Haque,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,19872,nsmgr8,19864447,web-flow 4b3c83cd9f2619351359fa6b3b648f20ee07e0de,"Add spatialite arm64 linux path Issue: #599",2023-11-03T22:11:23Z,2023-11-04T00:31:49Z,0453683d7cdf7be9209d6e12bf71d2ffd3a6d702,Mike Coats,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,140912432,sqlite-utils,37802088,MikeCoats,9599,simonw b37f55549461cfe0731b57623f315860b3db49d0,"github-to-sqlite pull-requests command (#48) Thanks, @adamjonas",2020-11-29T23:51:08Z,2020-11-29T23:51:08Z,04fb3d52db4bd9bf23ce52c5cc72fda2068a1fce,Adam Jonas,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,207052882,github-to-sqlite,755825,adamjonas,19864447,web-flow 0f41db1ba8a8a49a4adc1046a25ccf32790e863f,"Avoid error sorting by relationships if related tables are not allowed Refs #1306",2021-06-02T04:25:27Z,2021-06-02T04:25:27Z,0645c24f7846578adea9d68f3e37a7e15a9bd1dd,Guy Freeman,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,416374,gfrmin,19864447,web-flow 4d88c84a66a501e4cb0dd2de9949072b8d42b859,"Fixed conflicting CLI flags (#7) `-a` now only works for `--auth` - it is no longer also defined for `--all`. Closes #11",2022-08-21T21:11:56Z,2022-08-21T21:11:56Z,06556f4f7f4c9062aeb2fbf05388cb3fdaab37af,Thomas Lockney,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,213286752,pocket-to-sqlite,8944,tlockney,19864447,web-flow f045d8559a6d2cb922a2de30fbcc896a4486b82f,"Allow iterables other than lists in m2m records (#189) * Allow iterables other than Lists in m2m records * Add test for iterable m2m records Thanks, @adamwolf!",2020-10-27T16:24:21Z,2020-10-27T16:24:21Z,0bb6015e7b1a787517bbd1a604bb2c91a8a4e321,Adam Wolf,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,140912432,sqlite-utils,35681,adamwolf,19864447,web-flow 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 49f317752cfe89c5641165a490eef49e025752a7,Move version info back to separate module,2018-05-22T17:33:57Z,2018-05-22T19:35:21Z,106fe7fbf8b80a01038e265a137b3b703422db48,Robert Gieseke,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,198537,rgieseke,9599,simonw fc47dacbbd4c4d245d7144e4cc014d3303f84b9a,"Add `__version_info__` derived from `__version__` This might be tuple of more than two values (major and minor version) if commits have been made after a release.",2018-05-22T17:18:00Z,2018-05-22T19:35:21Z,106fe7fbf8b80a01038e265a137b3b703422db48,Robert Gieseke,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,198537,rgieseke,9599,simonw 6d39429daa4655e3cf7a6a7671493292a20a30a1,"Don't prevent tabbing to `Run SQL` button (#117) See comment in #115",2017-11-18T00:53:42Z,2017-11-18T00:53:42Z,106fe7fbf8b80a01038e265a137b3b703422db48,Robert Gieseke,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,198537,rgieseke,9599,simonw eda848b37f8452dba7913583ef101f39d9b130ba,Add keyboard shortcut to execute SQL query (#115),2017-11-17T14:22:55Z,2017-11-17T14:22:55Z,106fe7fbf8b80a01038e265a137b3b703422db48,Robert Gieseke,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,198537,rgieseke,9599,simonw 772f9a07ce363869e0aaa7600617454dc00e6966,Add scientists to target groups (#1455),2021-09-04T16:31:38Z,2021-09-04T16:31:38Z,106fe7fbf8b80a01038e265a137b3b703422db48,Robert Gieseke,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,198537,rgieseke,19864447,web-flow baf986c871708c01ca183be760995cf306ba21bf,"New get_metadata() plugin hook for dynamic metadata The following hook is added: get_metadata( datasette=self, key=key, database=database, table=table, fallback=fallback ) This gets called when we're building our metdata for the rest of the system to use. We merge whatever the plugins return with any local metadata (from metadata.yml/yaml/json) allowing for a live-editable dynamic Datasette. As a security precation, local meta is *not* overwritable by plugin hooks. The workflow for transitioning to live-meta would be to load the plugin with the full metadata.yaml and save. Then remove the parts of the metadata that you want to be able to change from the file. * Avoid race condition: don't mutate databases list This avoids the nasty ""RuntimeError: OrderedDict mutated during iteration"" error that randomly happens when a plugin adds a new database to Datasette, using `add_database`. This change makes the add and remove database functions more expensive, but it prevents the random explosion race conditions that make for confusing user experience when importing live databases. Thanks, @brandonrobertz",2021-06-26T22:24:54Z,2021-06-26T22:24:54Z,121af5c26cc703f7b3d7219091a8e71dc39db899,Brandon Roberts,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,2670795,brandonrobertz,19864447,web-flow 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 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 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 630bdba68a23c0ac453e015518ef0bf41107a952,"Just pull for dogsheep repos + sqlite-utils and datasette I accidentally started pulling everything from the dependent repos as well. Commit messages with REFRESH_DB in now trigger a rebuild from scratch.",2020-05-01T16:02:55Z,2020-05-01T16:02:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,207052882,github-to-sqlite,9599,simonw,19864447,web-flow 61f53476eb3f147231093ab9339c3d7713190f34,--install=datasette-json-html,2020-05-01T03:04:03Z,2020-05-01T03:04:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,207052882,github-to-sqlite,9599,simonw,19864447,web-flow 80f63b1fc50d9945e01df00e72200db091f9d284,"Fetch previous copy of database Also installed missing bs4 dependency",2020-04-30T23:39:22Z,2020-04-30T23:39:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,207052882,github-to-sqlite,9599,simonw,19864447,web-flow 26fd45f4bdae7b2c884a2c9120ca2f54ba7bf3e7,"Scrape dependents demo, refs #34",2020-04-30T23:27:03Z,2020-04-30T23:27:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,207052882,github-to-sqlite,9599,simonw,19864447,web-flow 9d7aed336c8e62bf372caa800cb4aae3985cbae9,"Release 2.1, refs #34",2020-04-30T23:02:24Z,2020-04-30T23:02:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 719f3d8ed93783f796a0d9f7c4df25227de65a23,"Install test dependencies, refs #34",2020-04-30T23:01:02Z,2020-04-30T23:01:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw c9f48404481882e8b3af06f35e4801a80ac79ed6,"New scrape-dependents command, refs #34",2020-04-30T22:58:37Z,2020-04-30T22:58:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw c34d5a18bfc41fa08755ba3d5cf9fe09ff204238,Default milestones facets are now repo and state,2020-04-22T01:26:57Z,2020-04-22T01:26:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,207052882,github-to-sqlite,9599,simonw,19864447,web-flow 44611df1524a03ce305405e5902c9615e3c73a72,"Release 2.0 Backwards incompatible schema change, refs #31",2020-04-22T01:20:52Z,2020-04-22T01:20:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 6237994433d9c5518ea6295e79d6f400fdc78aa2,"Removed debug output, refs #32",2020-04-22T01:16:17Z,2020-04-22T01:16:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 37eedc06c0e23ecbe3bbfb666a243b17f29a47ff,"Added missing issue-comments.json, refs #32",2020-04-22T01:15:34Z,2020-04-22T01:15:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 89e3d9260d2edaf066a1a3b7722bbff0265ce477,"Debug list of files in tests, for #32",2020-04-22T01:14:17Z,2020-04-22T01:14:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 717ac2a715f12444aad48cbe339d3a5c98214d75,"Fix for issue_comments bug #32 Refs #31",2020-04-21T20:25:35Z,2020-04-21T20:25:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 2cf75a0a036719eb7e57fdc7c5c2ea0f4c26978a,"Fix for creator foreign key on milestones, refs #31",2020-04-21T19:14:23Z,2020-04-21T19:14:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 02e38b363ed2211fd32f7d97bef36512b5ebf294,"Foreign keys for milestones table, refs #31",2020-04-21T18:58:21Z,2020-04-21T18:58:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 7757a417c266f311152e3ccf359e35e3c2f1e063,"Use foreign key to repos table on issues and milestones, refs #31",2020-04-21T18:44:43Z,2020-04-21T18:44:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw e0e8d8caa9657b04bfb8a2cf16c9b580f38b1805,"milestones now has FK to creator, plus repo column - closes #29",2020-04-21T00:43:52Z,2020-04-21T00:43:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw befb6fec28828394c42af546ea0d738fb02cfec9,"Ensure issues.milestone/assignee are integers, closes #30",2020-04-21T00:36:15Z,2020-04-21T00:36:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,9599,simonw,9599,simonw 92a72e540479123c78207a68984a2a4a41fbc17b,Ignore *.json and *.db and .DS_Store,2020-04-21T00:28:55Z,2020-04-21T00:30:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,207052882,github-to-sqlite,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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 eb6a103ebb75bf0e7454ad177df192a3e32ff806,Changelog badge,2020-04-30T18:29:57Z,2020-04-30T18:29:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,256834907,dogsheep-photos,9599,simonw,19864447,web-flow d6c9a1a2cdc72d806f297f64e0495ef1fba8b068,Added the --dry-run option,2020-04-28T01:16:38Z,2020-04-28T01:16:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw d939455af00e07866686457ee2fcb9b2d1b7194e,"Upload photos in a thread pool, closes #11",2020-04-24T16:45:30Z,2020-04-24T16:45:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw a388cf1f1b6b67752d669466cda8b171b6582171,"Use thread pool for hashing This speeds it up a ton. Closes #10",2020-04-24T04:32:27Z,2020-04-24T04:32:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw 2e7f2c67cc18b02c75bb64992a05b0196e507252,Release 0.2a,2020-04-24T00:41:23Z,2020-04-24T00:42:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw 18f33355bbd53d2e1c433f8e157150d8ddc8d9e2,"Only upload photos not already in S3, refs #9",2020-04-23T23:31:23Z,2020-04-23T23:31:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,256834907,dogsheep-photos,9599,simonw,9599,simonw 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 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 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 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 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 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 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 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 7e2d01f122c9d780f14ce657ac84383a9a73cd23,Removed rogue parenthesis,2020-04-30T18:28:59Z,2020-04-30T18:28:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow 8c710517e6edf68b1d9bcb5873063d341524c6f5,Added changelog badge,2020-04-30T18:28:31Z,2020-04-30T18:28:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,206156866,twitter-to-sqlite,9599,simonw,19864447,web-flow ac60ce9331dc557837d879680611aca4bd6c28be,0.21.1 bugfix release,2020-04-30T18:20:43Z,2020-04-30T18:20:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,9599,simonw,9599,simonw 6be0ffcee24504fa2964b0e526842b8cfce7567b,"Fix for since_ids bug, closes #46",2020-04-30T18:11:42Z,2020-04-30T18:11:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,206156866,twitter-to-sqlite,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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 4df1b4d8b0cd37a880d8a04c823be7783c6d5fad,"Re-arranged full-text search docs Also documented ?_searchmode=raw - closes #748",2020-04-30T21:06:00Z,2020-04-30T21:06:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cf2d547ffc9ecee265e09780ad73bcc337ad8ef3,Documentation for #747,2020-04-30T19:02:28Z,2020-04-30T19:02:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1d91ab71d4359741b03bbd4347f4360eb8ca817d,"Directory configuration mode supports metadata.yaml, closes #747",2020-04-30T18:47:21Z,2020-04-30T18:47:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d18086ae016caf14be0da7154ad92cf9d7bec060,Changelog badge,2020-04-30T18:31:35Z,2020-04-30T18:31:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow e37f4077c0f1cd09d4102213d4e2a512af471b8d,"Remove 'Serve!' line from serve CLI output It wasn't adding anything, and it was confusing when run in conjunction with the new config directory mode from #731",2020-04-27T22:02:02Z,2020-04-27T22:02:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 89c4ddd4828623888e91a1d2cb396cba12d4e7b4,"403 for static directory listing, closes #740",2020-04-27T18:29:04Z,2020-04-27T18:29:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 25014ca25eb70b4c1217558ebd14db2845973bfb,"Configuration directory mode, closes #731",2020-04-27T16:30:24Z,2020-04-27T16:30:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 1b7b66c465e44025ec73421bd69752e42f108321,"Make request available when rendering custom pages, closes #738",2020-04-26T19:01:46Z,2020-04-26T19:01:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 304e7b1d9fd904ae1c35600bc03662eb90eeeae0,"Mechanism for creating custom pages using templates Closes #648",2020-04-26T18:46:43Z,2020-04-26T18:46:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 227bb3e91fe34811a9374150798643a5af98ed79,Added more example plugins,2020-04-22T13:47:20Z,2020-04-22T13:47:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 8da108193b08abf140716f8ac499f32309dfe9cf,Fixed a couple of spelling errors,2020-04-22T04:06:39Z,2020-04-22T04:06:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw edb39c91f75c97b6b55f1db6b7626e66cb8f2d45,Release Datasette 0.40,2020-04-22T04:00:34Z,2020-04-22T04:00:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 76882830548e16905348ee75acb0044cb8e1fd20,Typo,2019-06-25T15:36:39Z,2019-06-25T15:36:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 0104dccca9d04916a9a5ba03874c92d9a9704096,"Updated Travis password, refs #317",2018-06-21T15:33:14Z,2018-06-21T15:33:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e843ce26e536bb1a105da808c8f765b2c56e9c7b,"Correctly display empty strings in HTML table, closes #314",2018-06-21T15:26:18Z,2018-06-21T15:26:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 120f20cd97c14b4d9102d9c309b27cc2c0e4ee17,"Allow ""."" in database filenames, closes #302",2018-06-21T15:21:09Z,2018-06-21T15:21:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 97ae66ccabd0e2eae5a7880ac93bd2ac26bb355e,"404s ending in slash redirect to remove that slash, closes #309",2018-06-21T15:13:07Z,2018-06-21T15:13:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3b53eea38267420bb78a2a604e23e5f816eccce2,"Fixed incorrect display of compound primary keys with foreign key references Closes #319",2018-06-21T14:56:28Z,2018-06-21T14:56:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3683a6b626b2e79f4dc9600d45853ca4ae8de11a,"Docs + example of canned SQL query using || concatenation Closes #321",2018-06-21T04:54:36Z,2018-06-21T04:54:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw aeeb50f61b7b1bf8ccb61448f8b8253db457d350,"Correctly display facets with value of 0 - fixes #318 Also added comprehensive unit test for facet display HTML.",2018-06-21T04:30:13Z,2018-06-21T04:30:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw fdfbbbb9ee0d02fd4d43dfc42382252fa2287d6d,Default 'expand labels' to checked in CSV advanced export,2018-06-20T16:15:33Z,2018-06-20T16:15:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e04f5b0d348ef7275a0a5ab9eb53527105132885,Release notes for 0.23,2018-06-18T15:11:57Z,2018-06-18T15:11:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 54f805dca3fd9e05d9276aedec83036a2e36578c,Advanced export box now obeys allow_csv_stream config - refs #266,2018-06-18T15:11:11Z,2018-06-18T15:11:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 04c896160a9981d37beb71529ac717a6fcf1b195,"Renamed 'stream all records' to 'stream all rows', refs #266",2018-06-18T14:25:44Z,2018-06-18T14:25:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bb4a9fbf362d0791e148195d86815d65ebc26fba,"Docs for CSV export, refs #266",2018-06-18T14:12:21Z,2018-06-18T14:12:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 398d29c2873ad22a8e779fab12e65bdbf598f823,"Don't link to #export on custom query results The advanced CSV export options don't work for custom SQL queries. Refs #266",2018-06-18T06:14:48Z,2018-06-18T06:14:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 83f4ef7ec7aa5b4cac9892b3e80cbca00c9080db,"Improved UI for CSV/JSON export, closes #266",2018-06-18T06:03:22Z,2018-06-18T06:05:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0d7ba1ba676828dc7c8dda78ebe7921f7986fc18,"Default to _labels=on on JSON/CSV links with foreign keys, refs #266",2018-06-17T22:56:55Z,2018-06-17T22:56:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6a32684ebba89dfe882e1147b23aa8778479f5d8,"Release tagged versions to PyPI and now alias When a new tagged version is pushed, this should: * bdist_wheel it and release to https://pypi.python.org/pypi/datasette * Set an alias of v0-22-1.datasette.io for the deployed demo",2018-06-17T22:19:21Z,2018-06-17T22:24:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c25c3e51c97a807ae8cb6c78e2aea5439d04acbc,Link to latest.datasette.io from README,2018-06-17T22:02:20Z,2018-06-17T22:02:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 958b75c69841ef5913da86e0eb2df634a9b95fda,"Set Now deployment name with datasette publish, refs #313",2018-06-17T21:46:30Z,2018-06-17T21:46:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 438244c2853185e46bef8089ff9bb934442ec14b,"Try using a different name for each Now deploy Refs #313",2018-06-17T21:39:45Z,2018-06-17T21:39:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f0c17229b7a7914d3da02e087dfd0e25d8321448,"Deploy latest.datasette.io on commit to master - #313 If the tests pass in Travis CI, deploy an instance containing Datasette's test fixtures to https://latest.datasette.io/ Also set up an alias of truncated-commit-hash.datasette.io",2018-06-17T21:24:39Z,2018-06-17T21:24:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw db1e6bc182d11f333e6addaa1a6be87625a4e12b,"--version-note for datasette, datasette publish and datasette package This is a relatively obscure new command-line argument that helps solve the problem of showing accurate version information in deployed instances of Datasette even if they were deployed directly from source code. You can pass --version-note to datasette publish and package and it will then in turn be passed to datasette when it starts: datasette --version-note=hello fixtures.db Now if you visit /-/versions.json you will see this: { ""datasette"": { ""note"": ""hello"", ""version"": ""0+unknown"" }, ""python"": { ""full"": ""3.6.5 (default, Jun 6 2018, 19:19:24) \n[GCC 6.3.0 20170516]"", ""version"": ""3.6.5"" }, ... } I plan to use this in some Travis CI configuration, refs #313",2018-06-17T20:14:55Z,2018-06-17T21:19:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 538565de3a126a6aa1cdb4b4ba91135507411af0,"datasette publish now --token=X argument Lets you specify the auth token to use when deploying to Now. Tokens can be created at https://zeit.co/account/tokens",2018-06-17T19:46:52Z,2018-06-17T21:16:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6a32df334de1a7e3579879dd7ee073613be9b91b,"Improved fixtures to support publication The fixtures database created by our unit tests makes for a good ""live"" demo of Datasette in action. I've improved the metadata it ships with to better support this use-case. I've also improved the mechanism for writing out fixtures: you can do this: python tests/fixtures.py fixtures.db To get just the fixtures database written out... or you can do this: python tests/fixtures.py fixtures.db fixtures.json To get metadata which you can then serve like so: datasette fixtures.db -m fixtures.json Refs #313",2018-06-17T19:16:04Z,2018-06-17T19:16:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0357774c946b7a35871715d7fc23b3f04f519af8,Renamed test_tables.db to fixtures.db in unit tests,2018-06-17T18:34:16Z,2018-06-17T18:34:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ed631e690b81e34fcaeaba1f16c9166f1c505990,"?_labels= and ?_label=COL to expand foreign keys in JSON/CSV These new querystring arguments can be used to request expanded foreign keys in both JSON and CSV formats. ?_labels=on turns on expansions for ALL foreign key columns ?_label=COLUMN1&_label=COLUMN2 can be used to pick specific columns to expand e.g. `Street_Tree_List.json?_label=qSpecies&_label=qLegalStatus` { ""rowid"": 233, ""TreeID"": 121240, ""qLegalStatus"": { ""value"" 2, ""label"": ""Private"" } ""qSpecies"": { ""value"": 16, ""label"": ""Sycamore"" } ""qAddress"": ""91 Commonwealth Ave"", ... } The labels option also works for the HTML and CSV views. HTML defaults to `?_labels=on`, so if you pass `?_labels=off` you can disable foreign key expansion entirely - or you can use `?_label=COLUMN` to request just specific columns. If you expand labels on CSV you get additional columns in the output: `/Street_Tree_List.csv?_label=qLegalStatus` rowid,TreeID,qLegalStatus,qLegalStatus_label... 1,141565,1,Permitted Site... 2,232565,2,Undocumented... I also refactored the existing foreign key expansion code. Closes #233. Refs #266.",2018-06-16T22:18:57Z,2018-06-16T22:18:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0c22fa8f09e9fce7434d5fc83bcfb73c25795205,"Cleaned up view_definition/table_definition code in table view Also moved those out of standard JSON into just the HTML template context",2018-06-16T17:33:17Z,2018-06-16T17:33:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7e0caa1e62607c6579101cc0e62bec8899013715,Extract string-to-bool logic into utils.py,2018-06-16T16:44:31Z,2018-06-16T16:44:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d0a578c0fc07b9d9208cd9de981bdf7385a26c49,"Switch back from python:3.6-slim-stretch to python:3.6 Turns out slim-stretch doesn't include gcc which means it can't build various Sanic dependencies. So `datasette publish now ...` was broken. Fixes #310",2018-06-16T16:28:55Z,2018-06-16T16:28:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5bda4a477c52b6d1cd7d0ca25382dbb20bda40ea,"Fixed CSV tests - Python 3.6.5 and 3.6.3 apparently differ The test used to expect CSV to come back like this: hello world """" With the final blank value encoded in quotes. Judging by Travis failures, this behaviour changed between Python 3.6.3 and 3.6.5: https://travis-ci.org/simonw/datasette/jobs/392586661",2018-06-15T07:01:48Z,2018-06-15T07:01:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3a79ad98eafb9da527a3b9d9d8fbeb81936b02e7,"Basic CSV export, refs #266 Tables and custom SQL query results can now be exported as CSV. The easiest way to do this is to use the .csv extension, e.g. /test_tables/facet_cities.csv By default this is served as Content-Type: text/plain so you can see it in your browser. If you want to download the file (using text/csv and with an appropriate Content-Disposition: attachment header) you can do so like this: /test_tables/facet_cities.csv?_dl=1 We link to the CSV and downloadable CSV URLs from the table and query pages. The links use ?_size=max and so by default will return 1,000 rows. Also fixes #303 - table names ending in .json or .csv are now detected and URLs are generated that look like this instead: /test_tables/table%2Fwith%2Fslashes.csv?_format=csv The ?_format= option is available for everything else too, but we link to the .csv / .json versions in most cases because they are aesthetically pleasing.",2018-06-15T06:51:23Z,2018-06-15T06:51:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a246f476b4fe490f5450836b22961bc607e6b4b0,"Moved JsonDataView into views/special,py",2018-06-07T15:22:29Z,2018-06-07T15:22:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 864328e074d771a9b50fb1b01392541d7045fbb5,"Test client wrapper removing need for gather_request - refs #272 As part of decoupling from Sanic, this will make it easier to run tests against ASGI instead.",2018-06-05T03:53:12Z,2018-06-05T03:53:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b252bdb7404de88b4fa6f5495a83a712201a12ce,Documented how to set multiple --config at once,2018-06-05T01:45:47Z,2018-06-05T01:45:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 29edbe90ffcdd4f6c2ff564ab1938dff151b40c4,"New cache_size_kb config for SQLite, closes #304",2018-06-04T16:02:07Z,2018-06-04T16:02:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9277c6236a8216450d4ebe3242ce6d56c1a7e437,Fixed tests I broke in b18e45158,2018-05-31T14:47:22Z,2018-05-31T14:47:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7381af85e6e8a2aa13cb308d37ebfe7550dd7331,"Hide sort select on larger screens, closes #300",2018-05-31T14:43:06Z,2018-05-31T14:43:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a80e1d50b9394feee267d76398b5ab249817156c,"Show error on 'datasette publish heroku --spatialite', refs #301",2018-05-31T14:21:27Z,2018-05-31T14:21:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b18e4515855c3f1eeca3dfcccdbb6df05869084a,"datasette publish/package --spatialite, closes #243 New command-line argument which causes SpatiaLite to be installed and configured for the published Datasette. datasette publish now --spatialite mydb.db",2018-05-31T14:16:50Z,2018-05-31T14:16:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 969771770fcf795daace72e2310804e699067cfe,"Upgrade pytest to 3.6.0 https://github.com/pytest-dev/pytest/issues/1875 made it impossible to declare a function as a fixture multiple times, which we were doing across different modules. The fix was to move our @pytest.fixture calls into decorators in the tests/fixtures.py module.",2018-05-31T13:40:30Z,2018-05-31T13:42:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 16398641d95db7374fddccc79d0f08e4d4c96ee1,SQL syntax highlighting in docs,2018-05-31T13:17:53Z,2018-05-31T13:17:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d69ebce53385b7c6fafb85fdab3b136dbf3f332c,Fixed broken :ref:,2018-05-30T03:11:24Z,2018-05-30T03:11:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1a8b0213e0152234b25f2777d5c6f61a41834c8a,Fixed broken test introduced in b0a95da96,2018-05-30T02:38:21Z,2018-05-30T02:38:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 27eff1809c21b7c1ae2ba33ebde1dac7f8bc8fbc,Expanded SpatiaLite docs to cover GeoJSON plus lat-lon spatial indexes,2018-05-30T02:32:30Z,2018-05-30T02:32:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b0a95da96386ddf99816911e08df86178ffa9a89,"Show more useful error message for SQL interrupted, closes #142",2018-05-28T21:24:19Z,2018-05-28T21:24:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 98c8f0e7285fb58b7cbb38304e2ed4576774ad91,Moved plugin HTML tests from test_html to test_plugins,2018-05-28T21:23:48Z,2018-05-28T21:23:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 27c10f6482858f9654e31c800884d75304d50ed5,Missing half of last commit fefb0db8ae15,2018-05-28T20:42:48Z,2018-05-28T20:42:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw fefb0db8ae15199d0204af859ba1edc6ae98f84b,"Unit test for 02870e57, closes #291",2018-05-28T20:41:53Z,2018-05-28T20:41:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a4d6acc23943759b46fa90ec68e500016b933410,"Use scope='session' for all fixtures This means they will only be executed once which makes sense since the database they create is immutable.",2018-05-28T20:41:06Z,2018-05-28T20:41:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 76d11eb768e2f05f593c4d37a25280c0fcdf8fd6,"New ?_json=colname argument for returning unescaped JSON Also extracted docs for special JSON arguments into a new section. Closes #31",2018-05-28T18:08:39Z,2018-05-28T18:08:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 02870e573154517f129cbc85e437d5f0105d7cbe,"Filter out duplicate JS/CSS URLs, refs #291 (testme)",2018-05-27T08:45:03Z,2018-05-27T08:45:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c972d79b5a633cbd3e6a7934ae58bd60c57da3a2,Added docs on Importing shapefiles into SpatiaLite,2018-05-27T01:39:26Z,2018-05-27T01:39:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7944a8b0de9f892713da9d31ef0085cd9bcc5ff3,"Added num_sql_threads config option, closes #285",2018-05-27T00:43:22Z,2018-05-27T00:43:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 276913b74803554e03e1617389f6998885ea8c06,"?_shape=arrayfirst, closes #287",2018-05-27T00:32:15Z,2018-05-27T00:32:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b463f60158ccf791809cb51cba2cf7a14e491b36,"?_ttl= parameter and default_cache_ttl config Refs #285, Closes #289",2018-05-26T22:17:33Z,2018-05-26T22:17:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a6afc21aba50e84ae5ca4dc7c899dfd6fd1619d9,Test that ensures all config options are documented,2018-05-26T22:11:04Z,2018-05-26T22:11:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 08029a2f8f67bbcd42bea755de5fb7db12b2c275,Hyperlink to www.srihash.org,2018-05-26T19:46:24Z,2018-05-26T19:46:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow df71e8cea87542aa7a7be84fabca0adc1177728d,Fixed documentation typo,2018-05-26T18:04:43Z,2018-05-26T18:04:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 37f8361c6f7b3eeaa351c0cd93b6db1fdd2744ab,"Initial documentation on using SpatiaLite https://datasette.readthedocs.io/en/latest/spatialite.html",2018-05-26T18:04:09Z,2018-05-26T18:04:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f98e62fe5ac48cd31362b7e2001b0262fa68ef3b,Fix for 500 error on /db?sql=x,2018-05-25T22:08:57Z,2018-05-25T22:08:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b9b93583467986a72f34732fc87a201157ad83ea,"boolean --config are now case insensitive, refs #284",2018-05-25T05:53:58Z,2018-05-25T05:53:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f722b0a730377d28e3b4e8292da2036f32896e02,"allow_sql config option to disable custom SQL, closes #284",2018-05-25T05:50:50Z,2018-05-25T05:50:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 50920cfe3d42483f15e2077c345427059fd19941,"allow_facet, allow_download, suggest_facets boolean --config Refs #284",2018-05-25T01:12:27Z,2018-05-25T01:12:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 81df47e8d95df895bec792466b3d7b34c8d5c509,"Moved .execute() method from BaseView to Datasette class Also introduced new Results() class with results.truncated, results.description, results.rows",2018-05-25T00:15:37Z,2018-05-25T00:15:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5d6252788230d168ba09f379d1d2af867e3302ab,0.22.1 bugfix release,2018-05-23T14:00:01Z,2018-05-23T14:00:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2bfd111d65c892e54b06c2c9498ce2b4cc3e67ff,"Faceting no longer breaks pagination, fixes #282",2018-05-23T13:41:14Z,2018-05-23T13:41:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d59366d36e95b973d674e62edff0168d5bdd90eb,Link to /-/plugins example,2018-05-21T04:07:26Z,2018-05-21T04:07:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 558d9d7bfef3dd633eb16389281b67d42c9bdeef,Datasette 0.22: Datasette Facets,2018-05-20T23:41:47Z,2018-05-20T23:41:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0b8e5981a37c0da75ce4f4e6b6b5275681e2e0c5,Typo fix,2018-05-20T21:30:48Z,2018-05-20T21:30:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bd3353a31f930c2e504094d79513cadbade43cda,"Added docs for introspection endpoints https://datasette.readthedocs.io/en/latest/introspection.html",2018-05-20T21:28:53Z,2018-05-20T21:28:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f00137c8ac2bdb9767733b0d72bf204b034644a7,Only apply responsive table CSS to .rows-and-columns,2018-05-20T17:45:01Z,2018-05-20T17:45:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f6183ff5fa715c68d13d6ae8c7b3b9f2c6ffc9f8,"Renamed --limit to --config, added --help-config, closes #274 Removed the --page_size= argument to datasette serve in favour of: datasette serve --config default_page_size:50 mydb.db Added new help section: $ datasette --help-config Config options: default_page_size Default page size for the table view (default=100) max_returned_rows Maximum rows that can be returned from a table or custom query (default=1000) sql_time_limit_ms Time limit for a SQL query in milliseconds (default=1000) default_facet_size Number of values to return for requested facets (default=30) facet_time_limit_ms Time limit for calculating a requested facet (default=200) facet_suggest_time_limit_ms Time limit for calculating a suggested facet (default=50)",2018-05-20T17:01:49Z,2018-05-20T17:01:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 918de9403e09ba607996a985be1779eddcf76151,"Only apply responsive table styles to .rows-and-column Otherwise they interfere with tables in the description, e.g. on https://fivethirtyeight.datasettes.com/fivethirtyeight/nba-elo%2Fnbaallelo",2018-05-20T15:10:46Z,2018-05-20T15:10:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b8227556c6ef040e2299b113d1ec6e220586ffc3,"Suggested facets now use #fragment links Useful for pages with large amounts of content at the top like on https://fivethirtyeight.datasettes.com/fivethirtyeight-469e30d/nba-elo%2Fnbaallelo",2018-05-18T16:18:41Z,2018-05-18T16:18:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2c2e67b9bb5f1f6b82348a16afe4a07e8073ab54,Updated default facet limits in docs,2018-05-18T15:50:37Z,2018-05-18T15:50:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 39426ff0e43a406f42c03692d3dc9d4a1b7b9d52,"Added /-/limits and /-/limits.json, closes #270",2018-05-18T06:16:28Z,2018-05-18T06:16:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 08f4b7658fec97419eb34118a2cd5c8be805673f,"Show facets that timed out using new InterruptedError If the user requests some _facet= options that do not successfully execute in the configured facet_time_limit_ms, we now show a warning message like this: These facets timed out: rowid, Title To build this I had to clean up our SQLite interrupted logic. We now raise a custom InterruptedError exception when SQLite terminates due to exceeding a time limit. In implementing this I found and fixed a logic error where invalid SQL was being generated in some cases for our faceting calculations but the resulting sqlite3.OperationalError had been incorrectly captured and treated as a timeout. Refs #255 Closes #269",2018-05-18T06:07:45Z,2018-05-18T06:11:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cef9a9a8701af86cc7df8b7939398185f0a76f5f,"--limit= mechanism plus new limits for facets Replaced the --max_returned_rows and --sql_time_limit_ms options to ""datasette serve"" with a new --limit option, which supports a larger list of limits. Example usage: datasette serve --limit max_returned_rows:1000 \ --limit sql_time_limit_ms:2500 \ --limit default_facet_size:50 \ --limit facet_time_limit_ms:1000 \ --limit facet_suggest_time_limit_ms:500 New docs: https://datasette.readthedocs.io/en/latest/limits.html Closes #270 Closes #264",2018-05-18T05:08:26Z,2018-05-18T05:08:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8003a13331cb78774d613a8f3f1b204a33918088,"Empty string """" facets can now be selected in UI, refs #255",2018-05-17T13:34:42Z,2018-05-17T13:34:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5e78d11c247f88946f4c0929b075df327235fe4a,Docs: Speeding up facets with indexes,2018-05-17T04:08:50Z,2018-05-17T04:08:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7261584f0413b10a0ece98be802a6c7099fd53de,"Display currently selected facets better, refs #255",2018-05-17T02:42:31Z,2018-05-17T02:42:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 96aac7f9e94d94243a7ee524d0ad25501ec98f72,Facet documentation tweaks,2018-05-16T15:45:12Z,2018-05-16T20:50:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9959a9e4deec8e3e178f919e8b494214d5faa7fd,"Added screenshots to facets and full_text_search docs, refs #255",2018-05-16T15:24:44Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 858d79fe938afbe04e2b249da71860e812869ec8,Typo fix,2018-05-16T15:15:56Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 566f2d31d6f4950200b64424f6f9cfdd06343f4e,"Clarified relationship between metadata and _facet= facets, updated docs - refs @255",2018-05-16T15:15:23Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b263da78e329853ceea41c4ecabe7e8bb08d20a7,"Reliable sort order for facets in Python 3.5, fixing test - refs #255",2018-05-16T14:43:13Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 062303419cef9bbf72927c4ac4efdb185829c03b,Hide facet button is now a ✖ - refs #255,2018-05-16T14:37:05Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 62f1d3a6cbf7fca5c0e85c13a77830755c314883,"class=""suggested-facets""",2018-05-16T05:08:58Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 91bf5f56bb301fb564640fa6b1bb8a6e981ff721,"Show enabled facets in flexbox columns, refs #255",2018-05-16T05:06:05Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6d12580ed74ff0baf081bf9fabc14eeaf8a3105c,"Foreign key facets are now expanded to labels, refs #255",2018-05-15T15:52:02Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a892f9a0bd6667c1ad4c590016d6845cd98a645a,Use escape_sqlite() more consistently,2018-05-15T15:00:39Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8a0bd68c393423a6c3bdae27d3826e6161a101c1,Undid some slightly weird code formatting by 'black',2018-05-15T13:23:20Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 63aac537f238239d5fb7f4934545404d37d874f6,"1,442 format for facet counts, refs #255",2018-05-15T12:14:14Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f4943ca89bf400350205788f9130c135aaf7b85b,"_facet selections persist through table form, refs #255",2018-05-15T10:28:48Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 514873c6295dcd467d806064a549e46b4ea3279a,Fix bug with toggle_url on integer facets,2018-05-15T10:19:09Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1dc94f6eaa98431da9c61e803e2b05b082f9c6e8,"Facets can now be toggled off again, refs #255",2018-05-15T10:11:52Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ba515fc56e6cf77ea299b6d534be7ccfa925a533,Removed un-used variable,2018-05-15T10:08:07Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 142a550a99f3c78349a10ed79f1b513fe704a169,"Facet results now have ""truncated"" field To indicate if there was more than 20 distinct values. Refs #255",2018-05-15T09:50:27Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a82175276c3f5898161c7630f669d0b8990d7a16,_sort/_next links now use new path_with_replaced_args method,2018-05-15T09:34:45Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2f81552cd29125e3916763f05949125a49c2dde8,Never suggest a facet if it only results in on option,2018-05-15T03:05:10Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b0d2bb3e43dd567b96b6a4ddc3c1a09a84c2c42d,Facets no longer consider null values,2018-05-14T22:19:43Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ddef2298509e3027a44971a681ad7855bf07b51a,"Initial implementation of suggested facets Causes tests to break at the moment",2018-05-14T22:09:42Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8a4ed052a5034d3f12daf5eedabb0808a0bf20fc,path_with_added_args now works with multiple existing args,2018-05-14T22:09:09Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f36c9d4b4ca77dd42495f31d02e89b4c10833531,"Facet toggling now works for integer columns, refs #255",2018-05-14T21:33:24Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw de05cf21aa6a922ee2825b5098b108dd23fb0755,"Facet ""selected"" key and toggle_url now toggles, refs #255",2018-05-14T20:42:10Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2b79f2bdeb1efa86e0756e741292d625f91cb93d,path_with_added_args now preserves order in Python 3.5,2018-05-14T03:02:07Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw eaf715a60ae3c3180d0949da8292e2627b72e287,Extract /-/plugins view into a method,2018-05-13T13:06:02Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cf1fe693e5741035df65cc9d69c4af32befd021d,Used isort to re-order my imports,2018-05-13T12:58:28Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 368638555160fb9ac78f462d0f79b1394163fa30,Ran black source formatting tool against new views/ and app.py,2018-05-13T12:55:15Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1f69269fe93e4cd42e56890126cc0dbcf719c6cb,"Refactored views into new views/ modules, refs #256",2018-05-13T12:44:22Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 4301a8f3ac69f2f54916e73cc90fcf216a9a3746,"Case insensitive querystring comparison, fix Python 3.5",2018-05-12T22:49:37Z,2018-05-12T22:49:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw eaaa3ea1498df0d4790f814e3d2f3fcc5ea28429,"Initial implementation of facets, plus tests and docs Refs #255",2018-05-12T22:29:06Z,2018-05-12T22:29:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 70ff615f1b831c4dce936e9f9fc57a9e8e71e547,"utils.path_with_added_args() improvements * Now covered by unit tests * Preserves original order * Can handle multiple args of the same name, e.g. ?bar=1&bar=2",2018-05-12T21:35:25Z,2018-05-12T21:44:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1c815207cca70107711d514d3303986333da8b7a,Update conf.py,2018-05-12T12:08:11Z,2018-05-12T12:08:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 694f8457153eba715db98098c412a96fcfbb944f,"Documentation for SQLite full-text search support, closes #253",2018-05-12T12:06:38Z,2018-05-12T12:06:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 04d21ccd089fcaf7a2b535d217fc541ab19aa54b,"/-/versions now includes SQLite fts_versions, closes #252",2018-05-11T13:19:25Z,2018-05-11T13:19:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e10f8e1274267fdb9021832917c35cfd1ec6c714,Slight simplification of /-/inspect,2018-05-06T13:02:43Z,2018-05-06T13:05:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8e0f07284789228a98479c082a6dad467b65a35c,Added Datasette 0.21 to News,2018-05-05T23:24:55Z,2018-05-05T23:24:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,cd792325681cbad9f663f2879d8b69f1edbb678f,GitHub,107914493,datasette,9599,simonw,19864447,web-flow 62c08d0d7197264af678c2f6e0c6403196217184,"Revert ""Travis should now deploy new tags to PyPI if tests pass"" This reverts commit d39b2e357e34469728f300273ab07c3904ea7a2b. It failed with this error: https://travis-ci.org/simonw/datasette/jobs/375398977 Uploading distributions to https://upload.pypi.org/legacy/ Uploading datasette-0.21-py3-none-any.whl 100% 182k/182k [00:00<00:00, 694kB/s] HTTPError: 403 Client Error: Invalid or non-existent authentication information. for url: https://upload.pypi.org/legacy/",2018-05-05T23:22:21Z,2018-05-05T23:22:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 403211de632cd15f0820cc9399305fc43c187b47,Release Datasette 0.21,2018-05-05T23:15:38Z,2018-05-05T23:15:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d39b2e357e34469728f300273ab07c3904ea7a2b,Travis should now deploy new tags to PyPI if tests pass,2018-05-05T23:15:05Z,2018-05-05T23:15:05Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 801381b7657dd084c11ac2fb6e3d0194cfaa3455,"Default tests to using a longer timelimit Every now and then a test will fail in Travis CI on Python 3.5 because it hit the default 20ms SQL time limit. Test fixtures now default to a 200ms time limit, and we only use the 20ms time limit for the specific test that tests query interruption. This should make our tests on Python 3.5 in Travis much more stable.",2018-05-05T22:41:37Z,2018-05-05T22:44:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1259b8ac0bb25fc8af61c1948e2cc16860dca7ff,"Support _search_COLUMN=text searches, closes #237",2018-05-05T22:33:08Z,2018-05-05T22:33:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 4d6a568d6c1c9edabbaa8d58899b3857cd0185a7,"Unit tests for _search= feature, refs #237",2018-05-05T22:01:14Z,2018-05-05T22:01:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ca290719edc2ba508585149a3e905f5c0bb23a8d,"Show version on /-/plugins page, closes #248",2018-05-04T18:04:33Z,2018-05-04T18:04:33Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d4da4c92c8ff19f29ca0cb4b93cb7eaca4553e73,"?_size=max option, closes #249",2018-05-04T18:03:40Z,2018-05-04T18:03:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bb87cf873017c70a2e9155c336067d4e82481dd6,"Added /-/versions and /-/versions.json, closes #244 Sample output: { ""python"": { ""version"": ""3.6.3"", ""full"": ""3.6.3 (default, Oct 4 2017, 06:09:38) \n[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)]"" }, ""datasette"": { ""version"": ""0.20"" }, ""sqlite"": { ""version"": ""3.23.1"", ""extensions"": { ""json1"": null, ""spatialite"": ""4.3.0a"" } } }",2018-05-02T08:46:54Z,2018-05-03T14:09:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 690736436bac599ca042d1caa465c6d66d2651f9,"Bump up time limit for test_paginate_tables_and_views It was intermittently failing in Travis CI on Python 3.5: https://travis-ci.org/simonw/datasette/jobs/373713476",2018-05-02T00:17:39Z,2018-05-02T00:20:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 349e262bb1c8f225cf86a5e8542253282809a0eb,"Renamed ?_sql_time_limit_ms= to ?_timelimit, closes #242",2018-05-02T00:11:46Z,2018-05-02T00:20:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a4cc5dc81364a7300f0ba0bd5711633e803c250a,"New ?_shape=array option + tweaks to _shape, closes #245 * Default is now ?_shape=arrays (renamed from lists) * New ?_shape=array returns an array of objects as the root object * Changed ?_shape=object to return the object as the root * Updated docs",2018-05-02T00:08:16Z,2018-05-02T00:20:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2565d623af6222f3ed1c630f753b5f95ad749d49,?_shape=array experimental feature,2018-05-01T17:40:33Z,2018-05-02T00:20:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw aa954382c3776d596f459897b0d984161293529d,"FTS tables now detected by inspect(), closes #240",2018-04-29T00:04:32Z,2018-04-29T00:04:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f188ceaa2a3a5b2eab83425ad0f00cb0d364e24a,"New ?_size=XXX querystring parameter for table view, closes #229 Also added documentation for all of the _special arguments. Plus deleted some duplicate logic implementing _group_count.",2018-04-26T04:47:12Z,2018-04-26T04:47:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 4504d5160b2d86d4dae17b7c2f72bc3b02509c2c,"If max_returned_rows==page_size, increment max_returned_rows Fixes #230, where if the two were equal pagination didn't work correctly.",2018-04-26T04:04:12Z,2018-04-26T04:04:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 02ee31c8b45b872fff91e2059c15a20532e2d035,"New hidden: True option for table metadat, closes #239",2018-04-26T03:42:57Z,2018-04-26T03:42:57Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d3a0069c54aeaeffd197740120e0dca64bd0eeff,"Hide idx_* tables if spatialite detected, closes #228",2018-04-26T03:25:21Z,2018-04-26T03:25:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw db7a57a9a62d1d32e204d8acd9ab4341a1436ef9,Added class=rows-and-columns to custom query results table,2018-04-26T03:24:22Z,2018-04-26T03:24:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 00ab95430003768067bb496b125a2be93134e73d,Added CSS class rows-and-columns to main table,2018-04-24T01:30:03Z,2018-04-24T01:31:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f3f42957128c1e7ece584d45d9167f2ac003a3b8,"label_column now defined on the table-being-linked-to, fixes #234",2018-04-22T20:46:18Z,2018-04-22T20:46:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f27cabbaf3d834f47bc6bea1de7e27c11fcfa5e7,label_column option in metadata.json - closes #234,2018-04-22T17:51:43Z,2018-04-22T17:53:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3a5d7951ce8f35118ffdd7f8d86e09b909e1218c,Added Datasette 0.20 to news,2018-04-20T14:36:24Z,2018-04-20T14:36:29Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 72a7ae6859c9f9a951b96c4bd603d44acf634f00,Datasette 0.20: static assets and templates for plugins,2018-04-20T14:32:02Z,2018-04-20T14:32:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e2750c7cc0585adaa8c866be611089e62961ee35,Add col-X classes to HTML table on custom query page,2018-04-19T15:36:14Z,2018-04-19T15:36:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1e4c29501289f7bc7b3b7daf60f1ddd9f66ee338,Fixed out-dated template in documentation,2018-04-19T05:57:31Z,2018-04-19T05:57:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b52171db1e97e2be1ff2dc505ccf29107288b27b,"Plugins can now bundle custom templates, closes #224 Refs #14",2018-04-19T05:50:27Z,2018-04-19T05:50:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b55809a1e20986bb2e638b698815a77902e8708d,"Added /-/metadata /-/plugins /-/inspect, closes #225",2018-04-19T05:24:48Z,2018-04-19T05:25:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6e28ed447f879a46ee5457882cf6ae8b785c87b4,Thanks to #214 JavaScript is no longer 'soon',2018-04-18T15:17:10Z,2018-04-18T15:17:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7581320823d542fd827cb6788be87e6d51aa96dd,"Documentation for --install option, refs #223",2018-04-18T15:05:06Z,2018-04-18T15:05:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 404fa2252b070952ff1d1fc8bafc153789f36ada,"datasette publish/package --install option, closes #223 Allows you to specify one or more additional packages to be installed, useful for deploying plugins.",2018-04-18T14:48:34Z,2018-04-18T14:55:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2b344f6a34d2adaa305996a1a580ece06397f6e4,"Ran black against datasette/cli.py https://pypi.org/project/black/ cli.py was getting a bit untidy due to all of the heavily annotated click function methods - used black to clean it up and make it easier to read.",2018-04-18T14:14:21Z,2018-04-18T14:52:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1c36d07dd432b9960f4f2d096739460b4fcf8877,"New plugin hooks: extra_css_urls() and extra_js_urls() Closes #214",2018-04-18T03:12:21Z,2018-04-18T03:12:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ca588b6a30e50212f6ac233121745a4216d878f9,Fixed example HTML in CSS docs,2018-04-18T02:35:03Z,2018-04-18T02:35:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0bb483ca5bee61c9f7d148b5755d2eed56001aca," /-/static-plugins/PLUGIN_NAME/ now serves static/ from plugins Refs #214",2018-04-18T02:32:48Z,2018-04-18T02:32:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a5792a8c61b9bb6a7a5295c8ec87c2567a5e39a2," now gets class=""col-X"" - plus added col-X documentation Refs #209",2018-04-18T02:11:11Z,2018-04-18T02:11:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw dfb87d012c30a5a3e2d6c4f2cf0a94d2fd080723,"Use to_css_class for table cell column classes This ensures that columns with spaces in the name will still generate usable CSS class names. Refs #209",2018-04-18T01:19:21Z,2018-04-18T01:19:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw aaf59db570ab7688af72c08bb5bc1edc145e3e07,"Longer time limit for test_paginate_compound_keys It was failing intermittently in Travis - see #209",2018-04-18T01:08:51Z,2018-04-18T01:09:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5ebc7137d736d8fa47b24cc799fb93909f49cabb,"Use application/octet-stream for downloadable databses I'd also like to send the Content-Length here but that's not currently possible in Sanic - see bug report here: https://github.com/channelcat/sanic/issues/1194",2018-04-18T00:31:54Z,2018-04-18T00:31:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1f384e662b58e2eb43ce20842976b677e4478f43,Updated PyPI classifiers,2018-04-18T00:30:46Z,2018-04-18T00:30:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ba9bfa583179c25aaef94b1f44da7eba74620b9a,Datasette 0.19: plugin preview (with release notes),2018-04-17T02:12:21Z,2018-04-17T02:12:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e7c769ef30add8f984eab920b2f503d4b8096bde,"Working implementation of #216 which passes the tests Reverted commit 5364fa7f3357f2de24fd45c85832205377642f19 (where I removed the code that didn't work). Added primary keys to order-by clause for sorting to get tests to pass",2018-04-17T01:41:17Z,2018-04-17T01:41:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 5364fa7f3357f2de24fd45c85832205377642f19,"Revert #216 until I can get tests to pass in Travis Revert ""Fix for _sort_desc=sortable_with_nulls test, refs #216"" This reverts commit 07fc2d113e462bfd8d7d56152c0d1fc55e0fdbe9. Revert ""Fixed #216 - paginate correctly when sorting by nullable column"" This reverts commit 2abe539a0f9f967ec0de6894774cb7ee83c4b3b9.",2018-04-17T00:52:22Z,2018-04-17T00:53:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 07fc2d113e462bfd8d7d56152c0d1fc55e0fdbe9,"Fix for _sort_desc=sortable_with_nulls test, refs #216",2018-04-17T00:05:03Z,2018-04-17T00:05:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2abe539a0f9f967ec0de6894774cb7ee83c4b3b9,Fixed #216 - paginate correctly when sorting by nullable column,2018-04-16T23:51:51Z,2018-04-16T23:52:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 10a34f995c70daa37a8a2aa02c3135a4b023a24c,Removed rogue print() call,2018-04-16T15:38:09Z,2018-04-16T15:38:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 904f1c75a3c17671d25c53b91e177c249d14ab3b,"Initial documentation for plugins, closes #213 https://datasette.readthedocs.io/en/latest/plugins.html",2018-04-16T15:12:09Z,2018-04-16T15:12:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 92396ae5bacedfcb3d7c81319ccdd04483fd7fd4,Better fix for setup.py version,2018-04-16T04:28:24Z,2018-04-16T04:38:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 43ae15c0d14b3e968e8d5bfef72ac0c39783c3a2,"Releasing v0.18 - support for units! Refs #203",2018-04-14T15:36:10Z,2018-04-14T15:36:10Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c857608738d6b6c3e4f3248304a22f8b2648dd3e,"Merge ""Support filtering with units"" from #205",2018-04-14T15:12:34Z,2018-04-14T15:17:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6b15a53cd3cd40880a5e2d38827d5fac10e4bb5f,Unit test for unlabelled foreign keys from #207,2018-04-14T15:00:54Z,2018-04-14T15:00:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw d72201e883c0612d14dfb8ffdd61aa0fe223d94a,"Added unit test for foreign key links in HTML Needed to add a further unit test for #207",2018-04-14T14:55:27Z,2018-04-14T14:55:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw fb988ace7c7e2bee5ac142a0eab22431d0675a77,"Release 0.17 to fix issues with PyPI See https://twitter.com/simonw/status/984862976447414272",2018-04-13T19:04:33Z,2018-04-13T19:04:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b6539ff04502536bd1fa96e3b1430bdafc456826,Releasing v0.16,2018-04-13T18:28:55Z,2018-04-13T18:28:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 6e16ed2a632b488a5ca21185c0147b4bca16336b,Removed pathlib dependency (incompatible with Python 3.5),2018-04-13T18:22:15Z,2018-04-13T18:22:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9f28bbe43dc277a3963a12aaae37b5ee3c277207,"Better mechanism for handling errors; 404s for missing table/database New error mechanism closes #193 404s for missing tables/databesse closes #184 Makes pull request #202 unnecessary.",2018-04-13T18:17:22Z,2018-04-13T18:17:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ad6142b67c8f137b001770339510979c5df43d85,long_description in markdown for the new PyPI,2018-04-13T16:03:09Z,2018-04-13T16:04:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cca8bf36fed9f2d0cedcfa2691a95b7965b7573c,"Allow explain select / explain query plan select Closes #201",2018-04-11T22:39:43Z,2018-04-12T21:32:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 46b237c29a195025de81dcd920c6893181229dc5,"datasette inspect now finds primary_keys Closes #195",2018-04-10T00:54:12Z,2018-04-10T00:54:12Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 57b19f09d1ee24b7369ceca8937ce67df2ca1abc,"Ability to sort using form fields (for mobile portrait mode) We now display sort options as a select box plus a descending checkbox, which means you can apply sort orders even in portrait mode on a mobile phone where the column headers are hidden. Closes #199",2018-04-10T00:30:44Z,2018-04-10T00:34:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7706fe0c67aba5cfe905c7906cae9e0c43cd75b2,Releasing v0.15,2018-04-09T15:48:24Z,2018-04-09T15:48:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a290f28caae61b47e76e825c06984f22fc41a694,"table_rows => table_rows_count, filtered_table_rows => filtered_table_rows_count Renamed properties. Closes #194",2018-04-09T05:24:24Z,2018-04-09T05:24:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c1d37fdf2be84fb07155bb1b1f61057444b03300,"Fixed bug with human filter description, refs #189 We were showing this: 201 rows where sorted by sortable_with_nulls We now show this: 201 rows sorted by sortable_with_nulls",2018-04-09T05:07:18Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 23e0fdb0f3196ffa4d8bc4944c8bc9cb0f89129b,"Removed unnecessary enumerate template helper I made this obsolete in d1756d773685ca4f9c5b57fb40e1aa743bc95525 Refs #189",2018-04-09T05:02:19Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b13f0986f26d88938519b07871c961c0b5a97802,"New sortable_columns option in metadata.json to control sort options You can now explicitly set which columns in a table can be used for sorting using the _sort and _sort_desc arguments using metadata.json: { ""databases"": { ""database1"": { ""tables"": { ""example_table"": { ""sortable_columns"": [ ""height"", ""weight"" ] } } } } } Refs #189",2018-04-09T04:58:25Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a87df963a08054ad7a652f0218e70ddb7f9cc8bd,"Error handling for ?_sort and ?_sort_desc Verifies that they match an existing column, and only one or the other option is provided - refs #189 Eses a new DatasetteError exception that closes #193",2018-04-09T04:07:31Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bfb19e3a178ba9b2dab2f90f90a398b54a73d34e,Correctly escape sort-by columns in SQL (refs #189),2018-04-09T02:25:14Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 747a801b50487cd4cc20856d44252ac0a6cb346f,Column headers now link to sort/desc sort - refs #189,2018-04-09T02:08:28Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9f2ec39fbc5481b0fa6585ccdd159ba9fd989bcc,"Current sort order now reflected in human filter description Plus renamed human_description to human_description_en Refs #189",2018-04-09T01:01:23Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw f3a3820ff5c5ba9b4af102e65ed1f084b1fe704d,"_sort and _sort_desc parameters for table views Allows for paginated sorted results based on a specified column. Refs #189",2018-04-09T00:06:10Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 29f9a29250169cdb564020109f76e0f4b52afa5d,Total row count now correct even if _next= applied,2018-04-08T23:13:52Z,2018-04-09T05:10:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b2188f044265c95f7e54860e28107c17d2a6ed2e,Use .custom_sql() for _group_count implementation (refs #150),2018-04-08T15:42:56Z,2018-04-08T15:43:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw dd0566ff8eda7fa2f0d92e51809581fae62cffed,"Utility for writing test database fixtures to a .db file python tests/fixtures.py /tmp/hello.db This is useful for making a SQLite database of the test fixtures for interactive exploration.",2018-04-03T13:46:11Z,2018-04-03T13:46:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8f0d44d6468a96e9b78487c36da20ddc2ae9d937,"escape_sqlite_table_name => escape_sqlite, handles reserved words It can be used for column names as well as table names. Reserved word list from https://www.sqlite.org/lang_keywords.html",2018-04-03T13:39:50Z,2018-04-03T13:40:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7365c3f51cedffade3428a677e5baeab2f401138,"Compound primary key _next= now plays well with extra filters Closes #190",2018-03-30T06:26:22Z,2018-03-30T06:26:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 31f63d1672a9214962cd7335a2daeabab7c0000e,"Fixed bug with keyset pagination over compound primary keys Closes #190",2018-03-30T05:10:09Z,2018-03-30T05:11:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 89d9fbb91bfc0dd9091b34dbf3cf540ab849cc44,"Database/Table views inherit source/license/source_url/license_url metadata If you set the source_url/license_url/source/license fields in your root metadata those values will now be inherited all the way down to the database and table templates. The title/description are NOT inherited. Also added unit tests for the HTML generated by the metadata. Refs #185",2018-03-27T16:18:32Z,2018-03-27T16:18:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 012fc7c5cd3e9160c9a4c19cc964253e97fb054a,Fix for FTS virtual table counting error,2018-03-21T01:26:04Z,2018-03-21T01:26:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cac32b0ec4081c00bb6eb9122d61dccfae729199,Initial documentation for pagination,2018-01-10T04:47:03Z,2018-01-10T04:47:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e63f432fe521eb8e196049f86742dc9e20f4dc35,Mention Heroku in docs index page,2018-01-10T04:46:34Z,2018-01-10T04:46:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 306e1c6ac4f00cc25d676a6ee660938f5b27427c,Broke up test_app into test_api and test_html,2017-12-15T12:04:17Z,2017-12-15T12:08:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1aad396c9ef46837b224607086c09f48ac921165,"Fixed bug with .json path regular expression I had a table called ""geojson"" and it caused an exception because the regex was matching .json and not \.json",2017-12-13T05:32:43Z,2017-12-13T05:36:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 68a34bc222af586c75daa5166c937f3f26cfefac,"Deploy to Heroku with Python 3.6.3 Heroku deploys are currently showing the following warning: The latest version of Python 3 is python-3.6.3 (you are using python-3.6.2, which is unsupported). We recommend upgrading by specifying the latest version (python-3.6.3).",2017-12-10T02:01:17Z,2017-12-10T02:01:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2edc652df6d786e4f2c3f073e3567002d248be09,Releasing v0.14,2017-12-10T01:33:24Z,2017-12-10T01:33:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ae940068096ad9ff2f27f4e1784c87788d53eb3d,"No longer include database hash in hyperlinks It was making the unit tests unreliable. Also we do not do that for foreign key links.",2017-12-10T01:31:08Z,2017-12-10T01:31:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7db790fbf999d83275a5bde4563d935a58a3d787,"Release notes for 0.14 Also updated ""datasette serve"" help in getting started docs.",2017-12-10T01:24:57Z,2017-12-10T01:26:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 794c3bfcfc03087bbebffb7b228e81aaa8b72183,"Cleaned up row/column display logic, fixed bug Closes #167",2017-12-10T00:59:25Z,2017-12-10T00:59:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7a7e4b2ed8c76c6d002a9d707dbc840f6a2abf7f,"Started unit tests for row/table HTML pages Refs #167 Thanks to the new tests, spotted and fixed a bug where pages that were supposed to have 100 things on them were actually displaying 101.",2017-12-09T23:32:54Z,2017-12-09T23:32:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3f2fed109395179de4145ca1a2675360f1717225,"Fixed bug with HTML labels loop.counter is incorrect - loop.index outputs the correct loop value.",2017-12-09T21:57:36Z,2017-12-09T21:57:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7126d08f10d637c9f1af346324f6f7c0fece8be4,"HTML comment showing which templates were considered for a page Closes #171",2017-12-09T21:47:32Z,2017-12-09T21:47:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3c9f889715249d7b0b3bc014529073066a1d478d,"Custom templates for canned queries Closes #170",2017-12-09T21:34:46Z,2017-12-09T21:34:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1c0d93c39b194103e729aed2496d2d24f5ad4850,Fix Python 3.5 test failure,2017-12-09T18:39:16Z,2017-12-09T18:39:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b01304d7070df5a02870ebd204ea093f3742029e,Updated tests I broke in c195ee4,2017-12-09T18:38:04Z,2017-12-09T18:39:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c195ee4d46f2577b1943836a8270d84c8341d138,"package and publish commands now accept --static and --template-dir Example usage: datasette package --static css:extra-css/ --static js:extra-js/ \ sf-trees.db --template-dir templates/ --tag sf-trees --branch master This creates a local Docker image that includes copies of the templates/, extra-css/ and extra-js/ directories. You can then run it like this: docker run -p 8001:8001 sf-trees For publishing to Zeit now: datasette publish now --static css:extra-css/ --static js:extra-js/ \ sf-trees.db --template-dir templates/ --name sf-trees --branch master Example: https://sf-trees-wbihszoazc.now.sh/sf-trees-02c8ef1/Street_Tree_List For publishing to Heroku: datasette publish heroku --static css:extra-css/ --static js:extra-js/ \ sf-trees.db --template-dir templates/ --branch master Closes #157, #160",2017-12-09T18:19:39Z,2017-12-09T18:28:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 16dfccb1c569359fa2a03639ada233e7661156af,"Include sha1 hash in /static/app.css URL This means that when Datasette's CSS changes the new CSS will be loaded even though browsers may have cached the previous version. Closes #154",2017-12-09T03:10:09Z,2017-12-09T03:10:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 61e3c5a1e904a6e1cbee86ba1494b5cb4b5820cf,"Removed rogue print statement, refs #141",2017-12-08T16:08:00Z,2017-12-08T16:08:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cbfd6b745eabf51295e5a5e0ea57a0f93d63b37d,"Publish should now work if /tmp is on different device Fixes #141",2017-12-08T16:06:24Z,2017-12-08T16:06:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 9af2964f6fd4ae876ef8ecd2c14c2ffa61542fdb,"Documentation for metadata.json and ""datasette skeleton"" command http://datasette.readthedocs.io/en/latest/metadata.html Closes #166",2017-12-07T17:19:35Z,2017-12-07T17:19:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 05399058062ba6df467c8745b87ece5f6951b39f,"Renamed ""datasette build"" command to ""datasette inspect"" Closes #130",2017-12-07T16:57:31Z,2017-12-07T16:57:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 80bf3afa43e3cb396c7a7c9b168eedbc6fe0fa15,"metadata.json support for per-table/per-database metadata Also added support for descriptions and HTML descriptions. Here's an example metadata.json file illustrating custom per-database and per- table metadata: { ""title"": ""Overall datasette title"", ""description_html"": ""This is a description with HTML."", ""databases"": { ""db1"": { ""title"": ""First database"", ""description"": ""This is a string description & has no HTML"", ""license_url"": ""http://example.com/"", ""license"": ""The example license"", ""queries"": { ""canned_query"": ""select * from table1 limit 3;"" }, ""tables"": { ""table1"": { ""title"": ""Custom title for table1"", ""description"": ""Tables can have descriptions too"", ""source"": ""This has a custom source"", ""source_url"": ""http://example.com/"" } } } } } Closes #165, Refs #164",2017-12-07T16:42:54Z,2017-12-07T16:47:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 515eaa8ccba0603de5b14679b74402f3ddf02bd7,--reload now reloads on metadata changes too,2017-12-07T16:42:28Z,2017-12-07T16:42:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 32cf5a4a72c1c8d46dd302566fdcbf4793f2f927,"New datasette skeleton command for generating metadata.json Closes #164",2017-12-07T06:20:37Z,2017-12-07T06:20:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7e1ba161ec87b02cf7665a73188258f14036f892,"Ability to easily customize _rows_and_columns.html per database table Also added documentation for this. Refs #158, Closes #159.",2017-12-07T06:11:22Z,2017-12-07T06:11:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw afbda9e210b6e5eae10a537c121cbb5e92cc8502,"All extra_head blocks now call super This means you can provide a custom base.html template that populates extra_head and any of the default child templates will still render content you included in that block. Refs #158",2017-12-07T05:58:42Z,2017-12-07T05:58:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a2b954e82818d5aa4b4c313d9a687d6a7bdd04b5,Fixed #155,2017-12-07T05:39:47Z,2017-12-07T05:39:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 198b8b2955b9d8a8a80ce850a92a99426c5f161f,"Fixed row page for tables with a primary key Closes #152",2017-12-07T05:23:13Z,2017-12-07T05:23:13Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 52a5e95d21c9b2b7b50f5bc423e3746ae0538734,"Fixed bug with filter columns Closes #162",2017-12-07T05:05:53Z,2017-12-07T05:05:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 709f4f2798d0490ae048094536bed7e973ea29f4,"Fixed bug with detecting FTS tables Closes #135",2017-12-07T04:54:25Z,2017-12-07T04:54:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7a4da7e5aedff3f61648d5530c4dc34de011ea8a,"Documentation for custom SQL queries http://datasette.readthedocs.io/en/latest/sql_queries.html Closes #20",2017-12-05T17:43:59Z,2017-12-05T17:43:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b7b590b4149563ec6572f577632d7471b84dcb94,"Docs for query.html CSS/template, refs #20",2017-12-05T16:35:14Z,2017-12-05T16:35:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a743cdeafca0e5d011c282a53baf753c85d01516,"Canned query support + database/query template refactor Named canned queries can now be defined in metadata.json like this: { ""databases"": { ""timezones"": { ""queries"": { ""timezone_for_point"": ""select tzid from timezones ..."" } } } } These will be shown in a new ""Queries"" section beneath ""Views"" on the database page. As part of this, I refactored the logic for the database index page. It used to combine the functionality for listing available tables and the functionality for executing custom SQL queries in a single template and view. I have split that template out into database.html and query.html and reworked the view to more clearly separate the custom SQL executing code. Refs #20",2017-12-05T16:17:02Z,2017-12-05T16:17:02Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0cfd7ce59d9018eb07af8f9e20f7d04308c9d01d,"Allow WITH query (previously we required SELECT at start) Fixes #161",2017-12-04T04:51:31Z,2017-12-04T04:51:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e981ac7d4d1e1603257369eb5edba0fc4fdf5ae9,"--static option for datasette serve You can now tell Datasette to serve static files from a specific location at a specific mountpoint. For example: datasette serve mydb.db --static extra-css:/tmp/static/css Now if you visit this URL: http://localhost:8001/extra-css/blah.css The following file will be served: /tmp/static/css/blah.css Refs #160",2017-12-03T16:33:36Z,2017-12-03T16:33:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 1feb5735dad538312fac8b76705c05516250967b,Moved getting started into separate docs page,2017-11-30T18:27:00Z,2017-11-30T18:27:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 601934936c9e6e0007aca13547b73c3b36343f7f,"Documentation for custom CSS/JavaScript/Templates Will go live at http://datasette.readthedocs.io/en/latest/custom_templates.html Closes #156",2017-11-30T17:09:48Z,2017-11-30T17:09:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw cf46b86cf736aadd5147f85bfd6ff44c29655fde,Switch to sphinx_rtd_theme,2017-11-30T16:56:20Z,2017-11-30T16:56:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 3cd06729f457d690603b6060dc552b535517ab09,"Ability to over-ride templates for individual tables/databases It is now possible to over-ride templates on a per-database / per-row or per- table basis. When you access e.g. /mydatabase/mytable Datasette will look for the following: - table-mydatabase-mytable.html - table.html If you provided a --template-dir argument to datasette serve it will look in that directory first. The lookup rules are as follows: Index page (/): index.html Database page (/mydatabase): database-mydatabase.html database.html Table page (/mydatabase/mytable): table-mydatabase-mytable.html table.html Row page (/mydatabase/mytable/id): row-mydatabase-mytable.html row.html If a table name has spaces or other unexpected characters in it, the template filename will follow the same rules as our custom CSS classes introduced in 8ab3a169d42d096f - for example, a table called ""Food Trucks"" will attempt to load the following templates: table-mydatabase-Food-Trucks-399138.html table.html It is possible to extend the default templates using Jinja template inheritance. If you want to customize EVERY row template with some additional content you can do so by creating a row.html template like this: {% extends ""default:row.html"" %} {% block content %}

EXTRA HTML AT THE TOP OF THE CONTENT BLOCK

This line renders the original block:

{{ super() }} {% endblock %} Closes #12, refs #153",2017-11-30T16:30:10Z,2017-11-30T16:38:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 7ff51598c468deb1d2c0d4c23a808458c9b1e3a2,"git commit -m ""datasette --template-dir=mytemplates/"" argument You can now pass an additional argument specifying a directory to look for custom templates in. Datasette will fall back on the default templates if a template is not found in that directory. Refs #12, #153",2017-11-30T16:05:01Z,2017-11-30T16:05:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ffa77f62b46e1ddf2f848f5da10a1e958323a084,"Removed dependency on sanic-jinja2 I wasn't using any of the functionality it adds on top of raw Jinja2. Refs #12 and #153",2017-11-30T15:51:40Z,2017-11-30T15:51:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8ab3a169d42d096f2c7979c6d3d7746618d30f0b,"CSS styling hooks as classes on the body Refs #153 Every template now gets CSS classes in the body designed to support custom styling. The index template (the top level page at /) gets this: The database template (/dbname/) gets this: The table template (/dbname/tablename) gets: The row template (/dbname/tablename/rowid) gets: The db-x and table-x classes use the database or table names themselves IF they are valid CSS identifiers. If they aren't, we strip any invalid characters out and append a 6 character md5 digest of the original name, in order to ensure that multiple tables which resolve to the same stripped character version still have different CSS classes. Some examples (extracted from the unit tests): ""simple"" => ""simple"" ""MixedCase"" => ""MixedCase"" ""-no-leading-hyphens"" => ""no-leading-hyphens-65bea6"" ""_no-leading-underscores"" => ""no-leading-underscores-b921bc"" ""no spaces"" => ""no-spaces-7088d7"" ""-"" => ""336d5e"" ""no $ characters"" => ""no--characters-59e024""",2017-11-30T07:09:54Z,2017-11-30T07:09:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b67890d15d164c7affb2887e5737534628dc6227,"Auto-link column values that look like URLs Refs #153",2017-11-29T17:05:24Z,2017-11-29T17:05:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 0120c24927af364304574ab1a58e417094e01c22,"extra_css_urls/extra_js_urls in metadata, refs #153 A mechanism in the metadata.json format for adding custom CSS and JS urls. Create a metadata.json file that looks like this: { ""extra_css_urls"": [ ""https://simonwillison.net/static/css/all.bf8cd891642c.css"" ], ""extra_js_urls"": [ ""https://code.jquery.com/jquery-3.2.1.slim.min.js"" ] } Then start datasette like this: datasette mydb.db --metadata=metadata.json The CSS and JavaScript files will be linked in the of every page. You can also specify a SRI (subresource integrity hash) for these assets: { ""extra_css_urls"": [ { ""url"": ""https://simonwillison.net/static/css/all.bf8cd891642c.css"", ""sri"": ""sha384-9qIZekWUyjCyDIf2YK1FRoKiPJq4PHt6tp/ulnuuyRBvazd0hG7pWbE99zvwSznI"" } ], ""extra_js_urls"": [ { ""url"": ""https://code.jquery.com/jquery-3.2.1.slim.min.js"", ""sri"": ""sha256-k2WSCIexGzOj3Euiig+TlR8gA0EmPjuc79OEeY5L45g="" } ] } Modern browsers will only execute the stylsheet or JavaScript if the SRI hash matches the content served. You can generate hashes using www.srihash.org",2017-11-29T02:38:15Z,2017-11-29T02:38:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 36701c85928b1eb785527ffd11cd941b31087ea3,datasette build now takes --load-extension,2017-11-26T23:01:53Z,2017-11-26T23:02:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw de6c62ed9a30b12b22fded13d492b1f193cfc728,Load SQLite extensions inside .inspect() too,2017-11-26T22:51:42Z,2017-11-26T23:02:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c160f15c3937f8fbe581276f811e8c58f9137bb1,Release version 0.13,2017-11-25T03:33:39Z,2017-11-25T03:33:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 17fee0cc1411b69d66d4401120f96c5087b16841,"Automatically deploy tags as PyPI releases https://docs.travis-ci.com/user/deployment/pypi/",2017-11-25T03:02:55Z,2017-11-25T03:32:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw e3dd2483bb78f3d4b80db6de5475ceb163155b80,Fixed quoting on foreign-key links to tables with spaces in name,2017-11-25T00:05:28Z,2017-11-25T00:05:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw c5c923d93c26f312b713b81c8d08db5c3279a23a,Don't incorrectly detect VIEWs as supporting FTS,2017-11-24T22:51:00Z,2017-11-24T22:51:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a81c62d8481d8cf97be5c5c61931e5e5bea2fbf3,"Tweaked custom SQL results display Closes #149",2017-11-24T22:41:31Z,2017-11-24T22:41:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a802cbee74d8c83876375890d914252f1adb1c96,"Search now applies to current filters Combined search into the same form as filters. Closes #133",2017-11-24T22:22:57Z,2017-11-24T22:29:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8a37baba14bc00d782fb6701d1f32e1687f10305,"Much tidier design for table view header Closes #147",2017-11-24T22:02:39Z,2017-11-24T22:02:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a53d09d91910e4af5552a6c1e73d1468a67b7962,"Show count of matching rows on table view Closes #127",2017-11-24T22:01:53Z,2017-11-24T22:01:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ab32bd64272886440c92c2fff846faa35b761158,"Fixed bug with params other than p0 p1 and upwards were not correctly extracted.",2017-11-24T21:55:00Z,2017-11-24T21:55:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw b45077839100a57adbc284ad5bf555002da819e8,"Added column__not=blah filter Closes #148",2017-11-23T22:09:50Z,2017-11-23T22:09:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 4b7596ee5caf68c9b1acd17866f88a57b23db3c4,"Row page now resolves foreign keys Closes #132",2017-11-23T21:51:16Z,2017-11-23T21:51:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a30c5b220c15360d575e94b0e67f3255e120b916,"Fixed bug on rows page, added unit test Rows page for rows that linked to the same table in more than one columns were display incorrectly. Fixed that and added a test. Also introduced /db/table/row-pk.json?_extras=foreign_key_tables This is used by the new unit test, but is the first example of a new ?_extras=comma-separated-list pattern I am introducing.",2017-11-23T21:09:45Z,2017-11-23T21:09:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 77088876813fea833b6fc3eb588ecc9b02f0a7d7,Tweaked styling of submit buttons and search box,2017-11-23T20:39:26Z,2017-11-23T20:39:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw ef3eacf622e69723d48ab1ad597645770a7361db,Select option for removing filters,2017-11-23T20:32:54Z,2017-11-23T20:32:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 22b91dd95be59148c02991a1bb56df6d82f45b6f,"Further tweaks to select/input filter styling Refs #86 - thanks for the help, @natbat!",2017-11-23T20:05:51Z,2017-11-23T20:05:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw a74e455cede3070db4138500ba0d3f354d58c436,"Custom styled select boxes for filters Refs #86",2017-11-23T15:58:55Z,2017-11-23T15:58:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 2f97834d0e47fdcd160bab6a3eb1ffd2f836771d,NBSP before ID display,2017-11-23T04:45:04Z,2017-11-23T04:45:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 38dc1ef73b13e5ae9f05ca5e7c86fa3eb639e628,Show linked foreign key in table cells,2017-11-23T04:43:27Z,2017-11-23T04:43:27Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 72e328dccf6def3328290a1a6cd7e7ab22ab0de2,Removed rogue print statement,2017-11-23T04:40:15Z,2017-11-23T04:40:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw