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 163561830,MDExOlB1bGxSZXF1ZXN0MTYzNTYxODMw,181,closed,0,"add ""format sql"" button to query page, uses sql-formatter",1957344,"Cool project! This fixes #136 using the suggested [sql formatter](https://github.com/zeroturnaround/sql-formatter) library. I included the minified version in the bundle and added the relevant scripts to the codemirror includes instead of adding new files, though I could also add new files. I wanted to keep it all together, since the result of the format needs access to the editor in order to properly update the codemirror instance.",2018-01-17T21:50:04Z,2019-11-11T03:08:25Z,2019-11-11T03:08:25Z,,a9ac208088e536043890e0f7ff8a182398576a51,,,0,86ac746cfcbf2fa86863f8fab528494600eac1ae,a290f28caae61b47e76e825c06984f22fc41a694,NONE,107914493,https://github.com/simonw/datasette/pull/181,, 187770345,MDExOlB1bGxSZXF1ZXN0MTg3NzcwMzQ1,258,closed,0,Add new metadata key persistent_urls which removes the hash from all database urls,247131,"Add new metadata key ""persistent_urls"" which removes the hash from all database urls when set to ""true"" This PR is just to gauge if this, or something like it, is something you would consider merging? I understand the reason why the substring of the hash is included in the url but there are some use cases where the urls should persist across deployments. For bookmarks for example or for scripts that use the JSON API. This is the initial commit for this feature. Tests and documentation updates to follow.",2018-05-14T09:39:18Z,2018-05-21T07:38:15Z,2018-05-21T07:38:15Z,,457fcdfc82a0260db543d49006d49f8486f233b5,,,0,0d77a896ccb16b34c86fdeef7738f2d056e27e02,2b79f2bdeb1efa86e0756e741292d625f91cb93d,NONE,107914493,https://github.com/simonw/datasette/pull/258,, 189860052,MDExOlB1bGxSZXF1ZXN0MTg5ODYwMDUy,281,closed,0,Reduces image size using Alpine + Multistage (re: #278),487897,"Hey Simon! I got the image size down from 256MB to 110MB. Seems to be working okay, but you might want to test it a bit more. Example output of `docker run --rm -it datasette` ``` Serve! files=() on port 8001 [2018-05-23 05:23:08 +0000] [1] [INFO] Goin' Fast @ http://127.0.0.1:8001 [2018-05-23 05:23:08 +0000] [1] [INFO] Starting worker [1] ``` Related: https://github.com/simonw/datasette/issues/278 ",2018-05-23T05:27:05Z,2018-05-26T02:10:38Z,2018-05-26T02:10:38Z,,0d6c8fa841ae5d28e151e4ba43370289d1e2e22c,,,0,3af65075c430d94647f8a1b1f215e82f563bc46f,49f317752cfe89c5641165a490eef49e025752a7,NONE,107914493,https://github.com/simonw/datasette/pull/281,, 196526861,MDExOlB1bGxSZXF1ZXN0MTk2NTI2ODYx,322,closed,0,Feature/in operator,2691848,,2018-06-21T17:41:51Z,2018-06-21T17:45:25Z,2018-06-21T17:45:25Z,,80b7bcefa1c07202779d98c9e2214f3ebad704e3,,,0,1acc562a2f60a7289438df657db8fd6dd3a7391d,e7566cc59d4b02ef301054fd35fdde6c925a8e38,NONE,107914493,https://github.com/simonw/datasette/pull/322,, 291534596,MDExOlB1bGxSZXF1ZXN0MjkxNTM0NTk2,529,closed,0,Use keyed rows - fixes #521,1383872,"Supports template syntax like this: ``` {% for row in display_rows %}

{{ row[""First_Name""] }} {{ row[""Last_Name""] }}

