id,node_id,number,state,locked,title,user,body,created_at,updated_at,closed_at,merged_at,merge_commit_sha,assignee,milestone,draft,head,base,author_association,repo,url,merged_by,auto_merge 196628304,MDExOlB1bGxSZXF1ZXN0MTk2NjI4MzA0,324,closed,0,Speed up Travis by reusing pip wheel cache across builds,9599,From https://atchai.com/blog/faster-ci/ - refs #323 ,2018-06-22T03:20:08Z,2018-06-24T01:03:47Z,2018-06-24T01:03:47Z,2018-06-24T01:03:47Z,47e689a89b3f5f0969595b17d2ec59ea3caffb3b,,,0,7d7f5f61fd6dca3385386a657a13057680d8ddd7,e7566cc59d4b02ef301054fd35fdde6c925a8e38,OWNER,107914493,https://github.com/simonw/datasette/pull/324,, 247576942,MDExOlB1bGxSZXF1ZXN0MjQ3NTc2OTQy,4,closed,0,Fts5,9599,,2019-01-25T06:54:05Z,2019-01-25T06:54:33Z,2019-01-25T06:54:33Z,2019-01-25T06:54:33Z,42b2b4b785e3163371e92a9cc085bc47e7c83107,,,0,7f205d2308443557bcaec497b3d0badc0dc26f06,ccb2a1e729780689188005a52c362b7e963f71e8,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/4,, 1009936222,PR_kwDOCGYnMM48Mmde,457,closed,0,Link to installation instructions,9599,Also testing https://docs.readthedocs.io/en/stable/pull-requests.html,2022-07-27T17:38:36Z,2022-08-27T03:55:52Z,2022-07-27T17:57:50Z,2022-07-27T17:57:50Z,77ca051d4f5ddbd42fd6250749efac7ea85ea094,,8355157,0,80b3907471f724aeecae75796663815c87731e77,9e6cceac1c0e086429e2d308b700e59cc53a1991,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/457,, 1029373779,PR_kwDOCGYnMM49Wv9T,466,closed,0,Use Read the Docs action v1 (#463),9599,"Read the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1`",2022-08-17T23:11:50Z,2022-08-17T23:11:54Z,2022-08-17T23:11:54Z,2022-08-17T23:11:54Z,bb90d3326815a041512b40bf0cf53b3ace06cd67,,,0,83e7339255e811c62e6db8498c483c44a84d0f28,72655adabc596a9eed43cc11c07177a390791068,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/466,, 206863803,MDExOlB1bGxSZXF1ZXN0MjA2ODYzODAz,358,closed,0,"Bump versions of pytest, pluggy and beautifulsoup4",9599,,2018-08-08T00:44:38Z,2018-08-08T01:11:13Z,2018-08-08T01:11:13Z,2018-08-08T01:11:13Z,e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5,,,0,848ed0e0420d2e8c95a96b4cf73082da4c65d8f6,fe5b6ea95a973534fe8a44907c0ea2449aae7602,OWNER,107914493,https://github.com/simonw/datasette/pull/358,, 339236647,MDExOlB1bGxSZXF1ZXN0MzM5MjM2NjQ3,623,closed,0,Test against Python 3.8 in Travis,9599,Needed for #622,2019-11-11T03:24:54Z,2019-11-11T03:45:35Z,2019-11-11T03:45:35Z,2019-11-11T03:45:35Z,1c063fae9dba70f70244db010d55a18846640f07,,,0,877dda2d287ed3b1772f051dffd295a69c3ecd27,28c4a6db5b5e512db630d7ba6127196185de67c7,OWNER,107914493,https://github.com/simonw/datasette/pull/623,, 575940193,MDExOlB1bGxSZXF1ZXN0NTc1OTQwMTkz,1232,closed,0,--crossdb option for joining across databases,9599,"Refs #283. Still needs: - [x] Unit test for --crossdb queries - [x] Show warning on console if it truncates at ten databases (or on web interface) - [x] Show connected databases on the `/_memory` database page - [x] Documentation - [x] https://latest.datasette.io/ demo should demonstrate this feature",2021-02-18T19:48:50Z,2021-02-18T22:09:13Z,2021-02-18T22:09:12Z,2021-02-18T22:09:12Z,6f41c8a2bef309a66588b2875c3e24d26adb4850,,,0,887649942b02d70a0fe4e205e1e5eff4e745b016,4df548e7668b5b21d64a267964951e67894f4712,OWNER,107914493,https://github.com/simonw/datasette/pull/1232,, 500256485,MDExOlB1bGxSZXF1ZXN0NTAwMjU2NDg1,1000,closed,0,datasette.client internal requests mechanism,9599,Refs #943,2020-10-08T23:58:25Z,2020-10-09T16:11:26Z,2020-10-09T16:11:25Z,2020-10-09T16:11:25Z,8f97b9b58e77f82fef1f10e9c9f6754b993544b6,9599,5971510,0,8a80c79deb640bc1a1864132a3564ccca59e8858,7249ac5ca04b5ddc6517750326ee7e522cc49145,OWNER,107914493,https://github.com/simonw/datasette/pull/1000,, 368734500,MDExOlB1bGxSZXF1ZXN0MzY4NzM0NTAw,663,closed,0,"-p argument for datasette package, plus tests - refs #661",9599,,2020-01-29T19:47:49Z,2020-01-29T22:46:43Z,2020-01-29T22:46:43Z,2020-01-29T22:46:43Z,67fc9c5720ed1fcd62b116481f70d4e80b403a22,,,0,8adfc9db7f15e36fed677be4a9c833ff2cdec0bc,34d77d780f68b778fd9d6ebbaf69f250436f055f,OWNER,107914493,https://github.com/simonw/datasette/pull/663,, 1451100029,PR_kwDOBm6k_c5Wfgd9,2118,closed,0,New JSON design for query views,9599,"WIP. Refs: - #2109 ---- :books: Documentation preview :books:: https://datasette--2118.org.readthedocs.build/en/2118/ ",2023-07-26T23:29:21Z,2023-08-08T01:47:40Z,2023-08-08T01:47:39Z,2023-08-08T01:47:39Z,1377a290cd85ba8d3338b1da47c4665ed4c6c625,,9700784,0,8b1dea3c0994d5875e372965eb5ca388ea08fe6a,08181823990a71ffa5a1b57b37259198eaa43e06,OWNER,107914493,https://github.com/simonw/datasette/pull/2118,, 329890320,MDExOlB1bGxSZXF1ZXN0MzI5ODkwMzIw,599,closed,0,Fix for /foo v.s. /foo-bar issue in #597,9599,Refs #597,2019-10-18T19:22:55Z,2019-10-18T22:51:07Z,2019-10-18T22:51:07Z,2019-10-18T22:51:07Z,b647b5efc29300f715ba656e41b0591f342938e1,,,0,8cc5a8dc35371f7d4353a4206b2d079f520c61cd,b6ad1fdc7068cb8248787843e7438d1f19fa2e3a,OWNER,107914493,https://github.com/simonw/datasette/pull/599,, 201075532,MDExOlB1bGxSZXF1ZXN0MjAxMDc1NTMy,341,closed,0,Bump aiohttp to fix compatibility with Python 3.7,9599,Tests failed here: https://travis-ci.org/simonw/datasette/jobs/403223333,2018-07-12T17:41:24Z,2018-07-12T18:07:38Z,2018-07-12T18:07:38Z,2018-07-12T18:07:38Z,31a5d8fa77be68d4f837f0a80a611675dce49f4b,,,0,8d34ed776168dcac530859c51f22e8b48829a513,130dc8823ebdcc1834fc7c4a03c996b13fc1e444,OWNER,107914493,https://github.com/simonw/datasette/pull/341,, 580235427,MDExOlB1bGxSZXF1ZXN0NTgwMjM1NDI3,241,open,0,Extract expand - work in progress,9599,Refs #239. Still needs documentation and CLI implementation.,2021-02-25T16:36:38Z,2021-02-25T16:36:38Z,,,0bb6c7a38994627a64e7b3375931528e96b8c222,,,1,8d641ab08ac449081e96f3e25bd6c0226870948a,38e688fb8bcb58ae888b676fe3f7dd0529b4eecc,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/241,, 337847573,MDExOlB1bGxSZXF1ZXN0MzM3ODQ3NTcz,64,closed,0,test_insert_upsert_all_empty_list,9599,,2019-11-07T04:24:45Z,2019-11-07T04:32:38Z,2019-11-07T04:32:38Z,2019-11-07T04:32:38Z,8dab9fd1ccf571e188eec9ccf606a0c50fccf200,,,0,8daea7f1265ddcce67d28258068a25666954000f,a0a65f9a6405079b01aefdbf4b5f507bc758567a,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/64,, 572209243,MDExOlB1bGxSZXF1ZXN0NTcyMjA5MjQz,1222,closed,0,"--ssl-keyfile and --ssl-certfile, refs #1221",9599,,2021-02-12T00:45:58Z,2021-02-12T00:52:18Z,2021-02-12T00:52:17Z,2021-02-12T00:52:17Z,eda652cf6ee28a0babfb30ce3834512e9e33fb8e,,,0,8ec72ea3e3e0a9876d5e61e4a2260224f16db2e3,aa1fe0692c2abb901216738bfb35f9fcc5090e7d,OWNER,107914493,https://github.com/simonw/datasette/pull/1222,, 782105066,PR_kwDOBm6k_c4unfnq,1512,closed,0,New pattern for async view classes,9599,Refs #878 - starting out with the new `AsyncBase` class implementing a pytest-inspired `asyncio` parallel execution mechanism.,2021-11-16T21:55:44Z,2021-11-17T01:39:54Z,2021-11-17T01:39:44Z,,fb57d4474cb1fdaef260e244b1b6f470f1992e40,,,1,8f757da0750fe7f27b4ed3839bc3ef3650832ad9,0156c6b5e52d541e93f0d68e9245f20ae83bc933,OWNER,107914493,https://github.com/simonw/datasette/pull/1512,, 513106026,MDExOlB1bGxSZXF1ZXN0NTEzMTA2MDI2,1069,closed,0,load_template() plugin hook,9599,Refs #1042,2020-10-30T15:59:45Z,2020-10-30T17:47:20Z,2020-10-30T17:47:19Z,2020-10-30T17:47:19Z,81dea4b07ab2b6f4eaaf248307d2b588472054a1,,6026070,0,92f3840882a24da29d0d4073e5ed9d77fce438fc,fcf43589eb6a1f1d0432772a639fd35711c48e0c,OWNER,107914493,https://github.com/simonw/datasette/pull/1069,, 293992382,MDExOlB1bGxSZXF1ZXN0MjkzOTkyMzgy,535,closed,0,"Added asgi_wrapper plugin hook, closes #520",9599,,2019-07-03T03:58:00Z,2019-07-03T04:06:26Z,2019-07-03T04:06:26Z,2019-07-03T04:06:26Z,4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3,,,0,93bfa26bfd25a3cc911d637596e364d3474325bd,b9ede4c1898616512b5d204f9c941deff473cbe4,OWNER,107914493,https://github.com/simonw/datasette/pull/535,, 711783616,MDExOlB1bGxSZXF1ZXN0NzExNzgzNjE2,1430,closed,0,Column metadata,9599,"Refs #942 Still needs: - [x] Tests - [x] Documentation",2021-08-12T23:34:39Z,2021-08-12T23:53:23Z,2021-08-12T23:53:23Z,2021-08-12T23:53:23Z,e837095ef35ae155b4c78cc9a8b7133a48c94f03,,,0,941994725dd41deb6f839c5063cff5d15d4abb1c,b1fed48a95516ae84c0f020582303ab50ab817e2,OWNER,107914493,https://github.com/simonw/datasette/pull/1430,, 301483613,MDExOlB1bGxSZXF1ZXN0MzAxNDgzNjEz,564,open,0,First proof-of-concept of Datasette Library,9599,"Refs #417. Run it like this: datasette -d ~/Library Uses a new plugin hook - available_databases() ",2019-07-26T10:22:26Z,2023-02-07T15:14:11Z,,,4f425d2b39d1be10d7ef5c146480a3eb494d5086,,,1,947645d84710677ea50762016081a9fbc6b014a8,a9453c4dda70bbf5122835e68f63db6ecbe1a6fc,OWNER,107914493,https://github.com/simonw/datasette/pull/564,, 1358282799,PR_kwDOCGYnMM5Q9cAv,549,closed,0,TUI powered by Trogon,9599,"Refs: - #545 ---- :books: Documentation preview :books:: https://sqlite-utils--549.org.readthedocs.build/en/549/ ",2023-05-21T17:55:42Z,2023-05-21T18:42:00Z,2023-05-21T18:41:56Z,2023-05-21T18:41:56Z,718b0cba9b32d97a41bcf9757c97fe1d058da81c,,,0,948692a94b22852b3147abebac9d719b69320b57,e8c5b042e49c627aefd620c8d4b1c84eb8677f73,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/549,, 468370658,MDExOlB1bGxSZXF1ZXN0NDY4MzcwNjU4,936,closed,0,Don't hang in db.execute_write_fn() if connection fails,9599,Refs #935,2020-08-15T22:20:12Z,2020-08-15T22:35:33Z,2020-08-15T22:35:32Z,2020-08-15T22:35:32Z,b86f94883b1d827f85b07009e8346b8e9c6eeefa,,,0,94a68b95a21f29526d66e88bf5ea524a3efcc609,13b3b51087964d5e1a8c1cdd2495e07bdbe176b8,OWNER,107914493,https://github.com/simonw/datasette/pull/936,, 1155365505,PR_kwDOBm6k_c5E3XqB,1940,closed,0,register_permissions() plugin hook,9599,"Refs #1939 From this comment: https://github.com/simonw/datasette/issues/1939#issuecomment-1343872168 - [x] Unit test for the registration plugin hook itself - [x] Use them in `check_permission_actions_are_documented` test in `conftest.py` - [x] Add description field to `Permissions` (and update tests and docs) - [x] Documentation for `datasette.permissions` dictionary - [x] If no `default=` provided in call to `permission_allowed()` then use default from `datasette.permissions` list - [x] Remove `default=` from a bunch of places - [x] Throw an error if two permissions are registered with the same name or abbreviation (but other attributes differ) - [x] Update authentication and permissions documentation to explain that permissions are now registered and have a registered default ---- :books: Documentation preview :books:: https://datasette--1940.org.readthedocs.build/en/1940/ ",2022-12-09T05:09:28Z,2022-12-13T02:05:55Z,2022-12-13T02:05:54Z,2022-12-13T02:05:54Z,8bf06a76b51bc9ace7cf72cf0cca8f1da7704ea7,,8711695,0,94e5c75397a96b86a3349123808cd02cb20f7440,e539c1c024bc62d88df91d9107cbe37e7f0fe55f,OWNER,107914493,https://github.com/simonw/datasette/pull/1940,, 537791675,MDExOlB1bGxSZXF1ZXN0NTM3NzkxNjc1,208,closed,0,sqlite-utils analyze-tables command and table.analyze_column() method,9599,"Refs #207 - [x] Improve design of CLI output - [x] Truncate long values in least/most common - [x] Add a `-c` column selection option - [x] Tests - [x] Documentation",2020-12-12T05:27:49Z,2020-12-13T07:20:16Z,2020-12-13T07:20:12Z,2020-12-13T07:20:12Z,69a121e08847acbf95abf0c2df1759fc73dc81b8,,,0,95a966bb6216215d40d0016d673a28b04428db43,c5f4f0f70ce394dfec6054c3c5aaedf330887093,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/208,, 275861559,MDExOlB1bGxSZXF1ZXN0Mjc1ODYxNTU5,449,closed,0,Apply black to everything,9599,"I've been hesitating on this for literally months, because I'm not at all excited about the giant diff that will result. But I've been using black on many of my other projects (most actively [sqlite-utils](https://github.com/simonw/sqlite-utils)) and the productivity boost is undeniable: I don't have to spend a single second thinking about code formatting any more! So it's worth swallowing the one-off pain and moving on in a new, black-enabled world.",2019-05-03T21:57:26Z,2019-05-04T02:17:14Z,2019-05-04T02:15:15Z,2019-05-04T02:15:15Z,35d6ee2790e41e96f243c1ff58be0c9c0519a8ce,,,0,9683aeb2394a4b7e44499b8a0240af3baafda832,66c87cee0c7344c7877373c60b180c766c206101,OWNER,107914493,https://github.com/simonw/datasette/pull/449,, 515014883,MDExOlB1bGxSZXF1ZXN0NTE1MDE0ODgz,195,closed,0,table.search() improvements plus sqlite-utils search command,9599,Refs #192. Still needs tests.,2020-11-03T22:02:08Z,2020-11-06T18:30:49Z,2020-11-06T18:30:42Z,2020-11-06T18:30:42Z,d411fba1f4124047429ac9d1175a04b36bf5bee9,,,0,973d94d44f27d35d856fe1cc822f9d5d40e4b5e6,59d8689ed0e6e042d99fd650896def680ca3c657,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/195,, 499603359,MDExOlB1bGxSZXF1ZXN0NDk5NjAzMzU5,184,closed,0,Test against Python 3.9,9599,,2020-10-08T01:37:05Z,2020-10-08T01:44:06Z,2020-10-08T01:44:06Z,2020-10-08T01:44:06Z,8e91de8e4edf6c8abeeccdf084b8870fff40a51a,,,0,975c05b6dde9feebcdecabc047d47122ebcfdf84,7f4fe9190c1df7f0e72f9d7040327a43cf252c48,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/184,, 816927546,PR_kwDOCGYnMM4wsVM6,367,closed,0,Initial prototype of .analyze() methods,9599,Refs #366,2022-01-08T21:35:12Z,2022-01-10T19:31:08Z,2022-01-10T19:31:08Z,,2ffcbed6787523649dd676985f3ea70a62944764,,7558727,1,9848eaa61b43de0ddb74ff6d085bcb18f4640f91,a8f9cc6f64f299830834428509940d448b82b4ed,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/367,, 560725714,MDExOlB1bGxSZXF1ZXN0NTYwNzI1NzE0,1203,closed,0,Easier way to run Prettier locally,9599,Refs #1167,2021-01-25T01:39:06Z,2021-01-25T01:41:46Z,2021-01-25T01:41:46Z,2021-01-25T01:41:46Z,ffff3a4c5398a9f40b61d59736f386444da19289,,,0,98acc8865aa7826a40a7a076ab548ba8597af734,b6a7b58fa01af0cd5a5e94bd17d686d283a46819,OWNER,107914493,https://github.com/simonw/datasette/pull/1203,, 880373442,PR_kwDOBm6k_c40eW7C,1659,closed,0,Tilde encoding,9599,Refs #1657,2022-03-15T16:19:07Z,2022-03-15T18:01:58Z,2022-03-15T18:01:57Z,2022-03-15T18:01:57Z,a35393b29cfb5b8abdc6a94e577af1c9a5c13652,,,0,99b8263806e81028af169f400352c26e5473ab44,c10cd48baf106659bf3f129ad7bfb2226be73821,OWNER,107914493,https://github.com/simonw/datasette/pull/1659,, 205770996,MDExOlB1bGxSZXF1ZXN0MjA1NzcwOTk2,1,closed,0,Make .indexes compatible with older SQLite versions,9599,Older SQLite versions return a different set of columns from the PRAGMA we are using.,2018-08-02T15:17:05Z,2018-08-02T15:17:30Z,2018-08-02T15:17:30Z,2018-08-02T15:17:30Z,741e8f7fe563e18fe9a12ac1ce38157e8c903505,,,0,9e674311065b8372f0a93becc8e7357ceffd353b,0aa28293adedc488eb9107dc52b5e9a124887fbd,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/1,, 440946817,MDExOlB1bGxSZXF1ZXN0NDQwOTQ2ODE3,869,closed,0,Magic parameters for canned queries,9599,"Implementation for #842 TODO: - [x] Add tests for built-in magic parameters - [x] Magic parameters should not show up as blank form fields on the query page - [x] Update documentation for new `_request_X` (now called `_header_X`) implementation where X is a key from the ASGI scope - [x] Make sure these only work for canned queries, not for arbitrary SQL queries (security issue) - [x] Add test for the `register_magic_parameters` plugin hook - [x] Add documentation for the `register_magic_parameters` plugin hook ",2020-06-27T18:37:21Z,2020-06-28T02:58:18Z,2020-06-28T02:58:17Z,2020-06-28T02:58:17Z,563f5a2d3ab30ad08daee38f5ec3ed6429ac9206,,5533512,0,9e693a7aae3b4a0882881e3a1c182e1c0c753efd,4b142862f237f95a731cb8263a293eda70d13c82,OWNER,107914493,https://github.com/simonw/datasette/pull/869,, 1503774871,PR_kwDOBm6k_c5ZociX,2173,closed,0,click-default-group>=1.2.3,9599,"Now available as a wheel: - https://github.com/click-contrib/click-default-group/issues/21 ---- :books: Documentation preview :books:: https://datasette--2173.org.readthedocs.build/en/2173/ ",2023-09-06T02:33:28Z,2023-09-06T02:50:10Z,2023-09-06T02:50:10Z,2023-09-06T02:50:10Z,05707aa16b5c6c39fbe48b3176b85a8ffe493938,,,0,a481ebd495d0f87ebd6dcf360a9cff25a6e148d7,fd083e37ec53e7e625111168d324a572344a3b19,OWNER,107914493,https://github.com/simonw/datasette/pull/2173,, 1492599485,PR_kwDOBm6k_c5Y90K9,2161,closed,0,"-s/--setting x y gets merged into datasette.yml, refs #2143, #2156",9599,"This change updates the `-s/--setting` option to `datasette serve` to allow it to be used to set arbitrarily complex nested settings in a way that is compatible with the new `-c datasette.yml` work happening in: - #2143 It will enable things like this: ``` datasette data.db --setting plugins.datasette-ripgrep.path ""/home/simon/code"" ``` For the moment though it just affects [settings](https://docs.datasette.io/en/1.0a4/settings.html) - so you can do this: ``` datasette data.db --setting settings.sql_time_limit_ms 3500 ``` I've also implemented a backwards compatibility mechanism, so if you use it this way (the old way): ``` datasette data.db --setting sql_time_limit_ms 3500 ``` It will notice that the setting you passed is one of Datasette's core settings, and will treat that as if you said `settings.sql_time_limit_ms` instead. ---- :books: Documentation preview :books:: https://datasette--2161.org.readthedocs.build/en/2161/ ",2023-08-28T19:30:42Z,2023-08-28T20:06:15Z,2023-08-28T20:06:14Z,2023-08-28T20:06:14Z,d9aad1fd042a25d226f2ace1f7827b4602761038,,,0,a5cbf80d795b599697b2b873566386abb0cd8b32,527cec66b0403e689c8fb71fc8b381a1d7a46516,OWNER,107914493,https://github.com/simonw/datasette/pull/2161,, 285698310,MDExOlB1bGxSZXF1ZXN0Mjg1Njk4MzEw,501,closed,0,Test against Python 3.8-dev using Travis,9599,,2019-06-06T08:37:53Z,2019-11-11T03:23:29Z,2019-11-11T03:23:29Z,,1aac0cf0ab962060dd5cff19b8b179bb7fa0f00b,,,0,a5defb684fcc734f6325ca08beef9f49c3e7a298,5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945,OWNER,107914493,https://github.com/simonw/datasette/pull/501,, 179108961,MDExOlB1bGxSZXF1ZXN0MTc5MTA4OTYx,192,closed,0,New ?_shape=objects/object/lists param for JSON API,9599,Refs #122,2018-04-03T14:02:58Z,2018-04-03T14:53:00Z,2018-04-03T14:52:55Z,2018-04-03T14:52:55Z,0abd3abacb309a2bd5913a7a2df4e9256585b1bb,,,0,a759e09e8599e2cf54f6c5ab4d1cf8adf8608793,dd0566ff8eda7fa2f0d92e51809581fae62cffed,OWNER,107914493,https://github.com/simonw/datasette/pull/192,, 511005542,MDExOlB1bGxSZXF1ZXN0NTExMDA1NTQy,1056,closed,0,"Radical new colour scheme and base styles, courtesy of @natbat",9599,,2020-10-27T19:31:48Z,2020-10-27T19:39:57Z,2020-10-27T19:39:56Z,2020-10-27T19:39:56Z,e5f5034bcdc71e4bc62a6a155ca60eb41910c335,,6026070,0,a7b2aabd5148c0ee382b583de68a4f0538f7dfb1,26bb4a268127da2c38f4241abe45444b2a6f7874,OWNER,107914493,https://github.com/simonw/datasette/pull/1056,, 313384926,MDExOlB1bGxSZXF1ZXN0MzEzMzg0OTI2,571,closed,0,detect_fts now works with alternative table escaping,9599,Fixes #570,2019-09-03T00:23:39Z,2019-09-03T00:32:28Z,2019-09-03T00:32:28Z,2019-09-03T00:32:28Z,2dc5c8dc259a0606162673d394ba8cc1c6f54428,,,0,a85239f69261c10f1a9f90514c8b5d113cb94585,f04deebec4f3842f7bd610cd5859de529f77d50e,OWNER,107914493,https://github.com/simonw/datasette/pull/571,, 357992588,MDExOlB1bGxSZXF1ZXN0MzU3OTkyNTg4,72,closed,0,Fixed implementation of upsert,9599,Refs #66,2019-12-30T05:08:05Z,2019-12-30T05:29:24Z,2019-12-30T05:29:24Z,2019-12-30T05:29:24Z,9f47e8b9a4cb788b48b76aee1333c6f3baaebbd6,,,0,ab8a4bda75fc59871ba8445c6a0fb2332483029c,dc0a62556ec092be7b341c5220e0410354f7cd02,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/72,, 379378780,MDExOlB1bGxSZXF1ZXN0Mzc5Mzc4Nzgw,686,closed,0,?_searchmode=raw option,9599,Closes #676,2020-02-25T05:45:50Z,2020-02-25T05:56:09Z,2020-02-25T05:56:04Z,2020-02-25T05:56:04Z,6cb65555f46456eb31b62e855e21b1d8c809b1a2,,,0,abc782cb342c21b565142e44e70502e61ac6756b,a093c5f79fa034a97d2ad8b606745dd3b80365af,OWNER,107914493,https://github.com/simonw/datasette/pull/686,, 429613893,MDExOlB1bGxSZXF1ZXN0NDI5NjEzODkz,809,closed,0,Publish secrets,9599,Refs #787. Will need quite a bit of manual testing since this involves code which runs against Heroku and Cloud Run.,2020-06-07T02:00:31Z,2020-06-11T16:02:13Z,2020-06-11T16:02:03Z,2020-06-11T16:02:03Z,98632f0a874b7b9dac6abf0abb9fdb7e2839a4d3,,5512395,0,abdac31328646705a957d58429b88d185ef43ded,ce4958018ede00fbdadf0c37a99889b6901bfb9b,OWNER,107914493,https://github.com/simonw/datasette/pull/809,, 677554929,MDExOlB1bGxSZXF1ZXN0Njc3NTU0OTI5,293,closed,0,Test against Python 3.10-dev,9599,,2021-06-25T01:40:39Z,2021-10-13T21:49:33Z,2021-10-13T21:49:33Z,,0f64d20b044ecb86d9e4e5843f9590006d2f39c2,,,0,ae0f46a78958c0118e98c2ab18bd1b57a0478326,747be6057d09a4e5d9d726e29d5cf99b10c59dea,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/293,, 188312411,MDExOlB1bGxSZXF1ZXN0MTg4MzEyNDEx,261,closed,0,Facets improvements plus suggested facets,9599,Refs #255,2018-05-16T03:52:39Z,2018-05-16T15:27:26Z,2018-05-16T15:27:25Z,2018-05-16T15:27:25Z,9959a9e4deec8e3e178f919e8b494214d5faa7fd,,,0,af0e91e7769891949198fb1e1760886424f34b16,2b79f2bdeb1efa86e0756e741292d625f91cb93d,OWNER,107914493,https://github.com/simonw/datasette/pull/261,, 410469272,MDExOlB1bGxSZXF1ZXN0NDEwNDY5Mjcy,746,closed,0,"shutil.Error, not OSError",9599,Refs #744,2020-04-29T03:30:51Z,2020-04-29T07:07:24Z,2020-04-29T07:07:23Z,,e4e8b51b50e51b2515c6d8874d16c4607f79b80a,,,0,af3a5b91503f5d74aa111bbcd1ee531ee00f9ed7,89c4ddd4828623888e91a1d2cb396cba12d4e7b4,OWNER,107914493,https://github.com/simonw/datasette/pull/746,, 313383317,MDExOlB1bGxSZXF1ZXN0MzEzMzgzMzE3,60,closed,0,db.triggers and table.triggers introspection,9599,Closes #59,2019-09-03T00:04:32Z,2019-09-03T00:09:42Z,2019-09-03T00:09:42Z,2019-09-03T00:09:42Z,2ca63e3b2de5408a860c6c7c1852deb9a138279e,,,0,b0a27fbb34b4362ef192deb560612fabf046cd32,405e092d5916e70df10f82d15e9c052aa9ee8d80,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/60,, 195413241,MDExOlB1bGxSZXF1ZXN0MTk1NDEzMjQx,315,closed,0,Streaming mode for downloading all rows as a CSV,9599,Refs #266,2018-06-18T03:06:59Z,2018-06-18T03:29:13Z,2018-06-18T03:21:02Z,2018-06-18T03:21:02Z,fc3660cfad7668dbce6ead12766e048fc1f78b11,,,0,b15f412e04ce9ff21983986e661fbe4396f97b43,0d7ba1ba676828dc7c8dda78ebe7921f7986fc18,OWNER,107914493,https://github.com/simonw/datasette/pull/315,, 393274433,MDExOlB1bGxSZXF1ZXN0MzkzMjc0NDMz,708,closed,0,"base_url configuration setting, refs #394",9599,Pull request implementing #394,2020-03-24T21:52:00Z,2020-03-25T00:18:44Z,2020-03-25T00:18:44Z,2020-03-25T00:18:44Z,7656fd64d8b6a32ebc34d89c1b8711cc5ea240f7,,5234079,0,b1f953b5de1bef239ddb1d133f9b2e19f8e3438a,a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c,OWNER,107914493,https://github.com/simonw/datasette/pull/708,, 247861419,MDExOlB1bGxSZXF1ZXN0MjQ3ODYxNDE5,5,closed,0,Run Travis tests against Python 3.8-dev,9599,,2019-01-26T02:30:55Z,2019-01-26T02:37:54Z,2019-01-26T02:37:54Z,2019-01-26T02:37:54Z,3a944d0c077c203277f13dd69387eb84b5c88d3e,,,0,b2f81e86074526d6e4dc9e39e791deff195669de,9a4d1ff0a268c7df7839389acd92d48752d24b95,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/5,, 1067890893,PR_kwDOBm6k_c4_prjN,1823,open,0,Keyword-only arguments for a bunch of internal methods,9599,"Refs #1822 ---- :books: Documentation preview :books:: https://datasette--1823.org.readthedocs.build/en/1823/ ",2022-09-27T00:44:59Z,2022-10-05T04:37:54Z,,,28068a62ad6a8b76a1c9223c4ca78099cfd2ece5,,,0,b545b6a04ed7b407331f991adce107691ac3ab97,5f9f567acbc58c9fcd88af440e68034510fb5d2b,OWNER,107914493,https://github.com/simonw/datasette/pull/1823,, 297459797,MDExOlB1bGxSZXF1ZXN0Mjk3NDU5Nzk3,40,closed,0,.get() method plus support for compound primary keys,9599,"- [x] Tests for the `NotFoundError` exception - [x] Documentation for `.get()` method - [x] Support `--pk` multiple times to define CLI compound primary keys - [x] Documentation for compound primary keys",2019-07-15T03:43:13Z,2019-07-15T04:28:57Z,2019-07-15T04:28:52Z,2019-07-15T04:28:52Z,c65b67ca46f70e2da46a5b945f4ed358173262e9,,,0,b5a5df6d0ed47f33f6e1b4873948ead9a7c71060,65b2156d9cc0aa6b5c3dc7a6bd600d98b281a13b,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/40,, 409123897,MDExOlB1bGxSZXF1ZXN0NDA5MTIzODk3,737,closed,0,"Custom pages mechanism, refs #648",9599,"Refs #648. TODO: - [x] Pass a `view_name` to `render_template()` - [x] Mechanism for custom status code / headers / redirect - [x] Documentation",2020-04-26T17:31:41Z,2020-04-26T18:46:43Z,2020-04-26T18:46:43Z,2020-04-26T18:46:43Z,304e7b1d9fd904ae1c35600bc03662eb90eeeae0,,,0,b5bbf1bd88f67a26eb34902bc11f2da7692c7af2,227bb3e91fe34811a9374150798643a5af98ed79,OWNER,107914493,https://github.com/simonw/datasette/pull/737,, 290897104,MDExOlB1bGxSZXF1ZXN0MjkwODk3MTA0,518,closed,0,Port Datasette from Sanic to ASGI + Uvicorn,9599,"Most of the code here was fleshed out in comments on #272 (Port Datasette to ASGI) - this pull request will track the final pieces: - [x] Update test harness to more correctly simulate the `raw_path` issue - [x] Use `raw_path` so table names containing `/` can work correctly - [x] Bug: JSON not served with correct content-type - [x] Get ?_trace=1 working again - [x] Replacement for `@app.listener(""before_server_start"")` - [x] Bug: `/fixtures/table%2Fwith%2Fslashes.csv?_format=json` downloads as CSV - [x] Replace Sanic request and response objects with my own classes, so I can remove Sanic dependency - [x] Final code tidy-up before merging to master",2019-06-23T15:18:42Z,2019-06-24T13:42:50Z,2019-06-24T03:13:09Z,2019-06-24T03:13:09Z,ba8db9679f3bd2454c9e76e7e6c352126848b57a,9599,3268330,0,b794554a26ddc81bd772c4422d80d5ee863e92b0,35429f90894321eda7f2db31b9ea7976f31f73ac,OWNER,107914493,https://github.com/simonw/datasette/pull/518,, 815164865,PR_kwDOCGYnMM4wlm3B,361,closed,0,--lines and --text and --convert and --import,9599,"Refs #356 Still TODO: - [x] Get `--lines` working, with tests - [x] Get `--text` working, with tests - [x] Get regular JSON import working with `--convert` with tests - [x] Get `--lines` working with `--convert` with tests - [x] Get `--text` working with `--convert` with tests - [x] Get `--csv` and `--tsv` import working with `--convert` with tests - [x] Get `--nl` working with `--convert` with tests - [x] Documentation for all of the above",2022-01-06T01:49:44Z,2022-01-06T06:37:03Z,2022-01-06T06:24:54Z,2022-01-06T06:24:54Z,413f8ed754e38d7b190de888c85fe8438336cb11,,,0,b7f0b88d49032a053f0de2dbba356ee1f3b949c0,f3fd8613113d21d44238a6ec54b375f5aa72c4e0,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/361,, 1507097949,PR_kwDOCGYnMM5Z1H1d,593,closed,0,".transform() now preserves rowid values, refs #592",9599,"Refs: - #592 - [x] Tests against weird shaped tables I need to test that this works against: - `rowid` tables - Tables that have a column called `rowid` even though they are not rowid tables ---- :books: Documentation preview :books:: https://sqlite-utils--593.org.readthedocs.build/en/593/ ",2023-09-08T01:02:28Z,2023-09-10T17:44:59Z,2023-09-09T00:45:30Z,2023-09-09T00:45:30Z,1c6ea54338e24fcebcee4e2f9c170ee300a5d946,,,0,b86374f705d1f4143a51634b30289cb48add0ea2,5d123f031fc4fadc98f508e0ef6b7b6671e86155,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/593,, 1139440836,PR_kwDOBm6k_c5D6nzE,1912,closed,0,Merge 1.0-dev (with initial write API) back into main,9599,"See: - #1892 ---- :books: Documentation preview :books:: https://datasette--1912.org.readthedocs.build/en/1912/ ",2022-11-29T19:31:21Z,2022-11-29T19:39:37Z,2022-11-29T19:39:36Z,2022-11-29T19:39:36Z,07aad511769da9242260c850e8d975cbd8c29552,,,0,b8fc8e2cd755b9cfc66838bdc1ca9ee87afdce8a,21f8aab53164a4f096737743d8cc624d2186327a,OWNER,107914493,https://github.com/simonw/datasette/pull/1912,, 1029360106,PR_kwDOCGYnMM49Wsnq,465,closed,0,beanbag-docutils>=2.0,9599,Refs #464,2022-08-17T22:41:39Z,2022-08-17T23:38:07Z,2022-08-17T23:38:02Z,2022-08-17T23:38:02Z,f8ffac8787e299a62c99ed1ce914cd5ace84ad94,,,0,bb90d3326815a041512b40bf0cf53b3ace06cd67,45e24deffea042b5db7ab84cd1eb63b3ed9bb9da,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/465,, 691707409,MDExOlB1bGxSZXF1ZXN0NjkxNzA3NDA5,1397,closed,0,"Fix for race condition in refresh_schemas(), closes #1231",9599,,2021-07-16T19:44:43Z,2021-07-16T19:45:00Z,2021-07-16T19:44:58Z,2021-07-16T19:44:58Z,c00f29affcafce8314366852ba1a0f5a7dd25690,,,0,bf2453ab7cb876c91edab3df59b7f398df2f9727,dd5ee8e66882c94343cd3f71920878c6cfd0da41,OWNER,107914493,https://github.com/simonw/datasette/pull/1397,, 284390197,MDExOlB1bGxSZXF1ZXN0Mjg0MzkwMTk3,497,closed,0,Upgrade pytest to 4.6.1,9599,,2019-06-03T01:45:34Z,2019-06-03T02:06:32Z,2019-06-03T02:06:27Z,2019-06-03T02:06:27Z,5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945,,,0,bf2ab0306e6d3ce7524fecf015e2cec7ae45e994,803f750309bf0cd5b7501228c1efcf9a35686d74,OWNER,107914493,https://github.com/simonw/datasette/pull/497,, 300286535,MDExOlB1bGxSZXF1ZXN0MzAwMjg2NTM1,45,closed,0,"Implemented table.lookup(...), closes #44",9599,,2019-07-23T13:03:30Z,2019-07-23T13:07:00Z,2019-07-23T13:07:00Z,2019-07-23T13:07:00Z,580502431614d3653c93249988290265f3163d4b,,,0,c0852ce018425450d6c040040f32729d41ff635c,f3a4c3d3ee6475a6caf3c9606656dbaf1df020b7,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/45,, 529783275,MDExOlB1bGxSZXF1ZXN0NTI5NzgzMjc1,1117,closed,0,Support for generated columns,9599,"Refs #1116. My first attempt at this worked on my laptop but broke in CI, so I'm going to iterate on it in a pull request instead.",2020-11-30T20:10:46Z,2020-11-30T22:23:19Z,2020-11-30T21:29:58Z,2020-11-30T21:29:58Z,461670a0b87efa953141b449a9a261919864ceb3,,,0,ccdf2c650278b8b9465d3a2d7c916f3bb06c4f01,dea3c508b39528e566d711c38a467b3d372d220b,OWNER,107914493,https://github.com/simonw/datasette/pull/1117,, 295065796,MDExOlB1bGxSZXF1ZXN0Mjk1MDY1Nzk2,544,closed,0,--plugin-secret option,9599,"Refs #543 - [x] Zeit Now v1 support - [x] Solve escaping of ENV in Dockerfile - [x] Heroku support - [x] Unit tests - [x] Cloud Run support - [x] Documentation ",2019-07-06T22:18:20Z,2019-07-08T02:06:31Z,2019-07-08T02:06:31Z,2019-07-08T02:06:31Z,973f8f139df6ad425354711052cfc2256de2e522,,4471010,0,ccf80604e931fba1893b5bab11de386fed82009e,fcfcae21e67cc15090942b1d2a47b5f016279337,OWNER,107914493,https://github.com/simonw/datasette/pull/544,, 275801463,MDExOlB1bGxSZXF1ZXN0Mjc1ODAxNDYz,447,closed,0,Use dist: xenial and python: 3.7 on Travis,9599,,2019-05-03T18:07:07Z,2019-05-03T18:17:05Z,2019-05-03T18:16:53Z,2019-05-03T18:16:53Z,553314dcd699a84aa7cc806377150ca0d57a6024,,,0,cd22e389d09b4fd5ed28205ba38a20faf1ed14f1,01b3de5b66742f0f661183e9e2ef66be3600e831,OWNER,107914493,https://github.com/simonw/datasette/pull/447,, 241418443,MDExOlB1bGxSZXF1ZXN0MjQxNDE4NDQz,392,closed,0,Fix some regex DeprecationWarnings,9599,,2018-12-29T02:10:28Z,2018-12-29T02:22:28Z,2018-12-29T02:22:28Z,2018-12-29T02:22:28Z,a2bfcfc1b1c60dac3526364af17c2fa2f3d41a0a,,,0,d245982aedaf7c54bf41d60ea7f0e0cf419c2b2f,eac08f0dfc61a99e8887442fc247656d419c76f8,OWNER,107914493,https://github.com/simonw/datasette/pull/392,, 181731956,MDExOlB1bGxSZXF1ZXN0MTgxNzMxOTU2,210,closed,0,"Start of the plugin system, based on pluggy",9599,Refs #14,2018-04-16T00:51:30Z,2018-04-16T00:56:16Z,2018-04-16T00:56:16Z,2018-04-16T00:56:16Z,33c7c53ff87c25445c68088ede49d062d9c31fe8,,,0,d75e57060d9ef4ef6ebab3600e542885b7467272,efbb4e83374a2c795e436c72fa79f70da72309b8,OWNER,107914493,https://github.com/simonw/datasette/pull/210,, 293117183,MDExOlB1bGxSZXF1ZXN0MjkzMTE3MTgz,34,closed,0,sqlite-utils index-foreign-keys / db.index_foreign_keys(),9599,"Refs #33 - [x] `sqlite-utils index-foreign-keys` command - [x] `db.index_foreign_keys()` method - [x] unit tests - [x] documentation",2019-06-30T16:43:40Z,2019-06-30T23:50:55Z,2019-06-30T23:50:55Z,2019-06-30T23:50:54Z,e8f887ef4a0977243811b90bc2ce9aed9d2c206a,,,0,d82b000e3d55067516e2ce42f131cf4695e80dca,0fe3b38290e1bb2d92746d90318d8662b57218bd,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/34,, 157365811,MDExOlB1bGxSZXF1ZXN0MTU3MzY1ODEx,168,closed,0,Upgrade to Sanic 0.7.0,9599,,2017-12-09T01:25:08Z,2017-12-09T03:00:34Z,2017-12-09T03:00:34Z,2017-12-09T03:00:34Z,446f4b832272b2286f6f65af19714eb64afb7aa6,,,0,d9e13a5cc2b77637a6cdd8bd21b9b8fc1350051a,61e3c5a1e904a6e1cbee86ba1494b5cb4b5820cf,OWNER,107914493,https://github.com/simonw/datasette/pull/168,, 208719043,MDExOlB1bGxSZXF1ZXN0MjA4NzE5MDQz,361,closed,0," Import pysqlite3 if available, closes #360 ",9599,,2018-08-16T00:52:21Z,2018-08-16T00:58:57Z,2018-08-16T00:58:57Z,2018-08-16T00:58:57Z,aae49fef3b75848628d824077ec063834e3e5167,,,0,da41daa168af8f29a1beb5278aed833cf3dc48ce,e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5,OWNER,107914493,https://github.com/simonw/datasette/pull/361,, 290971295,MDExOlB1bGxSZXF1ZXN0MjkwOTcxMjk1,524,closed,0,"Sort commits using isort, refs #516",9599,Also added a lint unit test to ensure they stay sorted. #516,2019-06-24T05:04:48Z,2023-08-23T01:31:08Z,2023-08-23T01:31:08Z,,4e92ebe00a058e02b2d7543cff60ac2f78aa97c7,,,0,dafae70ee7f74ce79b541a94385172be3ad0de83,cdd24f3eaa207f67d948c1876725b0f84654a623,OWNER,107914493,https://github.com/simonw/datasette/pull/524,, 719109709,MDExOlB1bGxSZXF1ZXN0NzE5MTA5NzA5,321,closed,0,"Ability to insert file contents as text, in addition to blob",9599,Refs #319.,2021-08-24T22:37:18Z,2021-08-24T23:31:17Z,2021-08-24T23:31:13Z,2021-08-24T23:31:13Z,49a010c93d90bc68ce1c6fff7639927248912b54,,,0,db2dd6d9f30b347f4ed22b07f59b5a615184fbfd,9258f4bd8450c951900de998a7bf81ca9b45a014,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/321,, 490607949,MDExOlB1bGxSZXF1ZXN0NDkwNjA3OTQ5,161,closed,0,table.transform() method,9599,"Refs #114 - [x] Ability to change the primary key - [x] Support for changing default value for columns - [x] Support for changing `NOT NULL` status of columns - [x] Support for copying existing foreign keys and removing them - Support for `conversions=` parameter - [x] Detailed documentation - [x] `PRAGMA foreign_keys` stuff",2020-09-21T23:16:59Z,2020-09-22T07:48:24Z,2020-09-22T04:20:02Z,2020-09-22T04:20:02Z,987dd123f2ac43c5ab66d69e59d454fe09660606,,5897911,0,dc3eb9c313502832c07f4de889aa60c373f45b52,ef882986d07f157b6bcc6be3d7b64270fda3e523,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/161,, 481616704,MDExOlB1bGxSZXF1ZXN0NDgxNjE2NzA0,151,closed,0,Tracer mechanism for seeing underlying SQL,9599,"Refs #150. Needs tests and documentation, including for the new `db.execute()` and `db.executescript()` methods.",2020-09-07T19:46:43Z,2020-09-07T21:57:00Z,2020-09-07T21:57:00Z,2020-09-07T21:57:00Z,cf2cb244faf992118f34aa196387a4ef8b39a20f,,,0,dc82bf371911d01ac140f40ea99d06d2daee507e,3e87500e1561f5c4e105cd026d33e0f715cc7dea,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/151,, 247923347,MDExOlB1bGxSZXF1ZXN0MjQ3OTIzMzQ3,404,closed,0,Experiment: run Jinja in async mode,9599,"See http://jinja.pocoo.org/docs/2.10/api/#async-support Tests all pass. Have not checked performance difference yet. Creating pull request to run tests in Travis. This is not ready to merge - I'm not yet sure if this is a good idea.",2019-01-27T00:28:44Z,2019-11-12T05:02:18Z,2019-11-12T05:02:13Z,,773bcac907d17b16eef604ad943837da39a10090,,,0,dd7f24a47f660e2f0fc1e97a13d28908c28dc245,909cc8fbdfc9c05e447f40e9a73489809602c3cd,OWNER,107914493,https://github.com/simonw/datasette/pull/404,, 529887861,MDExOlB1bGxSZXF1ZXN0NTI5ODg3ODYx,1120,closed,0,generated_columns table in fixtures.py,9599,Refs #1119,2020-12-01T00:17:19Z,2020-12-01T00:28:03Z,2020-12-01T00:28:02Z,2020-12-01T00:28:02Z,17cbbb1f7f230b39650afac62dd16476626001b5,,,0,ddad8db2cc952eaf4f66f42324ccece115627b02,461670a0b87efa953141b449a9a261919864ceb3,OWNER,107914493,https://github.com/simonw/datasette/pull/1120,, 573147168,MDExOlB1bGxSZXF1ZXN0NTczMTQ3MTY4,233,closed,0,"Run tests against Ubuntu, macOS and Windows",9599,Refs #232,2021-02-14T20:11:02Z,2021-02-14T20:39:54Z,2021-02-14T20:39:54Z,2021-02-14T20:39:54Z,f51a1f6c3cb2929bcf79cb4efe3b2a9886d9c25c,,,0,deb01a8913441e7fedb53c52a3a9fdff274ddbd2,320f3ac33a83b32f89559ef0c162b7eca428a278,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/233,, 327051673,MDExOlB1bGxSZXF1ZXN0MzI3MDUxNjcz,15,closed,0,"twitter-to-sqlite import command, refs #4",9599,,2019-10-11T06:37:14Z,2019-10-11T06:45:01Z,2019-10-11T06:45:01Z,2019-10-11T06:45:01Z,2019ee908731054c6eaa3d5123dfbdf7d2d70fc4,,,0,df1d85897118310a2d3c1b9e5aad108165302cf2,436a170d74ec70903d1b4ca430c2c6b6435cdfcc,MEMBER,206156866,https://github.com/dogsheep/twitter-to-sqlite/pull/15,, 671014751,MDExOlB1bGxSZXF1ZXN0NjcxMDE0NzUx,273,closed,0,sqlite-utils memory command for directly querying CSV/JSON data,9599,"Refs #272. Initial implementation only does CSV data, still needs: - [x] Implement `--save` - [x] Add `--dump` to the documentation - [x] Add `--attach` example to the documentation - [x] Replace `:memory:` in documentation",2021-06-16T05:04:58Z,2021-06-18T15:01:17Z,2021-06-18T15:00:52Z,2021-06-18T15:00:52Z,42ec59d8ee3fcfb8ac1affb772aed43b6e2a7381,,,0,df7a37bdb730bb863fa29758f6fb35f809fa0dd0,78aebb6479420217454747870737bc593a259abc,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/273,, 758569502,PR_kwDOBm6k_c4tNtoe,1490,closed,0,Upgrade to httpx 0.20,9599,Refs #1488 ,2021-10-14T17:51:05Z,2021-10-14T18:03:45Z,2021-10-14T18:03:44Z,2021-10-14T18:03:44Z,b267b5775436577a91a9f9655143908aecff05da,,,0,e0332d1f4788a561492965a09ef83fe122fd3d8c,2a8c6690399ee832ee62aafdede1794f5945d911,OWNER,107914493,https://github.com/simonw/datasette/pull/1490,, 426891471,MDExOlB1bGxSZXF1ZXN0NDI2ODkxNDcx,796,closed,0,New WIP writable canned queries,9599,"Refs #698. Replaces #703 Still todo: - [x] Unit tests - ~~Figure out `.json` mode~~ - [x] Flash message solution - ~~CSRF protection~~ - [x] Better error message display on errors - [x] Documentation - ~~Maybe widgets?~~ I'll do these later",2020-06-03T00:08:00Z,2020-06-03T15:16:52Z,2020-06-03T15:16:50Z,2020-06-03T15:16:50Z,aa82d0370463580f2cb10d9617f1bcbe45cc994a,,3268330,0,e164939de719b5930ca4972e20490c9b2fd37f6d,9690ce606823bbfceb0c50d59e03adf7bb1a8475,OWNER,107914493,https://github.com/simonw/datasette/pull/796,, 1507122571,PR_kwDOBm6k_c5Z1N2L,2181,closed,0,actors_from_ids plugin hook and datasette.actors_from_ids() method,9599,"Refs: - #2180 This plugin hook is feature complete - including documentation and tests. I'm not going to land it in Datasette `main` until we've used it at least once though, which should happen promptly in development for [Datasette Cloud](https://www.datasette.cloud/). ---- :books: Documentation preview :books:: https://datasette--2181.org.readthedocs.build/en/2181/ ",2023-09-08T01:51:07Z,2023-09-08T04:24:00Z,2023-09-08T04:23:59Z,2023-09-08T04:23:59Z,b645174271aa08e8ca83b27ff83ce078ecd15da2,,,0,e1c5a9d92b7677eaf9eff58d05badb39d078d1bd,c26370485a4fd4bf130da051be9163d92c57f24f,OWNER,107914493,https://github.com/simonw/datasette/pull/2181,, 154246816,MDExOlB1bGxSZXF1ZXN0MTU0MjQ2ODE2,145,closed,0,Fix pytest version conflict,9599,"https://travis-ci.org/simonw/datasette/jobs/305929426 pkg_resources.VersionConflict: (pytest 3.2.1 (/home/travis/virtualenv/python3.5.3/lib/python3.5/site-packages), Requirement.parse('pytest==3.2.3'))",2017-11-22T20:15:34Z,2017-11-22T20:17:54Z,2017-11-22T20:17:52Z,2017-11-22T20:17:52Z,f96e55bce55d26c4d5b198edc536e1b8e9bbea43,,,0,e319478c4a34fb5afbff2b2a8c3b9ef9f859bb10,fa8eb0bf1b113ab17ede9cd107b7c3bd5cde39c3,OWNER,107914493,https://github.com/simonw/datasette/pull/145,, 294992578,MDExOlB1bGxSZXF1ZXN0Mjk0OTkyNTc4,542,closed,0,extra_template_vars plugin hook,9599,Refs #541,2019-07-05T22:19:17Z,2019-07-06T00:05:57Z,2019-07-06T00:05:56Z,2019-07-06T00:05:56Z,fcfcae21e67cc15090942b1d2a47b5f016279337,,,0,e81c7abb40c8ecf8d9d23cbcdde045e0a3b4ab14,a18e0964ecd04593f227616538a80dee08768057,OWNER,107914493,https://github.com/simonw/datasette/pull/542,, 521276296,MDExOlB1bGxSZXF1ZXN0NTIxMjc2Mjk2,1097,closed,0,Use f-strings,9599,"Since Datasette now requires Python 3.6, how about some f-strings? I ran this in the `datasette` root checkout: ``` pip install flynt flynt . black . ```",2020-11-15T23:12:36Z,2020-11-15T23:24:24Z,2020-11-15T23:24:23Z,2020-11-15T23:24:23Z,30e64c8d3b3728a86c3ca42a75322cc3feb5b0c8,,,0,e89211d21eebb7a2e4588b06927da84416e3a555,6fd35be64de221eba4945ca24e8e1678f6142a73,OWNER,107914493,https://github.com/simonw/datasette/pull/1097,, 1365439700,PR_kwDOBm6k_c5RYvTU,2080,closed,0,New View base class,9599,"Refs: - #2078 TODO: - [x] Teach router layer how to handle this - [x] Use it for something ---- :books: Documentation preview :books:: https://datasette--2080.org.readthedocs.build/en/2080/ ",2023-05-25T23:22:55Z,2023-05-26T00:18:45Z,2023-05-26T00:18:44Z,2023-05-26T00:18:44Z,dda99fc09fb0b5523948f6d481c6c051c1c7b5de,,,0,e990fbc00ef36c022986432e7706b3ad1c9c68a1,b49fa446d683ddcaf6faf2944dacc0d866bf2d70,OWNER,107914493,https://github.com/simonw/datasette/pull/2080,, 335980246,MDExOlB1bGxSZXF1ZXN0MzM1OTgwMjQ2,8,closed,0,"stargazers command, refs #4",9599,Needs tests. Refs #4.,2019-11-03T00:37:36Z,2020-05-02T20:00:27Z,2020-05-02T20:00:26Z,,db25bdf8cee4c3e2d730cf269eb9a903b51cdb41,,,0,ea07274667a08c67907e8bfbbccb6f0fb95ce817,ae9035f8fe5aff1c54bff4c6b4c2e808a44f0f2a,MEMBER,207052882,https://github.com/dogsheep/github-to-sqlite/pull/8,, 882973374,PR_kwDOBm6k_c40oRq-,1664,closed,0,Remove hashed URL mode,9599,Refs #1661.,2022-03-17T23:19:10Z,2022-03-19T00:12:04Z,2022-03-19T00:12:04Z,2022-03-19T00:12:03Z,d4f60c2388c01ddce1b16f95c16d310e037c9912,,,0,eae91fe8c2934c8674f5202b2d9f85b6f674c410,30e5f0e67c38054a8087a2a4eae3fc4d1779af90,OWNER,107914493,https://github.com/simonw/datasette/pull/1664,, 379192258,MDExOlB1bGxSZXF1ZXN0Mzc5MTkyMjU4,683,closed,0,.execute_write() and .execute_write_fn() methods on Database,9599,"See #682 - [x] Come up with design for `.execute_write()` and `.execute_write_fn()` - [x] Build some quick demo plugins to exercise the design - [x] Write some unit tests - [x] Write the documentation",2020-02-24T19:51:58Z,2020-05-30T18:40:20Z,2020-02-25T04:45:08Z,2020-02-25T04:45:08Z,a093c5f79fa034a97d2ad8b606745dd3b80365af,,3268330,0,ec6e2edfe18446c9d77e3f30efbc299d27ea5c1b,411056c4c43e74f2b3d0e3bc1175e7998516b1b3,OWNER,107914493,https://github.com/simonw/datasette/pull/683,, 498104830,MDExOlB1bGxSZXF1ZXN0NDk4MTA0ODMw,994,closed,0,Run tests against Python 3.9,9599,,2020-10-05T20:40:13Z,2020-10-09T16:22:51Z,2020-10-09T16:22:50Z,2020-10-09T16:22:50Z,6e091b14b651d67e0ff41a353d36bbeb1d8ba235,,,0,ecba5d257ef4218a98b5903d856a4d7c0382f43d,e807c4eac0e85ae15e013379b0dde1d797f1377d,OWNER,107914493,https://github.com/simonw/datasette/pull/994,, 339244888,MDExOlB1bGxSZXF1ZXN0MzM5MjQ0ODg4,624,closed,0,Bump pint to 0.9,9599,,2019-11-11T04:07:07Z,2019-11-11T04:19:02Z,2019-11-11T04:19:02Z,2019-11-11T04:19:02Z,42ee3e16a9ba7cc513b8da944cc1609a5407cf42,,,0,ed17117a2ad675cbf2430f28069bb1854846a6f0,1c063fae9dba70f70244db010d55a18846640f07,OWNER,107914493,https://github.com/simonw/datasette/pull/624,, 1303909190,PR_kwDOBm6k_c5NuBNG,2053,closed,0,WIP new JSON for queries,9599,"Refs: - #2049 TODO: - [x] Read queries JSON - Implement error display with `""ok"": false` and an errors key - Read queries HTML - Read queries other formats (plugins) - Canned read queries (dispatched to from table) - Write queries (a canned query thing) - Implement different shapes, refactoring to share code with table - Implement a sensible subset of extras, also refactoring to share code with table - Get all tests passing ---- :books: Documentation preview :books:: https://datasette--2053.org.readthedocs.build/en/2053/ ",2023-04-05T23:26:15Z,2023-07-26T18:28:59Z,2023-07-26T18:26:45Z,,c69f7961e42c1103e281ca061edbe041e212cbb0,,,1,ee24ea94525ace221f1b4d141d01cf56410c2c6d,dda99fc09fb0b5523948f6d481c6c051c1c7b5de,OWNER,107914493,https://github.com/simonw/datasette/pull/2053,, 375180832,MDExOlB1bGxSZXF1ZXN0Mzc1MTgwODMy,672,open,0,--dirs option for scanning directories for SQLite databases,9599,Refs #417.,2020-02-14T02:25:52Z,2020-03-27T01:03:53Z,,,0e0e544f1f23451f04d7ca576ace5b18ce168e6f,,,0,ee718b98b793df2a15b125cbf20816c9864bf7e9,6aa516d82dea9885cb4db8d56ec2ccfd4cd9b840,OWNER,107914493,https://github.com/simonw/datasette/pull/672,, 1015320511,PR_kwDOCGYnMM48hI-_,460,closed,0,Cross-link CLI to Python docs,9599,"Work in progress, partly to test the ReadTheDocs preview link action. Refs: - #426 ---- :books: Documentation preview :books:: https://readthedocs-preview--460.org.readthedocs.build/en/460/ ",2022-08-02T16:18:28Z,2022-08-18T21:58:10Z,2022-08-18T21:58:07Z,2022-08-18T21:58:07Z,f4fb78fa95057fbc86c734020835a3155695297f,,,0,f21f4ccf7197e7a0ac8c2eb5086659fc3eb5bc05,1856002e3c0fcc9f09f72ab7d97ad8c75f6de7df,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/460,, 421491810,MDExOlB1bGxSZXF1ZXN0NDIxNDkxODEw,768,closed,0,Use dirs_exist_ok=True,9599,Refs #744,2020-05-21T17:53:44Z,2020-05-27T20:21:56Z,2020-05-21T17:53:51Z,2020-05-21T17:53:51Z,cee671a58f417f827d1735b1abaa40716534ea67,,5471110,0,f2e0a558238a34dc482803762de2509474a178c6,faea5093b865031f650da7da6539430f732f511a,OWNER,107914493,https://github.com/simonw/datasette/pull/768,, 1167432070,PR_kwDOBm6k_c5FlZmG,1960,closed,0,Port as many tests as possible to async def tests against ds_client,9599,"Refs: - #1959 ---- :books: Documentation preview :books:: https://datasette--1960.org.readthedocs.build/en/1960/ ",2022-12-15T21:45:53Z,2022-12-17T21:47:56Z,2022-12-17T21:47:55Z,2022-12-17T21:47:55Z,89cffcf14cda830871c8ee81742eaa1e2dff017b,,,0,f42bca8fc2657cecde05eca644c28fac7c28101f,0b68996cc511b3a801f0cd0157bd66332d75f46f,OWNER,107914493,https://github.com/simonw/datasette/pull/1960,, 817257851,PR_kwDOCGYnMM4wtl17,377,closed,0,`sqlite-utils bulk` command,9599,"Refs #375 Still needs: - [x] Refactor `@insert_upsert_options` so that it doesn't duplicate `@import_options` - [x] Tests - [x] Documentation - [x] Try it against a really big file",2022-01-10T05:34:24Z,2022-01-11T02:10:57Z,2022-01-11T02:10:54Z,2022-01-11T02:10:54Z,129141572f249ea290e2a075437e2ebaad215859,,7558727,0,f4ea0d32c0543373eefaa9b9f3911eb07549eecb,b6dad08a8389736b7e960cfe9bc719cfc21a98f5,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/377,, 468484031,MDExOlB1bGxSZXF1ZXN0NDY4NDg0MDMx,941,closed,0,"Run CI on GitHub Actions, not Travis",9599,Refs #940,2020-08-16T19:13:39Z,2020-08-18T05:09:36Z,2020-08-18T05:09:35Z,2020-08-18T05:09:35Z,5e0b72247ecab4ce0fcec599b77a83d73a480872,,,0,f5a72e11b632b01acc41c07f6f4cfffa1a7ed14e,52eabb019d4051084b21524bd0fd9c2731126985,OWNER,107914493,https://github.com/simonw/datasette/pull/941,, 1034576054,PR_kwDOBm6k_c49qmC2,1792,closed,0,Test `--load-extension` in GitHub Actions,9599,"Refs: - #1789 ---- :books: Documentation preview :books:: https://datasette--1792.org.readthedocs.build/en/1792/ ",2022-08-23T18:43:29Z,2022-08-24T00:11:46Z,2022-08-24T00:11:45Z,2022-08-24T00:11:45Z,ba35105eee2d3ba620e4f230028a02b2e2571df2,,,0,f61cfb77056e2ee39ae827889c005b1e44c81165,456dc155d491a009942ace71a4e1827cddc6b93d,OWNER,107914493,https://github.com/simonw/datasette/pull/1792,, 232172106,MDExOlB1bGxSZXF1ZXN0MjMyMTcyMTA2,389,closed,0,Bump dependency versions,9599,,2018-11-20T02:23:12Z,2019-11-13T19:13:41Z,2019-11-13T19:13:41Z,,9194c0165aef411e0784ba49939b1005306f1f38,,,0,f8349b45916e68d2f89c57694bd0e6afaf1bd508,5e3a432a0caa23837fa58134f69e2f82e4f632a6,OWNER,107914493,https://github.com/simonw/datasette/pull/389,, 490703173,MDExOlB1bGxSZXF1ZXN0NDkwNzAzMTcz,166,closed,0,Keyword only arguments for transform(),9599,Refs #165,2020-09-22T05:41:44Z,2020-09-22T06:39:11Z,2020-09-22T06:39:11Z,2020-09-22T06:39:10Z,f8e10df00eae209fb0a1ea03384d9153f673a3ec,,,0,f8648cac3a6dda90578a1536cdae44d145633a2c,987dd123f2ac43c5ab66d69e59d454fe09660606,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/166,, 598213565,MDExOlB1bGxSZXF1ZXN0NTk4MjEzNTY1,1271,open,0,Use SQLite conn.interrupt() instead of sqlite_timelimit(),9599,"Refs #1270, #1268, #1249 Before merging this I need to do some more testing (to make sure that expensive queries really are properly cancelled). I also need to delete a bunch of code relating to the old mechanism of cancelling queries. [See comment below: this doesn't actually cancel the query due to a thread-local confusion]",2021-03-22T17:34:20Z,2021-03-22T21:49:27Z,,,a4fd7e5a761523881c031b4fee266a366e1c97bd,,,1,fb2ad7ada0b86a7fe4a576fe23236757c41eb05e,c4f1ec7f33fd7d5b93f0f895dafb5351cc3bfc5b,OWNER,107914493,https://github.com/simonw/datasette/pull/1271,, 838724548,PR_kwDOBm6k_c4x_evE,1622,closed,0,Test against Python 3.11-dev,9599,Refs #1621,2022-02-02T21:39:38Z,2022-02-02T21:58:53Z,2022-02-02T21:58:53Z,2022-02-02T21:58:53Z,a9d8824617268c4d214dd3be2174ac452044f737,,,0,fbaf317ab723482e971688cda72ce51825bcf4d7,8d5779acf0041cfd0db7f68f468419f9008b86ec,OWNER,107914493,https://github.com/simonw/datasette/pull/1622,, 757797315,PR_kwDOCGYnMM4tKxHD,330,closed,0,Test against Python 3.10,9599,,2021-10-13T21:50:22Z,2021-11-15T02:59:29Z,2021-10-13T22:25:05Z,2021-10-13T22:25:05Z,fda4dad23a0494890267fbe8baf179e2b56ee914,,,0,fc3de90963b6b097826d36f6a24c46267659dcf2,718a8f61bcaed39c04d5d223104056213f8c8516,OWNER,140912432,https://github.com/simonw/sqlite-utils/pull/330,,