home / github

Menu
  • GraphQL API

github

Custom SQL query returning 33 rows (hide)

Query parameters

This data as json, CSV

html_urlissue_urlidnode_idusercreated_atupdated_atauthor_associationbodyreactionsissueperformed_via_github_app
https://github.com/simonw/datasette/pull/1170#issuecomment-754002859 https://api.github.com/repos/simonw/datasette/issues/1170 754002859 MDEyOklzc3VlQ29tbWVudDc1NDAwMjg1OQ== 22429695 2021-01-04T14:22:52Z 2021-01-04T14:22:52Z NONE # [Codecov](https://codecov.io/gh/simonw/datasette/pull/1170?src=pr&el=h1) Report > Merging [#1170](https://codecov.io/gh/simonw/datasette/pull/1170?src=pr&el=desc) (a5761cc) into [main](https://codecov.io/gh/simonw/datasette/commit/1e8fa3ac7cb2d6e516c47c306c86ed2334fc3dc0?el=desc) (1e8fa3a) will **not change** coverage. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/simonw/datasette/pull/1170/graphs/tree.svg?width=650&height=150&src=pr&token=eSahVY7kw1)](https://codecov.io/gh/simonw/datasette/pull/1170?src=pr&el=tree) ```diff @@ Coverage Diff @@ ## main #1170 +/- ## ======================================= Coverage 91.55% 91.55% ======================================= Files 32 32 Lines 3932 3932 ======================================= Hits 3600 3600 Misses 332 332 ``` ------ [Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1170?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1170?src=pr&el=footer). Last update [1e8fa3a...a5761cc](https://codecov.io/gh/simonw/datasette/pull/1170?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 778126516  
https://github.com/simonw/datasette/pull/1170#issuecomment-754004715 https://api.github.com/repos/simonw/datasette/issues/1170 754004715 MDEyOklzc3VlQ29tbWVudDc1NDAwNDcxNQ== 3637 2021-01-04T14:25:44Z 2021-01-04T14:25:44Z CONTRIBUTOR I was going to re-add the filter to only run Prettier when there have been changes in `datasette/static` but that would mean it wouldn't run when the package is updated. That plus the fact that [the last run of the job took only 8 seconds](https://github.com/benpickles/datasette/runs/1640121514) is why I decided not to re-add the filter. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 778126516  
https://github.com/simonw/datasette/issues/1169#issuecomment-754007242 https://api.github.com/repos/simonw/datasette/issues/1169 754007242 MDEyOklzc3VlQ29tbWVudDc1NDAwNzI0Mg== 3637 2021-01-04T14:29:57Z 2021-01-04T14:29:57Z CONTRIBUTOR I somewhat share your reluctance to add a package.json to seemingly every project out there but ultimately if they're project dependencies it's important they're managed within the codebase. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 777677671  
https://github.com/simonw/datasette/pull/1170#issuecomment-754181646 https://api.github.com/repos/simonw/datasette/issues/1170 754181646 MDEyOklzc3VlQ29tbWVudDc1NDE4MTY0Ng== 9599 2021-01-04T19:52:40Z 2021-01-04T19:52:40Z OWNER Thank you very much! {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 778126516  
https://github.com/simonw/datasette/issues/983#issuecomment-754181647 https://api.github.com/repos/simonw/datasette/issues/983 754181647 MDEyOklzc3VlQ29tbWVudDc1NDE4MTY0Nw== 11941245 2021-01-04T19:52:40Z 2021-01-04T19:52:40Z NONE I was thinking JavaScript plugins going with server side template extensions custom HTML. Attach my own widgets on there and listen for Datasette events to refresh when user interacts with main UI. Like a map view or table that updates according to selected column. There's certainly other ways to look at this. Perhaps you could list possible hooks or high level design doc on what would be possible with the plugin system? Re: modules. I would like to see modules supported at least in development. The developer experience is so much better than what JavaScript coding has been in the past. With large parts of NPM at your disposal I’d imagine even less experienced coder can whisk a custom plugin in no time. Proper production build system (like one you get with Pika or Parcel) could package everything up into bundles that older browsers can understand. Though that does come with performance and size penalties alongside the added complexity. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 712260429  
https://github.com/simonw/datasette/issues/1164#issuecomment-754182058 https://api.github.com/repos/simonw/datasette/issues/1164 754182058 MDEyOklzc3VlQ29tbWVudDc1NDE4MjA1OA== 9599 2021-01-04T19:53:31Z 2021-01-04T19:53:31Z OWNER This will be helped by the new `package.json` added in #1170. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 776634318  
https://github.com/simonw/datasette/issues/1111#issuecomment-754184287 https://api.github.com/repos/simonw/datasette/issues/1111 754184287 MDEyOklzc3VlQ29tbWVudDc1NDE4NDI4Nw== 9599 2021-01-04T19:57:53Z 2021-01-04T19:57:53Z OWNER Relevant new feature in sqlite-utils: the ability to use triggers to maintain fast counts. This optimization could help a lot here. https://github.com/simonw/sqlite-utils/issues/212 {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 751195017  
https://github.com/simonw/datasette/issues/913#issuecomment-754187326 https://api.github.com/repos/simonw/datasette/issues/913 754187326 MDEyOklzc3VlQ29tbWVudDc1NDE4NzMyNg== 9599 2021-01-04T20:03:50Z 2021-01-04T20:03:50Z OWNER I renamed `--config` to `--setting` and changed it to work like this: datasette --setting sql_time_limit_ms 1000 Note the lack of colons. This actually makes colons cleaner to use for plugins - I could support this: datasette --setting datasette-insert:unsafe 1 {"total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 670209331  
https://github.com/simonw/datasette/issues/913#issuecomment-754187520 https://api.github.com/repos/simonw/datasette/issues/913 754187520 MDEyOklzc3VlQ29tbWVudDc1NDE4NzUyMA== 9599 2021-01-04T20:04:10Z 2021-01-04T20:04:10Z OWNER That's pretty elegant: each plugin gets its own namespace and can register new settings. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 670209331  
https://github.com/simonw/datasette/issues/103#issuecomment-754188099 https://api.github.com/repos/simonw/datasette/issues/103 754188099 MDEyOklzc3VlQ29tbWVudDc1NDE4ODA5OQ== 9599 2021-01-04T20:05:14Z 2021-01-04T20:05:14Z OWNER Wontfix, Cloud Run is already implemented and is a better fit for Datasette. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 274265878  
https://github.com/simonw/datasette/issues/18#issuecomment-754188383 https://api.github.com/repos/simonw/datasette/issues/18 754188383 MDEyOklzc3VlQ29tbWVudDc1NDE4ODM4Mw== 9599 2021-01-04T20:05:48Z 2021-01-04T20:05:48Z OWNER I'm not using Sanic any more, but this is still very feasible. If I ever do it I'll write a plugin. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 267739593  
https://github.com/simonw/datasette/issues/221#issuecomment-754190814 https://api.github.com/repos/simonw/datasette/issues/221 754190814 MDEyOklzc3VlQ29tbWVudDc1NDE5MDgxNA== 9599 2021-01-04T20:10:34Z 2021-01-04T20:10:34Z OWNER For the `csvs-to-sqlite` case I'm going with `datasette insert` instead, see #1160. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 315142414  
https://github.com/simonw/datasette/issues/221#issuecomment-754190952 https://api.github.com/repos/simonw/datasette/issues/221 754190952 MDEyOklzc3VlQ29tbWVudDc1NDE5MDk1Mg== 9599 2021-01-04T20:10:51Z 2021-01-04T20:10:51Z OWNER Is this still a good idea? I don't have any pressing need for it at the moment. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 315142414  
https://github.com/simonw/datasette/issues/221#issuecomment-754191699 https://api.github.com/repos/simonw/datasette/issues/221 754191699 MDEyOklzc3VlQ29tbWVudDc1NDE5MTY5OQ== 9599 2021-01-04T20:12:14Z 2021-01-04T20:12:14Z OWNER I'm going to close this. Plugins can register their own CLI tools (see https://github.com/simonw/click-app) if they need to. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 315142414  
https://github.com/simonw/datasette/issues/102#issuecomment-754192267 https://api.github.com/repos/simonw/datasette/issues/102 754192267 MDEyOklzc3VlQ29tbWVudDc1NDE5MjI2Nw== 9599 2021-01-04T20:13:19Z 2021-01-04T20:13:19Z OWNER I'm more likely to do Lambda than Elastic Beanstalk, especially now the size limit for Lambdas has been increased as part of their support for Docker. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 274264175  
https://github.com/simonw/datasette/issues/371#issuecomment-754192873 https://api.github.com/repos/simonw/datasette/issues/371 754192873 MDEyOklzc3VlQ29tbWVudDc1NDE5Mjg3Mw== 9599 2021-01-04T20:14:28Z 2021-01-04T20:14:28Z OWNER Now that Digital Ocean has App Platform this is less necessary, especially since the documentation covers how to use App Platform here: https://docs.datasette.io/en/stable/deploying.html#deploying-using-buildpacks {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 377156339  
https://github.com/simonw/datasette/issues/436#issuecomment-754193501 https://api.github.com/repos/simonw/datasette/issues/436 754193501 MDEyOklzc3VlQ29tbWVudDc1NDE5MzUwMQ== 9599 2021-01-04T20:15:41Z 2021-01-04T20:15:41Z OWNER Sadly `publish.datasettes.com` was broken by changes to Zeit, and I don't think I'll be bringing it back. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 435819321  
https://github.com/simonw/datasette/issues/668#issuecomment-754194996 https://api.github.com/repos/simonw/datasette/issues/668 754194996 MDEyOklzc3VlQ29tbWVudDc1NDE5NDk5Ng== 9599 2021-01-04T20:18:39Z 2021-01-04T20:18:39Z OWNER I fixed this in #1115 - you can run `--load-extension=spatialite` now and it will look for the extension in common places. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 563347679  
https://github.com/simonw/datasette/issues/983#issuecomment-754210356 https://api.github.com/repos/simonw/datasette/issues/983 754210356 MDEyOklzc3VlQ29tbWVudDc1NDIxMDM1Ng== 222245 2021-01-04T20:49:05Z 2021-01-04T20:49:05Z NONE For reasons [I've written about elsewhere](https://blog.carlmjohnson.net/post/2020/time-to-kill-ie11/), I'm in favor of modules. It has several beneficial effects. One, old browsers just ignore it all together. Two, if you include the same plain script on the page more than once, it will be executed twice, but if you include the same module script on a page twice, it will only execute once. Three, you get a module local namespace, instead of having to use the global window namespace or a function private namespace. OTOH, if you are going to use an old style script, the code from before isn't ideal, because you wipe out your registry if the script it included more than once. Also you may as well use object methods and splat arguments. The event based architecture probably makes more sense though. Just make up some event names prefixed with `datasette:` and listen for them on the root. The only concern with that approach is it can sometimes be tricky to make sure your plugins are run after datasette has run. Maybe ```js function mycallback(){ // whatever } if (window.datasette) { window.datasette.init(mycallback); } else { document.addEventListener('datasette:init', mycallback); } ``` {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 712260429  
https://github.com/simonw/datasette/issues/93#issuecomment-754215392 https://api.github.com/repos/simonw/datasette/issues/93 754215392 MDEyOklzc3VlQ29tbWVudDc1NDIxNTM5Mg== 9599 2021-01-04T20:59:20Z 2021-01-04T21:03:14Z OWNER Updated `pyinstaller` recipe - lots of hidden imports needed now: ``` pip install wheel pip install datasette pyinstaller BASE=$(python -c 'import os; print(os.path.dirname(__import__("datasette").__file__))') \ pyinstaller -F \ --add-data "$BASE/templates:datasette/templates" \ --add-data "$BASE/static:datasette/static" \ --hidden-import datasette.publish \ --hidden-import datasette.publish.heroku \ --hidden-import datasette.publish.cloudrun \ --hidden-import datasette.facets \ --hidden-import datasette.sql_functions \ --hidden-import datasette.actor_auth_cookie \ --hidden-import datasette.default_permissions \ --hidden-import datasette.default_magic_parameters \ --hidden-import datasette.blob_renderer \ --hidden-import datasette.default_menu_links \ --hidden-import uvicorn \ --hidden-import uvicorn.logging \ --hidden-import uvicorn.loops \ --hidden-import uvicorn.loops.auto \ --hidden-import uvicorn.protocols \ --hidden-import uvicorn.protocols.http \ --hidden-import uvicorn.protocols.http.auto \ --hidden-import uvicorn.protocols.websockets \ --hidden-import uvicorn.protocols.websockets.auto \ --hidden-import uvicorn.lifespan \ --hidden-import uvicorn.lifespan.on \ $(which datasette) ``` {"total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 273944952  
https://github.com/simonw/datasette/issues/93#issuecomment-754215793 https://api.github.com/repos/simonw/datasette/issues/93 754215793 MDEyOklzc3VlQ29tbWVudDc1NDIxNTc5Mw== 9599 2021-01-04T21:00:14Z 2021-01-04T21:00:14Z OWNER ``` (pyinstaller-datasette) pyinstaller-datasette % file dist/datasette dist/datasette: Mach-O 64-bit executable x86_64 (pyinstaller-datasette) pyinstaller-datasette % ls -lah dist/datasette -rwxr-xr-x 1 simon wheel 8.0M Jan 4 12:58 dist/datasette ``` I'm surprised it's only 8MB! {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 273944952  
https://github.com/simonw/datasette/issues/93#issuecomment-754218545 https://api.github.com/repos/simonw/datasette/issues/93 754218545 MDEyOklzc3VlQ29tbWVudDc1NDIxODU0NQ== 9599 2021-01-04T21:05:57Z 2021-01-04T21:05:57Z OWNER That BASE= trick seems to work with `zsh` but not with `bash`. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 273944952  
https://github.com/simonw/datasette/issues/93#issuecomment-754219002 https://api.github.com/repos/simonw/datasette/issues/93 754219002 MDEyOklzc3VlQ29tbWVudDc1NDIxOTAwMg== 9599 2021-01-04T21:06:49Z 2021-01-04T21:22:27Z OWNER Works on Linux/Ubuntu too, except I had to do `export BASE=` on a separate line. I also did this: ``` apt-get install python3 python3-venv python3 -m venv pyinstaller-venv source pyinstaller-venv/bin/activate pip install wheel pip install datasette pyinstaller export DATASETTE_BASE=$(python -c 'import os; print(os.path.dirname(__import__("datasette").__file__))') pyinstaller -F \ --add-data "$DATASETTE_BASE/templates:datasette/templates" \ --add-data "$DATASETTE_BASE/static:datasette/static" \ --hidden-import datasette.publish \ --hidden-import datasette.publish.heroku \ --hidden-import datasette.publish.cloudrun \ --hidden-import datasette.facets \ --hidden-import datasette.sql_functions \ --hidden-import datasette.actor_auth_cookie \ --hidden-import datasette.default_permissions \ --hidden-import datasette.default_magic_parameters \ --hidden-import datasette.blob_renderer \ --hidden-import datasette.default_menu_links \ --hidden-import uvicorn \ --hidden-import uvicorn.logging \ --hidden-import uvicorn.loops \ --hidden-import uvicorn.loops.auto \ --hidden-import uvicorn.protocols \ --hidden-import uvicorn.protocols.http \ --hidden-import uvicorn.protocols.http.auto \ --hidden-import uvicorn.protocols.websockets \ --hidden-import uvicorn.protocols.websockets.auto \ --hidden-import uvicorn.lifespan \ --hidden-import uvicorn.lifespan.on \ $(which datasette) ``` {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 273944952  
https://github.com/simonw/datasette/issues/93#issuecomment-754227543 https://api.github.com/repos/simonw/datasette/issues/93 754227543 MDEyOklzc3VlQ29tbWVudDc1NDIyNzU0Mw== 9599 2021-01-04T21:23:13Z 2021-01-04T21:23:13Z OWNER ``` (pyinstaller-venv) root@dogsheep:/tmp/pyinstaller-venv# dist/datasette --get /-/databases.json [{"name": ":memory:", "path": null, "size": 0, "is_mutable": true, "is_memory": true, "hash": null}] (pyinstaller-venv) root@dogsheep:/tmp/pyinstaller-venv# ls -lah dist/datasette -rwxr-xr-x 1 root root 8.9M Jan 4 21:05 dist/datasette ``` {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 273944952  
https://github.com/simonw/datasette/issues/93#issuecomment-754229977 https://api.github.com/repos/simonw/datasette/issues/93 754229977 MDEyOklzc3VlQ29tbWVudDc1NDIyOTk3Nw== 9599 2021-01-04T21:28:01Z 2021-01-04T21:28:01Z OWNER As an experiment, I put the macOS one in a zip file and attached it to the latest release: ``` mkdir datasette-0.53-macos-binary cp dist/datasette datasette-0.53-macos-binary zip -r datasette-0.53-macos-binary.zip datasette-0.53-macos-binary ``` It's available here: https://github.com/simonw/datasette/releases/tag/0.53 - download URL is https://github.com/simonw/datasette/releases/download/0.53/datasette-0.53-macos-binary.zip {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 273944952  
https://github.com/simonw/datasette/issues/93#issuecomment-754233960 https://api.github.com/repos/simonw/datasette/issues/93 754233960 MDEyOklzc3VlQ29tbWVudDc1NDIzMzk2MA== 9599 2021-01-04T21:35:37Z 2021-01-04T21:35:37Z OWNER I tested it by running a `tmate` session on the GitHub macOS machines, and it worked! ``` Mac-1609795972770:tmp runner$ wget 'https://github.com/simonw/datasette/releases/download/0.53/datasette-0.53-macos-binary.zip' --2021-01-04 21:34:10-- https://github.com/simonw/datasette/releases/download/0.53/datasette-0.53-macos-binary.zip Resolving github.com (github.com)... 140.82.114.4 Connecting to github.com (github.com)|140.82.114.4|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/107914493/74658700-4e90-11eb-8f3b-ee77e6dfad90?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210104%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210104T213414Z&X-Amz-Expires=300&X-Amz-Signature=6f3c54211077092553590b33a7c36cd052895c9d4619607ad1df094782f64acf&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=107914493&response-content-disposition=attachment%3B%20filename%3Ddatasette-0.53-macos-binary.zip&response-content-type=application%2Foctet-stream [following] --2021-01-04 21:34:14-- https://github-production-release-asset-2e65be.s3.amazonaws.com/107914493/74658700-4e90-11eb-8f3b-ee77e6dfad90?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210104%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210104T213414Z&X-Amz-Expires=300&X-Amz-Signature=6f3c54211077092553590b33a7c36cd052895c9d4619607ad1df094782f64acf&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=107914493&response-content-disposition=attachment%3B%20filename%3Ddatasette-0.53-macos-binary.zip&response-content-type=application%2Foctet-stream Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.217.43.164 Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.217.43.164|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 8297283 (7.9M) [applicat… {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 273944952  
https://github.com/simonw/datasette/issues/1152#issuecomment-754285588 https://api.github.com/repos/simonw/datasette/issues/1152 754285588 MDEyOklzc3VlQ29tbWVudDc1NDI4NTU4OA== 9599 2021-01-04T23:34:30Z 2021-01-04T23:34:30Z OWNER I think the way to do this is to have a new plugin hook that returns two SQL where clauses: one returning a list of resources that the user should be able to access (the allow-list) and one returning a list of resources they are explicitly forbidden from accessing (the deny-list). Either of these can be blank. Datasette can then combine those into a full SQL query and use it to answer the question "show me a list of resources that the user is allowed to perform action X on". It can also answer the existing question, "is user X allowed to perform action Y on resource Z"? {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 770598024  
https://github.com/simonw/datasette/issues/93#issuecomment-754285795 https://api.github.com/repos/simonw/datasette/issues/93 754285795 MDEyOklzc3VlQ29tbWVudDc1NDI4NTc5NQ== 9599 2021-01-04T23:35:13Z 2021-01-04T23:35:13Z OWNER Next step is to automate this all! {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 273944952  
https://github.com/simonw/datasette/issues/1171#issuecomment-754286618 https://api.github.com/repos/simonw/datasette/issues/1171 754286618 MDEyOklzc3VlQ29tbWVudDc1NDI4NjYxOA== 9599 2021-01-04T23:37:45Z 2021-01-04T23:37:45Z OWNER https://github.com/actions/virtual-environments/issues/1820#issuecomment-719549887 looks useful - not sure if those notes are for iOS or macOS though. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 778450486  
https://github.com/simonw/datasette/issues/1171#issuecomment-754286783 https://api.github.com/repos/simonw/datasette/issues/1171 754286783 MDEyOklzc3VlQ29tbWVudDc1NDI4Njc4Mw== 9599 2021-01-04T23:38:18Z 2021-01-04T23:38:18Z OWNER Oh wow maybe I need to Notarize it too? https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 778450486  
https://github.com/simonw/datasette/issues/1171#issuecomment-754287882 https://api.github.com/repos/simonw/datasette/issues/1171 754287882 MDEyOklzc3VlQ29tbWVudDc1NDI4Nzg4Mg== 9599 2021-01-04T23:40:10Z 2021-01-04T23:42:32Z OWNER This looks VERY useful: https://github.com/mitchellh/gon - " Sign, notarize, and package macOS CLI tools and applications written in any language. Available as both a CLI and a Go library." And it installs like this: brew install mitchellh/gon/gon {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 778450486  
https://github.com/simonw/datasette/issues/1171#issuecomment-754295380 https://api.github.com/repos/simonw/datasette/issues/1171 754295380 MDEyOklzc3VlQ29tbWVudDc1NDI5NTM4MA== 9599 2021-01-04T23:54:32Z 2021-01-04T23:54:32Z OWNER https://github.com/search?l=YAML&q=gon+json&type=Code reveals some examples of people using `gon` in workflows. These look useful: * https://github.com/coherence/hub-server/blob/3b7e9c7c5bce9e244b14b854f1f89d66f53a5a39/.github/workflows/release_build.yml * https://github.com/simoncozens/pilcrow/blob/5abc145e7fb9577086afe47b48fd730cb8195386/.github/workflows/buildapp.yaml {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 778450486  
https://github.com/simonw/datasette/issues/1171#issuecomment-754296761 https://api.github.com/repos/simonw/datasette/issues/1171 754296761 MDEyOklzc3VlQ29tbWVudDc1NDI5Njc2MQ== 9599 2021-01-04T23:55:44Z 2021-01-04T23:55:44Z OWNER Bit uncomfortable that it looks like you need to include your Apple ID username and password in the CI configuration to do this. I'll use GitHub Secrets for this but I don't like it - I'll definitely setup a dedicated code signing account that's not my access-to-everything AppleID for this. {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 778450486  
Powered by Datasette · Queries took 12.881ms · About: simonw/datasette-graphql