... ```",2019-06-25T12:33:48Z,2019-06-25T12:35:07Z,2019-06-25T12:35:07Z,,3be9759418fdfe4a8ae8aec46fc2a937d45332d2,,,0,312e3394bd9f3eaef606fbe37eb409ec7462baaf,9e97b725f11be3f4dca077fe5569078a62ec2761,NONE,107914493,https://github.com/simonw/datasette/pull/529,, 322529381,MDExOlB1bGxSZXF1ZXN0MzIyNTI5Mzgx,578,closed,0,Added support for multi arch builds,887095,Minor changes in Dockerfile and new Makefile to support Docker multi architecture builds. `make`will build one image per architecture and push them as one Docker manifest to Docker Hub. Feel free to change `IMAGE_NAME ` to `datasetteproject/datasette` to update your official Docker Hub image(s).,2019-09-29T18:43:03Z,2019-11-13T19:13:15Z,2019-11-13T19:13:15Z,,ae1aa0929b9e62a413ec9b4a40588e6aafe50573,,,0,ce6372bc6210ae52ac1951647b8fbaee40d64fc1,0fc8afde0eb5ef677f4ac31601540d6168c8208d,NONE,107914493,https://github.com/simonw/datasette/pull/578,, 327541046,MDExOlB1bGxSZXF1ZXN0MzI3NTQxMDQ2,595,closed,0,bump uvicorn to 0.9.0 to be Python-3.8 friendly,4312421,"as uvicorn-0.9 is needed to get websockets-8.0.2, which is needed to have Python-3.8 compatibility",2019-10-13T10:00:04Z,2019-11-12T04:46:48Z,2019-11-12T04:46:48Z,,5a7185bcd15aab28e86338b3771c25af13a94a4c,,,0,e1d92ea94ca8f14879ef280cb7dadab7eed76e9c,fffd69ec031b83f46680f192ba57a27f0d1f0b8a,NONE,107914493,https://github.com/simonw/datasette/pull/595,, 354869391,MDExOlB1bGxSZXF1ZXN0MzU0ODY5Mzkx,652,closed,0,Quick (and uninformed and perhaps misguided) attempt to add a url for hosting datasette at a particular host/URI,132978,"As usual, I don't really know what I'm doing... so this is just a suggested approach. I've not written tests, I've not run the tests, I don't know if I've missed some absolute URLs that would need to have the leading slash dropped. BUT, I tested it with `--config base_url:http://127.0.0.1:8001/` on the command line and from what little I know about datasette it's at least working in some obvious cases. My changes are based on what I saw in https://github.com/simonw/datasette/commit/8da2db4b71096b19e7a9ef1929369b8483d448bf (thanks!) I'm happy to be more thorough on this if you think it's worth pursuing. Fixes #394 (he said, optimistically).",2019-12-18T23:37:16Z,2020-03-24T22:14:50Z,2020-03-24T22:14:50Z,,8e674de58c17c89c8a4a90bc3ec6e02151b354e5,,,0,eaa636841e38d40360a74596ef1a0df50f6a86a5,a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c,NONE,107914493,https://github.com/simonw/datasette/pull/652,, 496298180,MDExOlB1bGxSZXF1ZXN0NDk2Mjk4MTgw,986,closed,0,"Allow facet by primary keys, fixes #985",39452697,"Hello! This PR makes it possible to facet by primary keys. Did I get it right that just removing the condition on UI side is enough? From testing it works fine with primary keys, just as with normal keys. If so, should I also remove unused `data-is-pk`?",2020-10-01T14:18:55Z,2020-10-01T16:51:45Z,2020-10-01T16:51:45Z,,58906c597f1217381f5d746726bcb8bdfa8f52f8,,,0,76f7094bd33f037a1c689a173f0dbbb988e6dcdd,141544613f9e76ddb74eee38d6f8ee1e0e70f833,NONE,107914493,https://github.com/simonw/datasette/pull/986,, 588601627,MDExOlB1bGxSZXF1ZXN0NTg4NjAxNjI3,1254,closed,0,Update Docker Spatialite version to 5.0.1 + add support for Spatialite topology functions,3200608,"This requires adding the RT Topology library (Spatialite changed to RT Topology from LWGEOM between 4.4 and 5.0), as well as upgrading the GEOS version (which is the reason for switching to `python:3.7.10-slim-buster` as the base image.) `autoconf` and `libtool` are added to build RT Topology, and Spatialite is now built with `--disable-minizip` (minizip wasn't an option in 4.4 and I didn't want to add another dependency) and `--disable-dependency-tracking` which, according to Spatialite, ""speeds up one-time builds""",2021-03-09T20:49:08Z,2021-03-10T18:27:45Z,2021-03-09T22:04:23Z,,bc09c84d6af4721b32f01f4d9186a6fbf9863081,,,0,b103204155c2396d353fa195a320cee6aca258cf,d0fd833b8cdd97e1b91d0f97a69b494895d82bee,NONE,107914493,https://github.com/simonw/datasette/pull/1254,, 592548103,MDExOlB1bGxSZXF1ZXN0NTkyNTQ4MTAz,1260,closed,0,Fix: code quality issues,25361949,"### Description Hi :wave: I work at [DeepSource](https://deepsource.io), I ran DeepSource analysis on the forked copy of this repo and found some interesting [code quality issues](https://deepsource.io/gh/withshubh/datasette/issues/?category=recommended) in the codebase, opening this PR so you can assess if our platform is right and helpful for you. ### Summary of changes - Replaced ternary syntax with if expression - Removed redundant `None` default - Used `is` to compare type of objects - Iterated dictionary directly - Removed unnecessary lambda expression - Refactored unnecessary `else` / `elif` when `if` block has a `return` statement - Refactored unnecessary `else` / `elif` when `if` block has a `raise` statement - Added .deepsource.toml to continuously analyze and detect code quality issues",2021-03-14T13:56:10Z,2021-03-29T00:22:41Z,2021-03-29T00:22:41Z,,bc868ae8c8152a25bcab7adb490c5b89411bdf3a,,,0,90f5fb6d2fb36ddffc49acee924d042f2d5d1d58,8e18c7943181f228ce5ebcea48deb59ce50bee1f,NONE,107914493,https://github.com/simonw/datasette/pull/1260,, 730020867,MDExOlB1bGxSZXF1ZXN0NzMwMDIwODY3,1467,closed,0,Add Authorization header when CORS flag is set,3058200,"This PR adds the [`Access-Control-Allow-Headers`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) flag when CORS mode is enabled. This would fix https://github.com/simonw/datasette-auth-tokens/issues/4. When making cross-origin requests, the server must respond with all allowable HTTP headers. A Datasette instance using auth tokens must accept the `Authorization` HTTP header in order for cross-origin authenticated requests to take place. Please let me know if there's a better way of doing this! I couldn't figure out a way to change the app's response from the plugin itself, so I'm starting here. If you'd rather this logic live in the plugin, I'd love any guidance you're able to give.",2021-09-08T22:14:41Z,2021-10-17T02:29:07Z,2021-10-14T18:54:18Z,,15f258735ddee555028a075c09e1e8f74069be70,,,0,05109e8d61dedd477c4cedfb89b1da65610f70d1,d57ab156b35ec642549fb69d08279850065027d2,NONE,107914493,https://github.com/simonw/datasette/pull/1467,, 806136219,PR_kwDOBm6k_c4wDKmb,1574,closed,0,introduce new option for datasette package to use a slim base image,33631,"The official python images on docker hub come with a slim variant that is significantly smaller than the default. The diff does not change the default, but allows to switch to the `slim` variant with commandline switch (`--slim-base-image`) Size comparison: ``` $ datasette package some.db -t fat --install ""datasette-basemap datasette-cluster-map"" $ datasette package some.db -t slim --slim-base-image --install ""datasette-basemap datasette-cluster-map"" $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE fat latest 807b393ace0d 9 seconds ago 978MB slim latest 31bc5e63505c 8 minutes ago 191MB ```",2021-12-19T21:18:19Z,2022-08-15T08:49:31Z,2022-08-15T08:49:31Z,,92ca4a2a9fb44e4cffc71444196753ad4a75a5c8,,,0,8561f0343b2b4213416ca84c8071a5a290f15a42,8c401ee0f054de2f568c3a8302c9223555146407,NONE,107914493,https://github.com/simonw/datasette/pull/1574,, 883644303,PR_kwDOBm6k_c40q1eP,1665,closed,0,Pin setup-gcloud to v0 instead of master,408570,"setup-gcloud will be updating the branch name from master to main in a future release. Even though GitHub will establish redirects, this will break any GitHub Actions workflows that pin to master. This PR updates your GitHub Actions workflows to pin to v0, which is the recommended best practice.",2022-03-18T17:17:22Z,2022-03-23T19:31:10Z,2022-03-23T17:55:39Z,,5bd51d8eda65b25ce639a841944eb6b522768b2b,,,0,c811c2181e298a48fdf50523525813c37f99e592,30e5f0e67c38054a8087a2a4eae3fc4d1779af90,NONE,107914493,https://github.com/simonw/datasette/pull/1665,, 1037685744,PR_kwDOBm6k_c492dPw,1793,closed,0,Added a useful resource,111973926,"Have added a useful resource about the types of databases in SQL i.e SQLite, PostgreSQL, MySQL &, etc from the scaler topics. ---- :books: Documentation preview :books:: https://datasette--1793.org.readthedocs.build/en/1793/ ",2022-08-26T08:41:26Z,2022-09-06T00:41:25Z,2022-09-06T00:41:24Z,,40c948ac58afa155bbceaff70c43e85e58434188,,,0,32a9224b7e107016e5ba0fc90ff86cfafad93b2f,ba35105eee2d3ba620e4f230028a02b2e2571df2,NONE,107914493,https://github.com/simonw/datasette/pull/1793,, 1079769381,PR_kwDOBm6k_c5AW_kl,1838,closed,0,Open Datasette link in new tab,4399499,"This is technically a Sandstorm-specific fix (as external links do not work inside the grain frame), however, I think it is an improvement to the upstream project, so I wanted to propose it here rather than patching it in our package. There's much opinions on the Internet about whether external links should open in a new tab by default or not, but I'd argue very few people who might click a ""powered by"" link intend to complete their interaction with the source page (a Datasette). And furthermore, users may be working within various queries or loading visualizations (navigating away when trying to plot a million GPS coordinates pretty much just resets your progress!), so linking away within the tab might be a frustrating or destructive act to one's work, even inadvertently. original report: https://github.com/ocdtrekkie/datasette-sandstorm/issues/1 ---- :books: Documentation preview :books:: https://datasette--1838.org.readthedocs.build/en/1838/ ",2022-10-07T01:12:20Z,2022-10-07T16:28:41Z,2022-10-07T02:01:07Z,,9a7745ceef270893fa76a10ee70546f62d5110bd,,,0,7f2a3376c348e9dd9ea926ab94ae6b610194e6c1,eff112498ecc499323c26612d707908831446d25,NONE,107914493,https://github.com/simonw/datasette/pull/1838,, 1081550456,PR_kwDOBm6k_c5AdyZ4,1840,closed,0,test commit,102635518,"lalalalalalala ---- :books: Documentation preview :books:: https://datasette--1840.org.readthedocs.build/en/1840/ ",2022-10-10T05:15:26Z,2022-10-10T09:11:50Z,2022-10-10T09:11:50Z,,,,,0,304ce7a516a0b361ae9f5f0059ce02eb675f69aa,b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9,NONE,107914493,https://github.com/simonw/datasette/pull/1840,,