issue_comments
928 rows where author_association = "NONE" sorted by performed_via_github_app
This data as json, CSV (advanced)
reactions 14 ✖
- {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 775
- {"total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 29
- {"total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0} 4
- {"total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 4
- {"total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 3
- {"total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 1} 2
- {"total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 1, "eyes": 0} 2
- {"total_count": 2, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 2, "rocket": 0, "eyes": 0} 2
- {"total_count": 3, "+1": 3, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 2
- {"total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 1, "heart": 0, "rocket": 0, "eyes": 0} 1
- {"total_count": 1, "+1": 0, "-1": 0, "laugh": 1, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 1
- {"total_count": 15, "+1": 7, "-1": 0, "laugh": 1, "hooray": 1, "confused": 0, "heart": 5, "rocket": 1, "eyes": 0} 1
- {"total_count": 3, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 3, "rocket": 0, "eyes": 0} 1
- {"total_count": 5, "+1": 5, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} 1
id | html_url | issue_url | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app ▼ |
---|---|---|---|---|---|---|---|---|---|---|---|
512126748 | https://github.com/simonw/datasette/issues/537#issuecomment-512126748 | https://api.github.com/repos/simonw/datasette/issues/537 | MDEyOklzc3VlQ29tbWVudDUxMjEyNjc0OA== | SteadBytes 14834132 | 2019-07-17T06:48:35Z | 2019-07-17T06:48:35Z | NONE | It looks as if the `datasette.utils.AsgiRouter.__call__` is the place to add this https://github.com/simonw/datasette/blob/90d4f497f9b3f6a5882937c91fddb496ac3e7368/datasette/utils/asgi.py#L101 . The sentry_asgi middleware uses the `__qualname__` or `__name__` attributes of the `endpoint` https://github.com/encode/sentry-asgi/blob/c6a42d44d31f85885b79e4ee898683ecf8104971/sentry_asgi/middleware.py#L84 Looking at the Starlette implementation `endpoint` is a `Callable` https://github.com/encode/starlette/commit/34d0097feb6f057bd050d5057df5a2f96b97384e#diff-34fba745b50527bfb4245d02afd59246R100 which as far as I can tell is analogous to the `view` function which is matched here https://github.com/simonw/datasette/blob/90d4f497f9b3f6a5882937c91fddb496ac3e7368/datasette/utils/asgi.py#L96 . A slight issue is that `__qualname__` is matched *first* in the sentry_asgi middleware, and `__name__` is used if that doesn't exist. I think (please correct me if I am wrong) that for datasette, the `__name__` is what should be used. For example, when using the development fixtures and hitting `http://127.0.0.1:8001/fixtures/compound_three_primary_keys` the `view` function that is matched gives: ```python >>> view.__qualname__ 'AsgiView.as_asgi.<locals>.view' >>> view.__name__ 'TableView' ``` Would `TableView` be the desired value here? Or am I looking in entirely the wrong place? :smile: | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Populate "endpoint" key in ASGI scope 463544206 | |
512930353 | https://github.com/simonw/datasette/issues/537#issuecomment-512930353 | https://api.github.com/repos/simonw/datasette/issues/537 | MDEyOklzc3VlQ29tbWVudDUxMjkzMDM1Mw== | SteadBytes 14834132 | 2019-07-18T18:20:53Z | 2019-07-18T18:34:03Z | NONE | Ok great, getting the `__qualname__` to be `TableView` and adding `endpoint` to the `scope` in `AsgiRouter` is simple enough (already done). However, (unless I'm missing a plugin hook or something) the suggestion of utilising it within a `datasette-sentry` plugin may not work. The only hook that would have access to the `scope` is the `asgi_wrapper` hook. But as this _wraps_ the existing `asgi` app, the `endpoint` won't yet have been added to the `scope` received by the hook https://github.com/SteadBytes/datasette/blob/107d47567dedd472eebec7f35bc34f5b58285ba8/datasette/app.py#L672 . However, I'm not sure where else the `endpoint` could be added to the asgi scope :thinking: | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Populate "endpoint" key in ASGI scope 463544206 | |
513279397 | https://github.com/simonw/datasette/issues/537#issuecomment-513279397 | https://api.github.com/repos/simonw/datasette/issues/537 | MDEyOklzc3VlQ29tbWVudDUxMzI3OTM5Nw== | tomchristie 647359 | 2019-07-19T15:47:57Z | 2019-07-19T15:48:09Z | NONE | The middleware implementation there works okay with a router nested inside if the scope is *mutated*. (Ie. "endpoint" doesn't need to exist at the point that the middleware starts running, but if it *has* been made available by the time an exception is thrown, then it can be used.) Starlette's usage of "endpoint" there is unilateral, rather than something I've discussed against the ASGI spec - certainly it's important for any monitoring ASGI middleware to be able to have some kind of visibility onto some limited subset of routing information, and `"endpoint"` in the scope referencing some routed-to callable seemed general enough to be useful. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Populate "endpoint" key in ASGI scope 463544206 | |
513439736 | https://github.com/simonw/datasette/issues/537#issuecomment-513439736 | https://api.github.com/repos/simonw/datasette/issues/537 | MDEyOklzc3VlQ29tbWVudDUxMzQzOTczNg== | SteadBytes 14834132 | 2019-07-20T06:05:01Z | 2019-07-20T06:05:01Z | NONE | The asgi spec doesn't explicitly specify (at least as far as I can tell) whether the scope is immutable/mutable https://asgi.readthedocs.io/en/latest/specs/lifespan.html#scope . @simonw using a header for this would be a nice approach. It would also potentially increase the portability of any middleware/plugins/clients across different applications/frameworks as it's not tied directly to an asgi implementation | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Populate "endpoint" key in ASGI scope 463544206 | |
513442743 | https://github.com/simonw/datasette/issues/537#issuecomment-513442743 | https://api.github.com/repos/simonw/datasette/issues/537 | MDEyOklzc3VlQ29tbWVudDUxMzQ0Mjc0Mw== | tomchristie 647359 | 2019-07-20T06:50:47Z | 2019-07-20T06:50:47Z | NONE | Right now the spec does say “copy the scope, rather than mutate it” https://asgi.readthedocs.io/en/latest/specs/main.html#middleware I wouldn’t be surprised if that there’s room for discussion on evolving the exact language there. There’s obvs a nice element to the strictness there, tho practically I’m not sure it’s something that implementations will follow, and its not something that Starlette chooses to abide by. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Populate "endpoint" key in ASGI scope 463544206 | |
513446227 | https://github.com/simonw/datasette/issues/537#issuecomment-513446227 | https://api.github.com/repos/simonw/datasette/issues/537 | MDEyOklzc3VlQ29tbWVudDUxMzQ0NjIyNw== | SteadBytes 14834132 | 2019-07-20T07:50:44Z | 2019-07-20T07:50:44Z | NONE | Oh yes well spotted thank you 😁 I agree that the strictness would be nice as it could help to avoid different middleware altering the scope in incompatible ways. However I do also agree that it's likely for not all implementations to follow 🤔 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Populate "endpoint" key in ASGI scope 463544206 | |
513652597 | https://github.com/simonw/datasette/issues/537#issuecomment-513652597 | https://api.github.com/repos/simonw/datasette/issues/537 | MDEyOklzc3VlQ29tbWVudDUxMzY1MjU5Nw== | SteadBytes 14834132 | 2019-07-22T06:03:18Z | 2019-07-22T06:03:18Z | NONE | @simonw do you think it is still worth populating the `endpoint` key in the scope as originally intended by this issue, or should we hold off until a decision about possibly using an `X-Endpoint` header instead? :smile: | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Populate "endpoint" key in ASGI scope 463544206 | |
514745798 | https://github.com/dogsheep/healthkit-to-sqlite/issues/9#issuecomment-514745798 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/9 | MDEyOklzc3VlQ29tbWVudDUxNDc0NTc5OA== | tholo 166463 | 2019-07-24T18:25:36Z | 2019-07-24T18:25:36Z | NONE | This is on macOS 10.14.6, with Python 3.7.4, packages in the virtual environment: ``` Package Version ------------------- ------- aiofiles 0.4.0 Click 7.0 click-default-group 1.2.1 datasette 0.29.2 h11 0.8.1 healthkit-to-sqlite 0.3.1 httptools 0.0.13 hupper 1.8.1 importlib-metadata 0.18 Jinja2 2.10.1 MarkupSafe 1.1.1 Pint 0.8.1 pip 19.2.1 pluggy 0.12.0 setuptools 41.0.1 sqlite-utils 1.7 tabulate 0.8.3 uvicorn 0.8.4 uvloop 0.12.2 websockets 7.0 zipp 0.5.2 ``` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Too many SQL variables 472429048 | |
515370687 | https://github.com/dogsheep/healthkit-to-sqlite/issues/9#issuecomment-515370687 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/9 | MDEyOklzc3VlQ29tbWVudDUxNTM3MDY4Nw== | tholo 166463 | 2019-07-26T09:01:19Z | 2019-07-26T09:01:19Z | NONE | Yes, that did fix the issue I was seeing — it will now import my complete HealthKit data. Thorsten > On Jul 25, 2019, at 23:07, Simon Willison <notifications@github.com> wrote: > > @tholo <https://github.com/tholo> this should be fixed in just-released version 0.3.2 - could you run a pip install -U healthkit-to-sqlite and let me know if it works for you now? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub <https://github.com/dogsheep/healthkit-to-sqlite/issues/9?email_source=notifications&email_token=AABIUPYTWYOYSLEAFS7TLMLQBKIBBA5CNFSM4IGSXNNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD23TDNQ#issuecomment-515322294>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AABIUP7DCBQ37SESQL7D4WTQBKIBBANCNFSM4IGSXNNA>. > | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Too many SQL variables 472429048 | |
517936126 | https://github.com/simonw/datasette/issues/566#issuecomment-517936126 | https://api.github.com/repos/simonw/datasette/issues/566 | MDEyOklzc3VlQ29tbWVudDUxNzkzNjEyNg== | dvot197007 8330931 | 2019-08-03T16:13:36Z | 2019-08-03T16:13:36Z | NONE | This example now works on my other machine when running from the anaconda prompt. So I'm not sure if this is actually a datasette issue or not. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Unexpected keyword argument 'hidden' 476437213 | |
519065799 | https://github.com/simonw/datasette/issues/411#issuecomment-519065799 | https://api.github.com/repos/simonw/datasette/issues/411 | MDEyOklzc3VlQ29tbWVudDUxOTA2NTc5OQ== | dazzag24 1055831 | 2019-08-07T12:00:36Z | 2019-08-07T12:00:36Z | NONE | Hi, Apologies for the long delay. I tried your suggesting escaping approach: `SELECT a.pos AS rank, b.id, b.name, b.country, b.latitude AS latitude, b.longitude AS longitude, a.distance / 1000.0 AS dist_km FROM KNN AS a LEFT JOIN airports AS b ON (b.rowid = a.fid)WHERE f_table_name = 'airports' AND ref_geometry = MakePoint(:Long || ", " || :Lat) AND max_items = 6; ` and it returns this error: `wrong number of arguments to function MakePoint()` Anything else you suggest I try? Thanks | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | How to pass named parameter into spatialite MakePoint() function 410384988 | |
524300388 | https://github.com/simonw/sqlite-utils/issues/54#issuecomment-524300388 | https://api.github.com/repos/simonw/sqlite-utils/issues/54 | MDEyOklzc3VlQ29tbWVudDUyNDMwMDM4OA== | ftrain 20264 | 2019-08-23T12:41:09Z | 2019-08-23T12:41:09Z | NONE | Extremely cool and easy to understand. Thank you! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Ability to list views, and to access db["view_name"].rows / rows_where / etc 480961330 | |
539721880 | https://github.com/simonw/datasette/issues/514#issuecomment-539721880 | https://api.github.com/repos/simonw/datasette/issues/514 | MDEyOklzc3VlQ29tbWVudDUzOTcyMTg4MA== | ipmb 319156 | 2019-10-08T22:00:03Z | 2019-10-08T22:00:03Z | NONE | If you are just using Nginx to open a reserved port, systemd can do that on its own. https://www.freedesktop.org/software/systemd/man/systemd.socket.html. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Documentation with recommendations on running Datasette in production without using Docker 459397625 | |
540545863 | https://github.com/simonw/datasette/issues/567#issuecomment-540545863 | https://api.github.com/repos/simonw/datasette/issues/567 | MDEyOklzc3VlQ29tbWVudDU0MDU0NTg2Mw== | clausjuhl 2181410 | 2019-10-10T12:20:29Z | 2019-10-10T12:20:29Z | NONE | Hi Simon. Is there somewhere to read about its ability to run against read-only databases that are able to be modified by other processes? While we're waiting for "Datasette Edit" :) | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Datasette Edit 476573875 | |
540548765 | https://github.com/simonw/datasette/issues/215#issuecomment-540548765 | https://api.github.com/repos/simonw/datasette/issues/215 | MDEyOklzc3VlQ29tbWVudDU0MDU0ODc2NQ== | clausjuhl 2181410 | 2019-10-10T12:27:56Z | 2019-10-10T12:27:56Z | NONE | Hi Simon. Any news on the ability to add routes (with static content) to datasette? As a public institution I'm required to have at least privacy, cookie and availability policies in place, and it really would be nice to have these under the same url. Thank you for some great work! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Allow plugins to define additional URL routes and views 314506669 | |
541323265 | https://github.com/simonw/datasette/issues/593#issuecomment-541323265 | https://api.github.com/repos/simonw/datasette/issues/593 | MDEyOklzc3VlQ29tbWVudDU0MTMyMzI2NQ== | stonebig 4312421 | 2019-10-12T13:04:54Z | 2019-10-12T13:07:01Z | NONE | hum, well, I fail also with hypercorn on "add_signal_handler()" not implemented directly in Windows, python-3.8 included https://stackoverflow.com/questions/45987985/asyncio-loops-add-signal-handler-in-windows | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | make uvicorn optional dependancy (because not ok on windows python yet) 506183241 | |
541324637 | https://github.com/simonw/datasette/issues/593#issuecomment-541324637 | https://api.github.com/repos/simonw/datasette/issues/593 | MDEyOklzc3VlQ29tbWVudDU0MTMyNDYzNw== | stonebig 4312421 | 2019-10-12T13:22:50Z | 2019-10-12T13:22:50Z | NONE | maybe situation is to change ? I see this in uvicorn https://github.com/encode/uvicorn/pull/423 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | make uvicorn optional dependancy (because not ok on windows python yet) 506183241 | |
541390656 | https://github.com/simonw/datasette/issues/593#issuecomment-541390656 | https://api.github.com/repos/simonw/datasette/issues/593 | MDEyOklzc3VlQ29tbWVudDU0MTM5MDY1Ng== | stonebig 4312421 | 2019-10-13T06:22:07Z | 2019-10-13T06:22:07Z | NONE | well, I succeeded to make uvicorn work. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | make uvicorn optional dependancy (because not ok on windows python yet) 506183241 | |
541499978 | https://github.com/simonw/datasette/pull/595#issuecomment-541499978 | https://api.github.com/repos/simonw/datasette/issues/595 | MDEyOklzc3VlQ29tbWVudDU0MTQ5OTk3OA== | stonebig 4312421 | 2019-10-14T04:32:33Z | 2019-10-14T04:33:26Z | NONE | Maybe make the setup rule conditional, so that below python-3.6, it looks for unicorn-0.8 ? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | bump uvicorn to 0.9.0 to be Python-3.8 friendly 506300941 | |
541664602 | https://github.com/simonw/datasette/pull/595#issuecomment-541664602 | https://api.github.com/repos/simonw/datasette/issues/595 | MDEyOklzc3VlQ29tbWVudDU0MTY2NDYwMg== | tomchristie 647359 | 2019-10-14T13:03:10Z | 2019-10-14T13:03:10Z | NONE | 🤷♂️ @stonebig's suggestion would be the best I got too, *if* you want to support 3.5->3.8. It's either that, or hold off on 3.8 support until you're ready to go to 3.6->3.8. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | bump uvicorn to 0.9.0 to be Python-3.8 friendly 506300941 | |
541837823 | https://github.com/simonw/datasette/pull/578#issuecomment-541837823 | https://api.github.com/repos/simonw/datasette/issues/578 | MDEyOklzc3VlQ29tbWVudDU0MTgzNzgyMw== | heussd 887095 | 2019-10-14T18:19:42Z | 2019-10-14T18:19:42Z | NONE | My use case was: I wanted to use datasette on a Raspberry Pi. `docker pull datasetteproject/datasette` pulled the official image, which then failed to execute because it is not ARM ready. Building my own quite took some time (~60 minutes via Qemu on Intel i5). You are right, the build method is quite new and I would not be surprised if the syntax / command will change in future. The outcome however, a Docker multi-architecture manifest, is aligned with Docker's strategy on how to tackle multiple architectures: transparently, on the registry-side. I just thought it would be nice to have the official image ready for multiple architectures. But I fully understand if the current methods feel too experimental to be mergable... | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Added support for multi arch builds 499954048 | |
544502617 | https://github.com/simonw/datasette/issues/588#issuecomment-544502617 | https://api.github.com/repos/simonw/datasette/issues/588 | MDEyOklzc3VlQ29tbWVudDU0NDUwMjYxNw== | bsilverm 12617395 | 2019-10-21T12:58:22Z | 2019-10-21T12:58:22Z | NONE | Thanks for the reply. I was hoping queries per table were supported, as I have an application that builds tables depending on the user input to the application. It will either create one table, or two.. and if one or the other is missing, certain queries will return errors. Of course I can work around this by labeling the query name and hope users don't click queries they have not created a table for, but ideally the user would see the queries available based on the tables that exist in their database. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Queries per DB table in metadata.json 505512251 | |
546722281 | https://github.com/simonw/datasette/issues/607#issuecomment-546722281 | https://api.github.com/repos/simonw/datasette/issues/607 | MDEyOklzc3VlQ29tbWVudDU0NjcyMjI4MQ== | zeluspudding 8431341 | 2019-10-27T18:46:29Z | 2019-10-27T19:00:40Z | NONE | Update: I've created a table of only unique names. This reduces the search space from over 16 million, to just about 640,000. Interestingly, it takes less than 2 seconds to create this table using Python. Performing the same search that we did earlier for `elon musk` takes nearly a second - much faster than before but still not speedy enough for an autocomplete feature (which usually needs to return results within 100ms to feel "real time"). Any ideas for slashing the search speed nearly 10 fold? > ![image](https://user-images.githubusercontent.com/8431341/67639587-b6c02b00-f8bf-11e9-9344-1d8667cad395.png) | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Ways to improve fuzzy search speed on larger data sets? 512996469 | |
546723302 | https://github.com/simonw/datasette/issues/607#issuecomment-546723302 | https://api.github.com/repos/simonw/datasette/issues/607 | MDEyOklzc3VlQ29tbWVudDU0NjcyMzMwMg== | zeluspudding 8431341 | 2019-10-27T18:59:55Z | 2019-10-27T19:00:48Z | NONE | Ultimately, I'm needing to serve searches like this to multiple users (at times concurrently). Given the size of the database I'm working with, can anyone comment as to whether I should be storing this in something like MySQL or Postgres rather than SQLite. I know there's been much [defense of sqlite being performant](https://www.sqlite.org/whentouse.html) but I wonder if those arguments break down as the database size increases. For example, if I scroll to the bottom of that linked page, where it says **Checklist For Choosing The Right Database Engine**, here's how I answer those questions: - Is the data separated from the application by a network? → choose client/server __Yes__ - Many concurrent writers? → choose client/server __Not exactly. I may have many concurrent readers but almost no concurrent writers.__ - Big data? → choose client/server __No, my database is less than 40 gb and wont approach a terabyte in the next decade.__ So is sqlite still a good idea here? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Ways to improve fuzzy search speed on larger data sets? 512996469 | |
546752311 | https://github.com/simonw/datasette/issues/607#issuecomment-546752311 | https://api.github.com/repos/simonw/datasette/issues/607 | MDEyOklzc3VlQ29tbWVudDU0Njc1MjMxMQ== | zeluspudding 8431341 | 2019-10-28T00:37:10Z | 2019-10-28T00:37:10Z | NONE | UPDATE: According to tips suggested in [Squeezing Performance from SQLite: Indexes? Indexes!](https://medium.com/@JasonWyatt/squeezing-performance-from-sqlite-indexes-indexes-c4e175f3c346) I have added an index to my large table and benchmarked query speeds in the case where I want to return `all rows`, `rows exactly equal to 'Musk Elon'` and, `rows like 'musk'`. Indexing reduced query time for each of those measures and **dramatically** reduced the time to return `rows exactly equal to 'Musk Elon'` as shown below: > table: edgar_idx > rows: 16,428,090 rows > **indexed: False** > Return all rows where company name exactly equal to Musk Elon > query: select rowid, * from edgar_idx where "company" = :p0 order by rowid limit 101 > query time: Query took 21821.031ms > > Return all rows where company name contains Musk > query: select rowid, * from edgar_idx where "company" like :p0 order by rowid limit 101 > query time: Query took 20505.029ms > > Return everything > query: select rowid, * from edgar_idx order by rowid limit 101 > query time: Query took 7985.011ms > > **indexed: True** > Return all rows where company name exactly equal to Musk Elon > query: select rowid, * from edgar_idx where "company" = :p0 order by rowid limit 101 > query time: Query took 30.0ms > > Return all rows where company name contains Musk > query: select rowid, * from edgar_idx where "company" like :p0 order by rowid limit 101 > query time: Query took 13340.019ms > > Return everything > query: select rowid, * from edgar_idx order by rowid limit 101 > query time: Query took 2190.003ms So indexing reduced query time for an exact match to "Musk Elon" from almost `22 seconds` to `30.0ms`. **That's amazing and truly promising!** However, an autocomplete feature relies on fuzzy / incomplete matching, which is more similar to the `contains 'musk'` query... Unfortunately, that takes 13 seconds even after indexing. So the hunt for a fast fuzzy / autocomplete search capability persists. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Ways to improve fuzzy search speed on larger data sets? 512996469 | |
547373739 | https://github.com/simonw/datasette/issues/594#issuecomment-547373739 | https://api.github.com/repos/simonw/datasette/issues/594 | MDEyOklzc3VlQ29tbWVudDU0NzM3MzczOQ== | willingc 2680980 | 2019-10-29T11:21:52Z | 2019-10-29T11:21:52Z | NONE | Just an FYI for folks wishing to run datasette with Python 3.8, I was able to successfully use datasette with the following in a virtual environment: ``` pip install uvloop==0.14.0rc1 pip install uvicorn==0.9.1 ``` | {"total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0} | upgrade to uvicorn-0.9 to be Python-3.8 friendly 506297048 | |
548058715 | https://github.com/simonw/datasette/issues/605#issuecomment-548058715 | https://api.github.com/repos/simonw/datasette/issues/605 | MDEyOklzc3VlQ29tbWVudDU0ODA1ODcxNQ== | bsilverm 12617395 | 2019-10-30T18:44:41Z | 2019-10-30T18:55:37Z | NONE | Sure. I imagine it being pretty straight forward. Today when you click on the database, the UI displays: -Table 1- -fields- -row count- -Table 2- -fields- -row count- Queries: -query1- -query2- .. ... My proposal would be to display as follows: -Table 1- -fields- -row count- Queries: -query1- -query2- .. ... -Table 2- -fields- -row count- Queries: -query1- -query2- .. ... This way, if a given table is not present in the database, the associated queries are also not present. Today, I have a list of queries, some work, some result in errors depending on whether the dependent tables exist in the database. Let me know if that makes sense. Thanks again! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Support queries at the table level 510076368 | |
548060038 | https://github.com/simonw/datasette/issues/607#issuecomment-548060038 | https://api.github.com/repos/simonw/datasette/issues/607 | MDEyOklzc3VlQ29tbWVudDU0ODA2MDAzOA== | zeluspudding 8431341 | 2019-10-30T18:47:57Z | 2019-10-30T18:47:57Z | NONE | Hi Simon, thanks for the pointer! Feeling good that I came to your conclusion a few days ago. I did hit a snag with figuring out how to compile a special version of sqlite for my windows machine (which I only realized I needed to do after running your command `sqlite-utils enable-fts mydatabase.db items name description`). I'll try to solve that problem next week and report back here with my findings (if you know of a good tutorial for compiling on windows, I'm all ears). Either way, I'll try to close this issue out in the next two weeks. Thanks again! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Ways to improve fuzzy search speed on larger data sets? 512996469 | |
548508237 | https://github.com/simonw/datasette/issues/176#issuecomment-548508237 | https://api.github.com/repos/simonw/datasette/issues/176 | MDEyOklzc3VlQ29tbWVudDU0ODUwODIzNw== | eads 634572 | 2019-10-31T18:25:44Z | 2019-10-31T18:25:44Z | NONE | 👋 I'd be interested in building this out in Q1 or Q2 of 2020 if nobody has tackled it by then. I would love to integrate Datasette into @thechicagoreporter's practice, but we're also fully committed to GraphQL moving forward. | {"total_count": 2, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 2, "rocket": 0, "eyes": 0} | Add GraphQL endpoint 285168503 | |
550649607 | https://github.com/simonw/datasette/issues/607#issuecomment-550649607 | https://api.github.com/repos/simonw/datasette/issues/607 | MDEyOklzc3VlQ29tbWVudDU1MDY0OTYwNw== | zeluspudding 8431341 | 2019-11-07T03:38:10Z | 2019-11-07T03:38:10Z | NONE | I just got FTS5 working and it is incredible! The lookup time for returning all rows where company name contains "Musk" from my table of 16,428,090 rows has dropped from `13,340.019` ms to `15.6`ms. Well below the 100ms latency for the "real time autocomplete" feel (which doesn't currently include the http call). So cool! Thanks again for the pointers and awesome datasette! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Ways to improve fuzzy search speed on larger data sets? 512996469 | |
551872999 | https://github.com/simonw/datasette/issues/616#issuecomment-551872999 | https://api.github.com/repos/simonw/datasette/issues/616 | MDEyOklzc3VlQ29tbWVudDU1MTg3Mjk5OQ== | null92 49656826 | 2019-11-08T15:31:33Z | 2019-11-08T15:31:33Z | NONE | Thank you so much, Simon! Now, I'm contacting Heroku's support team to find a way to update the Datasette version on bases.vortex.media. Do you know how to do it? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Datasette FTS detection bug 518506242 | |
552327079 | https://github.com/simonw/datasette/pull/595#issuecomment-552327079 | https://api.github.com/repos/simonw/datasette/issues/595 | MDEyOklzc3VlQ29tbWVudDU1MjMyNzA3OQ== | tomchristie 647359 | 2019-11-11T07:34:27Z | 2019-11-11T07:34:27Z | NONE | > Glitch has been upgraded to Python 3.7. Whoop! 🥳 ✨ | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | bump uvicorn to 0.9.0 to be Python-3.8 friendly 506300941 | |
552737357 | https://github.com/simonw/datasette/pull/627#issuecomment-552737357 | https://api.github.com/repos/simonw/datasette/issues/627 | MDEyOklzc3VlQ29tbWVudDU1MjczNzM1Nw== | willingc 2680980 | 2019-11-12T05:13:46Z | 2019-11-12T05:13:46Z | NONE | Thanks @simonw. I appreciate your work on this. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Support Python 3.8, stop supporting Python 3.5 521323012 | |
558437707 | https://github.com/simonw/datasette/issues/639#issuecomment-558437707 | https://api.github.com/repos/simonw/datasette/issues/639 | MDEyOklzc3VlQ29tbWVudDU1ODQzNzcwNw== | pkoppstein 172847 | 2019-11-26T03:02:53Z | 2019-11-26T03:03:29Z | NONE | @simonw - Thanks for the reply! My reading of the heroku documents is that if one sets things up using git, then one can use "git push" (from a {local, GitHub, GitLab} git repository to Heroku) to "update" a Heroku deployment, but I'm not sure exactly how this works. However, assuming there is some way to use "git push" to update the Heroku deployment, the question becomes how can one do this in conjunction with datasette. Again based on my reading the heroku documents, it would seem that the following should work (but it doesn't quite): 1) Use datasette to create a deployment (named MYAPP) 2) Put it in maintenance mode 3) heroku git:clone -a MYAPP -- This results in an empty repository (as expected) 4) In another directory, heroku slugs:download -a MYAPP 5) Copy the downloaded slug into the repository 6) Make some change to metadata.json 6) Commit and push it back 7) Take the deployment out of maintenance mode 8) Refresh the deployment Using the heroku console, I've verified that the edits appear on heroku, but somehow they are not reflected in the running app. I'm hopeful that with some small tweak or perhaps the addition of a bit of voodoo, this strategy will work. I think it will be important to get this working for another reason: getting Heroku, Cloudcube, and datasette to work together, to overcome the slug size limitation so that large SQLite databases can be deployed to Heroku using Datasette. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | updating metadata.json without recreating the app 527670799 | |
558852316 | https://github.com/simonw/datasette/issues/639#issuecomment-558852316 | https://api.github.com/repos/simonw/datasette/issues/639 | MDEyOklzc3VlQ29tbWVudDU1ODg1MjMxNg== | pkoppstein 172847 | 2019-11-26T22:54:23Z | 2019-11-26T22:54:23Z | NONE | @jacobian - Thanks for your help. Having to upload an entire slug each time a small change is needed in `metadata.json` seems no better than the current situation so I probably won't go down that rabbit hole just yet. In any case, the really important goal is moving the SQLite file out of Heroku in a way that the Heroku app can still read it efficiently. Is this possible? Is Cloudcube the right place to start? Is there any alternative? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | updating metadata.json without recreating the app 527670799 | |
559916057 | https://github.com/simonw/datasette/issues/639#issuecomment-559916057 | https://api.github.com/repos/simonw/datasette/issues/639 | MDEyOklzc3VlQ29tbWVudDU1OTkxNjA1Nw== | pkoppstein 172847 | 2019-11-30T06:08:50Z | 2019-11-30T06:08:50Z | NONE | @simonw, @jacobian - I was able to resolve the metadata.json issue by adding `-m metadata.json` to the Procfile. Now `git push heroku master` picks up the changes, though I have the impression that heroku is doing more work than necessary (e.g. one of the information messages is: `Installing requirements with pip`). I also had to set the environment variable WEB_CONCURRENCY -- I used WEB_CONCURRENCY=1. I am still anxious to know whether it's possible for Datasette on Heroku to access the SQLite file at another location. Cloudcube seems the most promising, and I'm hoping it can be done by tweaking the Procfile suitably, but maybe that's too optimistic? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | updating metadata.json without recreating the app 527670799 | |
561133534 | https://github.com/simonw/datasette/issues/646#issuecomment-561133534 | https://api.github.com/repos/simonw/datasette/issues/646 | MDEyOklzc3VlQ29tbWVudDU2MTEzMzUzNA== | lagolucas 18017473 | 2019-12-03T11:50:44Z | 2019-12-03T11:50:44Z | NONE | Thanks for the reply. Will try to implement that on my end, if I have any success I will post here/ make a pull request. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Make database level information from metadata.json available in the index.html template 531502365 | |
561247711 | https://github.com/simonw/datasette/issues/646#issuecomment-561247711 | https://api.github.com/repos/simonw/datasette/issues/646 | MDEyOklzc3VlQ29tbWVudDU2MTI0NzcxMQ== | lagolucas 18017473 | 2019-12-03T16:31:39Z | 2019-12-03T17:31:33Z | NONE | > I don't think this is possible at the moment but you're right, it totally should be. Just give me a heads-up if you think you can do that quickly. I am trying to implement it with very little knowledge of how datasette works, so it will take loads of time. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Make database level information from metadata.json available in the index.html template 531502365 | |
567127981 | https://github.com/simonw/datasette/issues/394#issuecomment-567127981 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDU2NzEyNzk4MQ== | terrycojones 132978 | 2019-12-18T17:18:06Z | 2019-12-18T17:18:06Z | NONE | Agreed, this would be nice to have. I'm currently working around it in `nginx` with additional location blocks: ``` location /datasette/ { proxy_pass http://127.0.0.1:8001/; proxy_redirect off; include proxy_params; } location /dna-protein-genome/ { proxy_pass http://127.0.0.1:8001/dna-protein-genome/; proxy_redirect off; include proxy_params; } location /rna-protein-genome/ { proxy_pass http://127.0.0.1:8001/rna-protein-genome/; proxy_redirect off; include proxy_params; } ``` The 2nd and 3rd above are my databases. This works, but I have a small problem with URLs like `/rna-protein-genome?params....` that I could fix with some more nginx munging. I seem to do this sort of thing once every 5 years and then have to look it all up again. Thanks! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | base_url configuration setting 396212021 | |
567128636 | https://github.com/simonw/datasette/issues/394#issuecomment-567128636 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDU2NzEyODYzNg== | terrycojones 132978 | 2019-12-18T17:19:46Z | 2019-12-18T17:19:46Z | NONE | Hmmm, wait, maybe my mindless (copy/paste) use of `proxy_redirect` is causing me grief... | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | base_url configuration setting 396212021 | |
567219479 | https://github.com/simonw/datasette/issues/394#issuecomment-567219479 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDU2NzIxOTQ3OQ== | terrycojones 132978 | 2019-12-18T21:24:23Z | 2019-12-18T21:24:23Z | NONE | @simonw What about allowing a base url. The `<base>....</base>` tag has been around forever. Then just use all relative URLs, which I guess is likely what you already do. See https://www.w3schools.com/TAGs/tag_base.asp | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | base_url configuration setting 396212021 | |
567225156 | https://github.com/simonw/datasette/issues/596#issuecomment-567225156 | https://api.github.com/repos/simonw/datasette/issues/596 | MDEyOklzc3VlQ29tbWVudDU2NzIyNTE1Ng== | terrycojones 132978 | 2019-12-18T21:40:35Z | 2019-12-18T21:40:35Z | NONE | I initially went looking for a way to hide a column completely. Today I found the setting to truncate cells, but it applies to all cells. In my case I have text columns that can have many thousands of characters. I was wondering whether the metadata JSON would be an appropriate place to indicate how columns are displayed (on a col-by-col basis). E.g., I'd like to be able to specify that only 20 chars of a given column be shown, and the font be monospace. But maybe I can do that in some other way - I barely know anything about datasette yet, sorry! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Handle really wide tables better 507454958 | |
567226048 | https://github.com/simonw/datasette/issues/596#issuecomment-567226048 | https://api.github.com/repos/simonw/datasette/issues/596 | MDEyOklzc3VlQ29tbWVudDU2NzIyNjA0OA== | terrycojones 132978 | 2019-12-18T21:43:13Z | 2019-12-18T21:43:13Z | NONE | Meant to add that of course it would be better not to reinvent CSS (one time was already enough). But one option would be to provide a mechanism to specify a CSS class for a column (a cell, a row...) and let the user give a URL path to a CSS file on the command line. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Handle really wide tables better 507454958 | |
571138093 | https://github.com/simonw/sqlite-utils/issues/73#issuecomment-571138093 | https://api.github.com/repos/simonw/sqlite-utils/issues/73 | MDEyOklzc3VlQ29tbWVudDU3MTEzODA5Mw== | psychemedia 82988 | 2020-01-06T13:28:31Z | 2020-01-06T13:28:31Z | NONE | I think I actually had several issues in play... The missing key was one, but I think there is also an issue as per below. For example, in the following: ```python def init_testdb(dbname='test.db'): if os.path.exists(dbname): os.remove(dbname) conn = sqlite3.connect(dbname) db = Database(conn) return conn, db conn, db = init_testdb() c = conn.cursor() c.executescript('CREATE TABLE "test1" ("Col1" TEXT, "Col2" TEXT, PRIMARY KEY ("Col1"));') c.executescript('CREATE TABLE "test2" ("Col1" TEXT, "Col2" TEXT, PRIMARY KEY ("Col1"));') print('Test 1...') for i in range(3): db['test1'].upsert_all([{'Col1':'a', 'Col2':'x'},{'Col1':'b', 'Col2':'x'}], pk=('Col1')) db['test2'].upsert_all([{'Col1':'a', 'Col2':'x'},{'Col1':'b', 'Col2':'x'}], pk=('Col1')) print('Test 2...') for i in range(3): db['test1'].upsert_all([{'Col1':'a', 'Col2':'x'},{'Col1':'b', 'Col2':'x'}], pk=('Col1')) db['test2'].upsert_all([{'Col1':'a', 'Col2':'x'},{'Col1':'b', 'Col2':'x'}, {'Col1':'c','Col2':'x'}], pk=('Col1')) print('Done...') --------------------------------------------------------------------------- Test 1... Test 2... IndexError: list index out of range --------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-763-444132ca189f> in <module> 22 print('Test 2...') 23 for i in range(3): ---> 24 db['test1'].upsert_all([{'Col1':'a', 'Col2':'x'},{'Col1':'b', 'Col2':'x'}], pk=('Col1')) 25 db['test2'].upsert_all([{'Col1':'a', 'Col2':'x'},{'Col1':'b', 'Col2':'x'}, 26 {'Col1':'c','Col2':'x'}], pk=('Col1')) /usr/local/lib/python3.7/site-packages/sqlite_utils/db.py in upsert_all(self, records, pk, foreign_keys, column_order, not_null, defaults, batch_size, hash_id, alter, extracts) 1157 alter=alter, 1158 extracts=extracts, -> 1… | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | upsert_all() throws issue when upserting to empty table 545407916 | |
571412923 | https://github.com/dogsheep/github-to-sqlite/issues/16#issuecomment-571412923 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/16 | MDEyOklzc3VlQ29tbWVudDU3MTQxMjkyMw== | jayvdb 15092 | 2020-01-07T03:06:46Z | 2020-01-07T03:06:46Z | NONE | I re-tried after doing `auth`, and I get the same result. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Exception running first command: IndexError: list index out of range 546051181 | |
573047321 | https://github.com/simonw/sqlite-utils/issues/73#issuecomment-573047321 | https://api.github.com/repos/simonw/sqlite-utils/issues/73 | MDEyOklzc3VlQ29tbWVudDU3MzA0NzMyMQ== | psychemedia 82988 | 2020-01-10T14:02:56Z | 2020-01-10T14:09:23Z | NONE | Hmmm... just tried with installs from pip and the repo (v2.0.0 and v2.0.1) and I get the error each time (start of second run through the second loop). Could it be sqlite3? I'm on 3.30.1. UPDATE: just tried it on jupyter.org/try and I get the error there, too. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | upsert_all() throws issue when upserting to empty table 545407916 | |
575321322 | https://github.com/simonw/datasette/issues/657#issuecomment-575321322 | https://api.github.com/repos/simonw/datasette/issues/657 | MDEyOklzc3VlQ29tbWVudDU3NTMyMTMyMg== | dazzag24 1055831 | 2020-01-16T20:01:43Z | 2020-01-16T20:01:43Z | NONE | I have successfully tested datasette using a parquet VIRTUAL TABLE. In the first terminal: ```datasette airports.db --load-extension=libparquet``` In another terminal I load the same sqlite db file using the sqlite3 cli client. ```$ sqlite3 airports.db``` and then load the parquet extension and create the virtual table. ``` sqlite> .load /home/darreng/metars/libparquet sqlite> CREATE VIRTUAL TABLE mytable USING parquet('/home/xx/data.parquet'); ``` Now the parquet virtual table is usable by the datasette web UI. Its not an ideal solution but is a proof that datasette works the parquet extension. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Allow creation of virtual tables at startup 548591089 | |
575799104 | https://github.com/simonw/sqlite-utils/issues/70#issuecomment-575799104 | https://api.github.com/repos/simonw/sqlite-utils/issues/70 | MDEyOklzc3VlQ29tbWVudDU3NTc5OTEwNA== | LucasElArruda 26292069 | 2020-01-17T21:20:17Z | 2020-01-17T21:20:17Z | NONE | Omg sorry I took so long to reply! On SQL we can say how the foreign key behaves when it is deleted or updated on the parent table (see https://www.sqlitetutorial.net/sqlite-foreign-key/ for more details). I did not see clearly how to create tables with this feature on sqlite-utils library. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Implement ON DELETE and ON UPDATE actions for foreign keys 539204432 | |
576759416 | https://github.com/simonw/datasette/issues/657#issuecomment-576759416 | https://api.github.com/repos/simonw/datasette/issues/657 | MDEyOklzc3VlQ29tbWVudDU3Njc1OTQxNg== | dazzag24 1055831 | 2020-01-21T16:20:19Z | 2020-01-21T16:20:19Z | NONE | Hi, I've completed some changes to my fork of datasette that allows it to automatically create the parquet virtual table when you supply it with a filename that has the ".parquet" extension. I had to figure out how to make the "CREATE VIRTUAL TABLE" statement only be applied to the fake in memory parquet database and not to any others that were also being loaded. Thus it supports mixed mode databases e.g ``` datasette my_test.parquet normal_sqlite_file.db --load-extension=libparquet.so --load-extensio n=mod_spatialite.so ``` Please see my changes here: https://github.com/dazzag24/datasette/commit/8e18394353114f17291fd1857073b1e0485a1faf Thanks | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Allow creation of virtual tables at startup 548591089 | |
579675357 | https://github.com/simonw/datasette/issues/651#issuecomment-579675357 | https://api.github.com/repos/simonw/datasette/issues/651 | MDEyOklzc3VlQ29tbWVudDU3OTY3NTM1Nw== | clausjuhl 2181410 | 2020-01-29T09:45:00Z | 2021-07-14T19:26:06Z | NONE | Hi Simon Thank you for adding the escape_function, but it does not work on my datasette-installation (0.33). I've added the following file to my datasette-dir: `/plugins/sql_functions.py`: ```python from datasette import hookimpl def escape_fts_query(query): bits = query.split() return ' '.join('"{}"'.format(bit.replace('"', '')) for bit in bits) @hookimpl def prepare_connection(conn): conn.create_function("escape_fts_query", 1, escape_fts_query)` ``` It has no effect on the standard queries to the tables though, as they still produce errors when including any characters like '-', '/', '+' or '?' Does the function only work when using costum queries, where I can include the escape_fts-function explicitly in the sql-query? PS. I'm calling datasette with --plugins=plugins, and my other plugins work just fine. PPS. The fts5 virtual table is created with 'sqlite3' like so: `CREATE VIRTUAL TABLE "cases_fts" USING FTS5( title, subtitle, resume, suggestion, presentation, detail = full, content_rowid = 'id', content = 'cases', tokenize='unicode61', 'remove_diacritics 2', 'tokenchars "-_"' );` Thanks! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | fts5 syntax error when using punctuation 539590148 | |
579798917 | https://github.com/simonw/datasette/issues/662#issuecomment-579798917 | https://api.github.com/repos/simonw/datasette/issues/662 | MDEyOklzc3VlQ29tbWVudDU3OTc5ODkxNw== | clausjuhl 2181410 | 2020-01-29T15:08:57Z | 2020-01-29T15:08:57Z | NONE | Hi Simon Thankt you for a quick reply. Here are a few examples of urls, where I search the 'cases_fts'-virtual table for tokens in the title-column. It returns the same results, wether the other query-params are present or not. Searching for sky http://localhost:8001/db-7596a4e/cases?_search_title=sky&year__gte=1997&year__lte=2017&_sort_desc=last_deliberation_date Returns searchresults Searching for sky* http://localhost:8001/db-7596a4e/cases?_search_title=sky*&year__gte=1997&year__lte=2017&_sort_desc=last_deliberation_date Returns searchresults Searching for sky-tog http://localhost:8001/db-7596a4e/cases?_search_title=sky-tog&year__gte=1997&year__lte=2017&_sort_desc=last_deliberation_date Throws: No such column: tog searching for sky+ http://localhost:8001/db-7596a4e/cases?_search_title=sky%2B&year__gte=1997&year__lte=2017&_sort_desc=last_deliberation_date Throws: Invalid SQL: fts5: syntax error near "" Searching for "madpakke" (including double quotes) http://localhost:8001/db-7596a4e/cases?_search_title=%22madpakke%22&year__gte=1997&year__lte=2017&_sort_desc=last_deliberation_date Returns searchresults even though 'madpakke' only appears in the fulltextindex without quotes As I said, my other plugins work just fine, and I just copied your sql_functions.py from the datasette-repo. Thanks! | {"total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Escape_fts5_query-hookimplementation does not work with queries to standard tables 556814876 | |
579864036 | https://github.com/simonw/datasette/issues/662#issuecomment-579864036 | https://api.github.com/repos/simonw/datasette/issues/662 | MDEyOklzc3VlQ29tbWVudDU3OTg2NDAzNg== | clausjuhl 2181410 | 2020-01-29T17:17:01Z | 2020-01-29T17:17:01Z | NONE | This is excellent news. I'll wait until version 0.34. It would be tiresome to rewrite all standard-queries into custom queries. Thank you! | {"total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Escape_fts5_query-hookimplementation does not work with queries to standard tables 556814876 | |
580075725 | https://github.com/simonw/datasette/issues/661#issuecomment-580075725 | https://api.github.com/repos/simonw/datasette/issues/661 | MDEyOklzc3VlQ29tbWVudDU4MDA3NTcyNQ== | dvhthomas 134771 | 2020-01-30T04:17:51Z | 2020-01-30T04:17:51Z | NONE | Thanks for the elegant solution to the problem as stated. I'm packaging right now :-) | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | --port option to expose a port other than 8001 in "datasette package" 555832585 | |
580745213 | https://github.com/simonw/sqlite-utils/issues/73#issuecomment-580745213 | https://api.github.com/repos/simonw/sqlite-utils/issues/73 | MDEyOklzc3VlQ29tbWVudDU4MDc0NTIxMw== | psychemedia 82988 | 2020-01-31T14:02:38Z | 2020-01-31T14:21:09Z | NONE | So the conundrum continues.. The simple test case above now runs, but if I upsert a large number of new records (successfully) and then try to upsert a fewer number of new records to a different table, I get the same error. If I run the same upserts again (which in the first case means there are no new records to add, because they were already added), the second upsert works correctly. It feels as if the number of items added via an upsert >> the number of items I try to add in an upsert immediately after, I get the error. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | upsert_all() throws issue when upserting to empty table 545407916 | |
583177728 | https://github.com/simonw/datasette/issues/658#issuecomment-583177728 | https://api.github.com/repos/simonw/datasette/issues/658 | MDEyOklzc3VlQ29tbWVudDU4MzE3NzcyOA== | null92 49656826 | 2020-02-07T00:28:55Z | 2020-02-07T00:29:50Z | NONE | Simon, Yes, there is an "app.css" on static folder, however, anyone modification I do on this .css, doesn't apply on the datasette. I'm using this command: datasette publish heroku _"databases folder"_ -n _"herokuapp name"_ --extra-options="--config sql_time_limit_ms:60000 --config max_returned_rows:10000 --config force_https_urls:1" --template-dir _"templates folder"_ -m _"metadata.json folder"_ | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | How do I use the app.css as style sheet? 550293770 | |
584203999 | https://github.com/simonw/datasette/issues/352#issuecomment-584203999 | https://api.github.com/repos/simonw/datasette/issues/352 | MDEyOklzc3VlQ29tbWVudDU4NDIwMzk5OQ== | xrotwang 870184 | 2020-02-10T16:18:58Z | 2020-02-10T16:18:58Z | NONE | I don't want to re-open this issue, but I'm wondering whether it would be possible to include the full row for which a specific cell is to be rendered in the hook signature. My use case are rows where custom rendering would need access to multiple values (specifically, rows containing the constituents of interlinear glossed text (IGT) in separate columns, see https://github.com/cldf/cldf/tree/master/components/examples). I could probably cobble this together with custom SQL and the sql-to-html plugin. But having a full row within a `render_cell` implementation seems a lot simpler. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | render_cell(value) plugin hook 345821500 | |
584657949 | https://github.com/simonw/datasette/issues/327#issuecomment-584657949 | https://api.github.com/repos/simonw/datasette/issues/327 | MDEyOklzc3VlQ29tbWVudDU4NDY1Nzk0OQ== | dazzag24 1055831 | 2020-02-11T14:21:15Z | 2020-02-11T14:21:15Z | NONE | See https://github.com/simonw/datasette/issues/657 and my changes that allow datasette to load parquet files | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Explore if SquashFS can be used to shrink size of packaged Docker containers 335200136 | |
585109972 | https://github.com/simonw/datasette/issues/667#issuecomment-585109972 | https://api.github.com/repos/simonw/datasette/issues/667 | MDEyOklzc3VlQ29tbWVudDU4NTEwOTk3Mg== | xrotwang 870184 | 2020-02-12T09:21:22Z | 2020-02-12T09:21:22Z | NONE | I think I found a better way to implement my use case: I wrap the `datasette serve` call into my own cli, which - creates the SQLite from CSV data - writes `metadata.json` for datasette - determines suitable config like `max_page_size` - then calls `datasette serve`. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Allow injecting configuration data from plugins 562787785 | |
585285753 | https://github.com/simonw/datasette/issues/667#issuecomment-585285753 | https://api.github.com/repos/simonw/datasette/issues/667 | MDEyOklzc3VlQ29tbWVudDU4NTI4NTc1Mw== | xrotwang 870184 | 2020-02-12T16:18:22Z | 2020-02-12T16:18:22Z | NONE | @simonw fwiw, here's the plugin I implemented to support CLDF datasets: https://github.com/cldf/datasette-cldf/blob/master/README.md It's a bit of a hybrid in that it does both, building the SQLite database **and** extending datasette by exploting what we know about the data format - so it may not be worth listing it with the other plugins. Having tools like datasette available definitely helps selling people on package formats like CLDF (or CSVW), many thanks for this! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Allow injecting configuration data from plugins 562787785 | |
586683572 | https://github.com/simonw/sqlite-utils/issues/86#issuecomment-586683572 | https://api.github.com/repos/simonw/sqlite-utils/issues/86 | MDEyOklzc3VlQ29tbWVudDU4NjY4MzU3Mg== | foscoj 8149512 | 2020-02-16T09:03:54Z | 2020-02-16T09:03:54Z | NONE | Probably the best option to just throw the error. Is there any active dev chan where we could post the issue to python sqlite3? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Problem with square bracket in CSV column name 564579430 | |
589922016 | https://github.com/simonw/datasette/issues/676#issuecomment-589922016 | https://api.github.com/repos/simonw/datasette/issues/676 | MDEyOklzc3VlQ29tbWVudDU4OTkyMjAxNg== | tunguyenatwork 58088336 | 2020-02-22T05:50:10Z | 2020-02-22T05:50:10Z | NONE | Thanks Simon, My use case is using Datasette for full text search type ahead. That was working pretty well. The _search_wildcard= option will be awesome. Thanks | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | ?_searchmode=raw option for running FTS searches without escaping characters 568091133 | |
590209074 | https://github.com/simonw/datasette/issues/676#issuecomment-590209074 | https://api.github.com/repos/simonw/datasette/issues/676 | MDEyOklzc3VlQ29tbWVudDU5MDIwOTA3NA== | tunguyenatwork 58088336 | 2020-02-24T08:20:15Z | 2020-02-24T08:20:15Z | NONE | Awesome, thank you so much. I’ll try it out and let you know. On Sun, Feb 23, 2020 at 1:44 PM Simon Willison <notifications@github.com> wrote: > You can try this right now like so: > > pip install https://github.com/simonw/datasette/archive/search-raw.zip > > Then use the following: > > ?_search=foo*&_searchmode=raw` > > — > You are receiving this because you authored the thread. > Reply to this email directly, view it on GitHub > <https://github.com/simonw/datasette/issues/676?email_source=notifications&email_token=AN3FXEFS6B22U2NOT6M5FULRELNY7A5CNFSM4KYIOIB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMWGYTI#issuecomment-590113869>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AN3FXEANDJ6AIHGU4ADK4D3RELNY7ANCNFSM4KYIOIBQ> > . > | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | ?_searchmode=raw option for running FTS searches without escaping characters 568091133 | |
590405736 | https://github.com/simonw/datasette/issues/675#issuecomment-590405736 | https://api.github.com/repos/simonw/datasette/issues/675 | MDEyOklzc3VlQ29tbWVudDU5MDQwNTczNg== | aviflax 141844 | 2020-02-24T16:06:27Z | 2020-02-24T16:06:27Z | NONE | > So yeah - if you're happy to design this I think it would be worth us adding. Great! I’ll give it a go. > Small design suggestion: allow `--copy` to be applied multiple times… Makes a ton of sense, will do. > Also since Click arguments can take multiple options I don't think you need to have the `:` in there - although if it better matches Docker's own UI it might be more consistent to have it. Great point. I double checked the docs for `docker cp` and in that context the colon is used to delimit a container and a path, while spaces are used to separate the source and target. The usage string is: ```text docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH ``` so in fact it’ll be more consistent to use a space to delimit the source and destination paths, like so: ```shell $ datasette package --copy /the/source/path /the/target/path data.db ``` and I suppose the short-form version of the option should be `cp` like so: ```shell $ datasette package -cp /the/source/path /the/target/path data.db ``` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | --cp option for datasette publish and datasette package for shipping additional files and directories 567902704 | |
590543398 | https://github.com/simonw/datasette/issues/681#issuecomment-590543398 | https://api.github.com/repos/simonw/datasette/issues/681 | MDEyOklzc3VlQ29tbWVudDU5MDU0MzM5OA== | clausjuhl 2181410 | 2020-02-24T20:53:56Z | 2020-02-24T20:53:56Z | NONE | Excellent. I'll implement the simple plugin-solution now. And will have a go at a more mature plugin later. Thanks! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Cashe-header missing in http-response 569317377 | |
590593247 | https://github.com/simonw/datasette/issues/675#issuecomment-590593247 | https://api.github.com/repos/simonw/datasette/issues/675 | MDEyOklzc3VlQ29tbWVudDU5MDU5MzI0Nw== | aviflax 141844 | 2020-02-24T23:02:52Z | 2020-02-24T23:02:52Z | NONE | > Design looks great to me. Excellent, thanks! > I'm not keen on two letter short versions (`-cp`) - I'd rather either have a single character or no short form at all. Hmm, well, anyone running `datasette package` is probably at least somewhat familiar with UNIX CLIs… so how about `--cp` as a middle ground? ```shell $ datasette package --cp /the/source/path /the/target/path data.db ``` I think I like it. Easy to remember! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | --cp option for datasette publish and datasette package for shipping additional files and directories 567902704 | |
592999503 | https://github.com/simonw/sqlite-utils/issues/46#issuecomment-592999503 | https://api.github.com/repos/simonw/sqlite-utils/issues/46 | MDEyOklzc3VlQ29tbWVudDU5Mjk5OTUwMw== | chrishas35 35075 | 2020-02-29T22:08:20Z | 2020-02-29T22:08:20Z | NONE | @simonw any thoughts on allow extracts to specify the lookup column name? If I'm understanding the documentation right, `.lookup()` allows you to define the "value" column (the documentation uses name), but when you use `extracts` keyword as part of `.insert()`, `.upsert()` etc. the lookup must be done against a column named "value". I have an existing lookup table that I've populated with columns "id" and "name" as opposed to "id" and "value", and seems I can't use `extracts=`, unless I'm missing something... Initial thought on how to do this would be to allow the dictionary value to be a tuple of table name column pair... so: ``` table = db.table("trees", extracts={"species_id": ("Species", "name"}) ``` I haven't dug too much into the existing code yet, but does this make sense? Worth doing? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | extracts= option for insert/update/etc 471780443 | |
593122605 | https://github.com/simonw/sqlite-utils/issues/89#issuecomment-593122605 | https://api.github.com/repos/simonw/sqlite-utils/issues/89 | MDEyOklzc3VlQ29tbWVudDU5MzEyMjYwNQ== | chrishas35 35075 | 2020-03-01T17:33:11Z | 2020-03-01T17:33:11Z | NONE | If you're happy with the proposed implementation, I have code & tests written that I'll get ready for a PR. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Ability to customize columns used by extracts= feature 573578548 | |
602136481 | https://github.com/dogsheep/github-to-sqlite/issues/16#issuecomment-602136481 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/16 | MDEyOklzc3VlQ29tbWVudDYwMjEzNjQ4MQ== | jayvdb 15092 | 2020-03-22T02:08:57Z | 2020-03-22T02:08:57Z | NONE | I'd love to be using your library as a better cached gh layer for a new library I have built, replacing large parts of the very ugly https://github.com/jayvdb/pypidb/blob/master/pypidb/_github.py , and then probably being able to rebuild the setuppy chunk as a feature here at a later stage. I would also need tokenless and netrc support, but I would be happy to add those bits. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Exception running first command: IndexError: list index out of range 546051181 | |
602904184 | https://github.com/simonw/datasette/issues/394#issuecomment-602904184 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDYwMjkwNDE4NA== | betatim 1448859 | 2020-03-23T23:03:42Z | 2020-03-23T23:03:42Z | NONE | On mybinder.org we allow access to arbitrary processes listening on a port inside the container via a [reverse proxy](https://github.com/jupyterhub/jupyter-server-proxy). This means we need support for a proxy prefix as the proxy ends up running at a URL like `/something/random/proxy/datasette/...` An example that shows the problem is https://github.com/psychemedia/jupyterserverproxy-datasette-demo. Launch directly into a datasette instance on mybinder.org with https://mybinder.org/v2/gh/psychemedia/jupyterserverproxy-datasette-demo/master?urlpath=datasette then try to follow links inside the UI. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | base_url configuration setting 396212021 | |
602911133 | https://github.com/simonw/datasette/issues/394#issuecomment-602911133 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDYwMjkxMTEzMw== | terrycojones 132978 | 2020-03-23T23:22:10Z | 2020-03-23T23:22:10Z | NONE | I just updated #652 to remove a merge conflict. I think it's an easy way to add this functionality. I don't have time to do more though, sorry! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | base_url configuration setting 396212021 | |
602916580 | https://github.com/simonw/datasette/issues/394#issuecomment-602916580 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDYwMjkxNjU4MA== | terrycojones 132978 | 2020-03-23T23:37:06Z | 2020-03-23T23:37:06Z | NONE | @simonw You're welcome - I was just trying it out back in December as I thought it should work. Now there's a pandemic to work on though.... so no time at all for more at the moment. BTW, I have datasette running on several protein and full (virus) genome databases I build, and it's great - thank you! Hi and best regards to you & Nat :-) | {"total_count": 1, "+1": 0, "-1": 0, "laugh": 1, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | base_url configuration setting 396212021 | |
603539349 | https://github.com/simonw/datasette/issues/394#issuecomment-603539349 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDYwMzUzOTM0OQ== | terrycojones 132978 | 2020-03-24T22:33:23Z | 2020-03-24T22:33:23Z | NONE | Hi Simon - I'm just (trying, at least) to follow along in the above. I can't try it out now, but I will if no one else gets to it. Sorry I didn't write any tests in the original bit of code I pushed - I was just trying to see if it could work & whether you'd want to maybe head in that direction. Anyway, thank you, I will certainly use this. Comment back here if no one tried it out & I'll make time. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | base_url configuration setting 396212021 | |
603849245 | https://github.com/simonw/datasette/issues/394#issuecomment-603849245 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDYwMzg0OTI0NQ== | terrycojones 132978 | 2020-03-25T13:48:13Z | 2020-03-25T13:48:13Z | NONE | Great - thanks again. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | base_url configuration setting 396212021 | |
605439685 | https://github.com/dogsheep/github-to-sqlite/issues/15#issuecomment-605439685 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/15 | MDEyOklzc3VlQ29tbWVudDYwNTQzOTY4NQ== | garethr 2029 | 2020-03-28T12:17:01Z | 2020-03-28T12:17:01Z | NONE | That looks great, thanks! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Assets table with downloads 544571092 | |
609393513 | https://github.com/simonw/datasette/pull/627#issuecomment-609393513 | https://api.github.com/repos/simonw/datasette/issues/627 | MDEyOklzc3VlQ29tbWVudDYwOTM5MzUxMw== | stonebig 4312421 | 2020-04-05T10:23:57Z | 2020-04-05T10:23:57Z | NONE | is there any specific reason to stick to Jinja2~=2.10.3 when there is Jinja-2.11.1 ? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Support Python 3.8, stop supporting Python 3.5 521323012 | |
614073859 | https://github.com/simonw/sqlite-utils/issues/97#issuecomment-614073859 | https://api.github.com/repos/simonw/sqlite-utils/issues/97 | MDEyOklzc3VlQ29tbWVudDYxNDA3Mzg1OQ== | betatim 1448859 | 2020-04-15T14:29:30Z | 2020-04-15T14:29:30Z | NONE | Woah! Thanks a lot. Next time I will add a more obvious/explicit "if you like this idea let me know I'd love to work on it to get my feet wet here" :D | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Adding a "recreate" flag to the `Database` constructor 593751293 | |
614440032 | https://github.com/simonw/sqlite-utils/issues/76#issuecomment-614440032 | https://api.github.com/repos/simonw/sqlite-utils/issues/76 | MDEyOklzc3VlQ29tbWVudDYxNDQ0MDAzMg== | metab0t 10501166 | 2020-04-16T06:23:29Z | 2020-04-16T06:23:29Z | NONE | Thanks for your hard work! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | order_by mechanism 549287310 | |
617208503 | https://github.com/simonw/datasette/issues/176#issuecomment-617208503 | https://api.github.com/repos/simonw/datasette/issues/176 | MDEyOklzc3VlQ29tbWVudDYxNzIwODUwMw== | nkirsch 12976 | 2020-04-21T14:16:24Z | 2020-04-21T14:16:24Z | NONE | @eads I'm interested in helping, if there's still a need... | {"total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Add GraphQL endpoint 285168503 | |
619489720 | https://github.com/simonw/datasette/pull/725#issuecomment-619489720 | https://api.github.com/repos/simonw/datasette/issues/725 | MDEyOklzc3VlQ29tbWVudDYxOTQ4OTcyMA== | stonebig 4312421 | 2020-04-26T06:09:59Z | 2020-04-26T06:10:13Z | NONE | as a complementary remark: the versioning of datasette dependancies will become a problem when the new pip "dependancy resolver" will be activated. for now, it's just warnings via pip checks, later it will be a "no": ```` datasette 0.40 has requirement aiofiles~=0.4.0, but you have aiofiles 0.5.0. datasette 0.40 has requirement Jinja2~=2.10.3, but you have jinja2 2.11.2. ```` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Update aiofiles requirement from ~=0.4.0 to >=0.4,<0.6 598891570 | |
620401172 | https://github.com/simonw/datasette/issues/736#issuecomment-620401172 | https://api.github.com/repos/simonw/datasette/issues/736 | MDEyOklzc3VlQ29tbWVudDYyMDQwMTE3Mg== | aborruso 30607 | 2020-04-28T06:09:28Z | 2020-04-28T06:09:28Z | NONE | > Would you mind trying publishing your database using one of the other options - Heroku, Cloud Run or https://fly.io/ - and see if you have the same bug there? It works in heroku, than might be a bug with datasette-publish-now. Thank you | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | strange behavior using accented characters 606720674 | |
620401443 | https://github.com/simonw/datasette/issues/735#issuecomment-620401443 | https://api.github.com/repos/simonw/datasette/issues/735 | MDEyOklzc3VlQ29tbWVudDYyMDQwMTQ0Mw== | aborruso 30607 | 2020-04-28T06:10:20Z | 2020-04-28T06:10:20Z | NONE | It works in heroku, than might be a bug with datasette-publish-now. Thank you | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Error when I click on "View and edit SQL" 605806386 | |
620841496 | https://github.com/simonw/datasette/issues/633#issuecomment-620841496 | https://api.github.com/repos/simonw/datasette/issues/633 | MDEyOklzc3VlQ29tbWVudDYyMDg0MTQ5Ng== | nryberg 46165 | 2020-04-28T20:37:50Z | 2020-04-28T20:37:50Z | NONE | Using the Heroku web interface, you can set the WEB_CONCURRENCY = 1 ![image](https://user-images.githubusercontent.com/46165/80535319-352c8100-8966-11ea-9d4f-df2622ec8bff.png) | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Publish to Heroku is broken: "WARNING: You must pass the application as an import string to enable 'reload' or 'workers" 522334771 | |
621008152 | https://github.com/simonw/datasette/issues/744#issuecomment-621008152 | https://api.github.com/repos/simonw/datasette/issues/744 | MDEyOklzc3VlQ29tbWVudDYyMTAwODE1Mg== | aborruso 30607 | 2020-04-29T06:05:02Z | 2020-04-29T06:05:02Z | NONE | Hi @simonw , I have installed it and I have the below errors. > Is it possible that your /tmp directory is on a different volume from the template folder? That could cause a problem with the symlinks. No, /tmp folder is in the same volume. Thank you ``` Traceback (most recent call last): File "/home/aborruso/.local/lib/python3.7/site-packages/datasette/utils/__init__.py", line 607, in link_or_copy_directory shutil.copytree(src, dst, copy_function=os.link) File "/usr/lib/python3.7/shutil.py", line 365, in copytree raise Error(errors) shutil.Error: [('/var/youtubeComunePalermo/processing/./template/base.html', '/tmp/tmpcqv_1i5d/templates/base.html', "[Errno 18] Invalid cross-device link: '/var/youtubeComunePalermo/processing/./template/base.html' -> '/tmp/tmpcqv_1i5d/templates/base.html'"), ('/var/youtubeComunePalermo/processing/./template/index.html', '/tmp/tmpcqv_1i5d/templates/index.html', "[Errno 18] Invalid cross-device link: '/var/youtubeComunePalermo/processing/./template/index.html' -> '/tmp/tmpcqv_1i5d/templates/index.html'")] During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/aborruso/.local/bin/datasette", line 8, in <module> sys.exit(cli()) File "/home/aborruso/.local/lib/python3.7/site-packages/click/core.py", line 829, in __call__ return self.main(*args, **kwargs) File "/home/aborruso/.local/lib/python3.7/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/home/aborruso/.local/lib/python3.7/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/aborruso/.local/lib/python3.7/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/aborruso/.local/lib/python3.7/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/aborruso/.local/lib/python3.7/site-pa… | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | link_or_copy_directory() error - Invalid cross-device link 608058890 | |
621011554 | https://github.com/simonw/datasette/issues/744#issuecomment-621011554 | https://api.github.com/repos/simonw/datasette/issues/744 | MDEyOklzc3VlQ29tbWVudDYyMTAxMTU1NA== | aborruso 30607 | 2020-04-29T06:17:26Z | 2020-04-29T06:17:26Z | NONE | A stupid note: I have no `tmpcqv_1i5d` folder in in `/tmp`. It seems to me that it does not create any `/tmp/tmpcqv_1i5d/templates` folder (or other name folder, inside /tmp) | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | link_or_copy_directory() error - Invalid cross-device link 608058890 | |
621030783 | https://github.com/simonw/datasette/issues/744#issuecomment-621030783 | https://api.github.com/repos/simonw/datasette/issues/744 | MDEyOklzc3VlQ29tbWVudDYyMTAzMDc4Mw== | aborruso 30607 | 2020-04-29T07:16:27Z | 2020-04-29T07:16:27Z | NONE | Hi @simonw it's debian as Windows Subsystem for Linux ``` PRETTY_NAME="Pengwin" NAME="Pengwin" VERSION_ID="10" VERSION="10 (buster)" ID=debian ID_LIKE=debian HOME_URL="https://github.com/whitewaterfoundry/Pengwin" SUPPORT_URL="https://github.com/whitewaterfoundry/Pengwin" BUG_REPORT_URL="https://github.com/whitewaterfoundry/Pengwin" VERSION_CODENAME=buster ``` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | link_or_copy_directory() error - Invalid cross-device link 608058890 | |
622279374 | https://github.com/dogsheep/github-to-sqlite/issues/33#issuecomment-622279374 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/33 | MDEyOklzc3VlQ29tbWVudDYyMjI3OTM3NA== | garethr 2029 | 2020-05-01T07:12:47Z | 2020-05-01T07:12:47Z | NONE | I also go it working with: ```yaml run: echo ${{ secrets.github_token }} | github-to-sqlite auth ``` | {"total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Fall back to authentication via ENV 609950090 | |
623038148 | https://github.com/dogsheep/github-to-sqlite/issues/38#issuecomment-623038148 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/38 | MDEyOklzc3VlQ29tbWVudDYyMzAzODE0OA== | zzeleznick 5779832 | 2020-05-03T01:18:57Z | 2020-05-03T01:18:57Z | NONE | Thanks, @simonw! I feel a little foolish in hindsight, but I'm on the same page now and am glad to have discovered first-hand a motivation for this `repos_starred` use case. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | [Feature Request] Support Repo Name in Search 🥺 611284481 | |
623044643 | https://github.com/dogsheep/github-to-sqlite/issues/38#issuecomment-623044643 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/38 | MDEyOklzc3VlQ29tbWVudDYyMzA0NDY0Mw== | zzeleznick 5779832 | 2020-05-03T02:34:32Z | 2020-05-03T02:34:32Z | NONE | 1. More than glad to share feedback from the sidelines as a [starrer](https://github-to-sqlite.dogsheep.net/github?sql=select%0D%0A++starred_at%2C%0D%0A++starred_by%2C%0D%0A++full_name+as+repo_name%0D%0Afrom%0D%0A++repos_starred%0D%0Awhere%0D%0A++starred_by+%3D+%22zzeleznick%22%0D%0Aorder+by%0D%0A++starred_at+desc). ``` -- Motivation: -- Datasette is a data hammer and I'm looking for nails -- e.g. Find which repos a user has starred => trigger a TBD downstream action select starred_at, starred_by, full_name as repo_name from repos_starred where starred_by = "zzeleznick" order by starred_at desc ``` | starred_at | starred_by | repo_name | | --- | --- | --- | | 2020-02-11T01:08:59Z | zzeleznick | dogsheep/twitter-to-sqlite | | 2020-01-11T21:57:34Z | zzeleznick | simonw/datasette | 2. In my day job, I use [airflow](https://github.com/apache/airflow), and that's the mental model I'm bringing to [datasette](https://github.com/simonw/datasette). 3. I see your project like [twitter-to-sqlite](https://github.com/dogsheep/twitter-to-sqlite) akin to [Operators](https://airflow.apache.org/docs/stable/_api/index.html#pythonapi-operators) in Airflow world. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | [Feature Request] Support Repo Name in Search 🥺 611284481 | |
623623696 | https://github.com/simonw/datasette/pull/725#issuecomment-623623696 | https://api.github.com/repos/simonw/datasette/issues/725 | MDEyOklzc3VlQ29tbWVudDYyMzYyMzY5Ng== | stonebig 4312421 | 2020-05-04T18:16:54Z | 2020-05-04T18:16:54Z | NONE | thanks a lot, Simon | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Update aiofiles requirement from ~=0.4.0 to >=0.4,<0.6 598891570 | |
624860451 | https://github.com/simonw/datasette/issues/759#issuecomment-624860451 | https://api.github.com/repos/simonw/datasette/issues/759 | MDEyOklzc3VlQ29tbWVudDYyNDg2MDQ1MQ== | Krazybug 133845 | 2020-05-06T20:03:01Z | 2020-05-06T20:04:42Z | NONE | Thank you. Now it's ok with the url http://localhost:8001/index/summary?_search=language%3Aeng&_sort=title&_searchmode=raw But I'm not able to manage it in the metadata file. Here is mine (note that the sort column is taken into account) Here it is: ``` { "databases": { "index": { "tables": { "summary": { "sort": "title", "searchmode": "raw" } } } } } ``` Any idea ? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | fts search on a column doesn't work anymore due to escape_fts 612673948 | |
625060561 | https://github.com/simonw/datasette/issues/744#issuecomment-625060561 | https://api.github.com/repos/simonw/datasette/issues/744 | MDEyOklzc3VlQ29tbWVudDYyNTA2MDU2MQ== | aborruso 30607 | 2020-05-07T06:38:24Z | 2020-05-07T06:38:24Z | NONE | Hi @simonw probably I could try to do it in Python for windows. I do not like to do these things in win enviroment. Because probably WSL Linux env (in which I do a lot of great things) is not an environment that will be tested for datasette. In win I shouldn't have any problems. Am I right? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | link_or_copy_directory() error - Invalid cross-device link 608058890 | |
625066073 | https://github.com/simonw/datasette/issues/744#issuecomment-625066073 | https://api.github.com/repos/simonw/datasette/issues/744 | MDEyOklzc3VlQ29tbWVudDYyNTA2NjA3Mw== | aborruso 30607 | 2020-05-07T06:53:09Z | 2020-05-07T06:53:09Z | NONE | @simonw another error starting from Windows. I run ``` datasette publish heroku -n comunepa --template-dir template commissioniComunePalermo.db ``` And I have ``` Traceback (most recent call last): File "c:\python37\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\python37\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\aborr\AppData\Roaming\Python\Python37\Scripts\datasette.exe\__main__.py", line 9, in <module> File "C:\Users\aborr\AppData\Roaming\Python\Python37\site-packages\click\core.py", line 829, in __call__ return self.main(*args, **kwargs) File "C:\Users\aborr\AppData\Roaming\Python\Python37\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "C:\Users\aborr\AppData\Roaming\Python\Python37\site-packages\click\core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\aborr\AppData\Roaming\Python\Python37\site-packages\click\core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\aborr\AppData\Roaming\Python\Python37\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "C:\Users\aborr\AppData\Roaming\Python\Python37\site-packages\click\core.py", line 610, in invoke return callback(*args, **kwargs) File "C:\Users\aborr\AppData\Roaming\Python\Python37\site-packages\datasette\publish\heroku.py", line 53, in heroku line.split()[0] for line in check_output(["heroku", "plugins"]).splitlines() File "c:\python37\lib\subprocess.py", line 395, in check_output **kwargs).stdout File "c:\python37\lib\subprocess.py", line 472, in run with Popen(*popenargs, **kwargs) as process: File "c:\python37\lib\subprocess.py", line 775, in __init__ restore_signals, start_new_session) File "c:\python37\lib\subprocess.py", line 1178, in _execute_child startupinfo) FileNotFoundError: [WinError 2]… | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | link_or_copy_directory() error - Invalid cross-device link 608058890 | |
625083715 | https://github.com/simonw/datasette/issues/744#issuecomment-625083715 | https://api.github.com/repos/simonw/datasette/issues/744 | MDEyOklzc3VlQ29tbWVudDYyNTA4MzcxNQ== | aborruso 30607 | 2020-05-07T07:34:18Z | 2020-05-07T07:34:18Z | NONE | In Windows I'm not very strong. I use debian (inside WSL). However these are the possible steps: - I have installed Python 3 for win (I have 3.7.3); - I have installed heroku cli for win64 and logged in; - I have installed datasette running `python -m pip install --upgrade --user datasette`. It's a very basic Python env that I do not use. This time only to reach my goal: try to publish using custom template | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | link_or_copy_directory() error - Invalid cross-device link 608058890 | |
625091976 | https://github.com/simonw/datasette/issues/744#issuecomment-625091976 | https://api.github.com/repos/simonw/datasette/issues/744 | MDEyOklzc3VlQ29tbWVudDYyNTA5MTk3Ng== | aborruso 30607 | 2020-05-07T07:51:25Z | 2020-05-07T07:51:25Z | NONE | I have installed `heroku plugins:install heroku-builds`, but I have the same error. Then I have removed from `datasette\publish\heroku.py` ```python # Check for heroku-builds plugin plugins = [ line.split()[0] for line in check_output(["heroku", "plugins"]).splitlines() ] if b"heroku-builds" not in plugins: click.echo( "Publishing to Heroku requires the heroku-builds plugin to be installed." ) click.confirm( "Install it? (this will run `heroku plugins:install heroku-builds`)", abort=True, ) call(["heroku", "plugins:install", "heroku-builds"]) ``` And now I have ``` Traceback (most recent call last): File "C:\Users\aborr\AppData\Roaming\Python\Python37\site-packages\datasette\publish\heroku.py", line 210, in temporary_heroku_directory yield File "C:\Users\aborr\AppData\Roaming\Python\Python37\site-packages\datasette\publish\heroku.py", line 96, in heroku list_output = check_output(["heroku", "apps:list", "--json"]).decode( File "c:\python37\lib\subprocess.py", line 395, in check_output **kwargs).stdout File "c:\python37\lib\subprocess.py", line 472, in run with Popen(*popenargs, **kwargs) as process: File "c:\python37\lib\subprocess.py", line 775, in __init__ restore_signals, start_new_session) File "c:\python37\lib\subprocess.py", line 1178, in _execute_child startupinfo) FileNotFoundError: [WinError 2] The specified file could not be found During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\python37\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\python37\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\aborr\AppData\Roaming\Python\Python37\Scripts\datasette.exe\__main__.py", line 9, in <module> File "C:\Users\aborr\AppData\Roaming\Python\Python… | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | link_or_copy_directory() error - Invalid cross-device link 608058890 | |
625286519 | https://github.com/simonw/datasette/issues/648#issuecomment-625286519 | https://api.github.com/repos/simonw/datasette/issues/648 | MDEyOklzc3VlQ29tbWVudDYyNTI4NjUxOQ== | chekos 28694175 | 2020-05-07T14:23:22Z | 2020-05-07T14:28:33Z | NONE | Hi! I'm using datasette on this repository: https://github.com/chekos/RIPA-2018-datasette and on my local machine i can see an /about page i created but when i deploy to heroku i get a 404 (http://ripa-2018-db.herokuapp.com) <img width="629" alt="Screen Shot 2020-05-07 at 7 04 43 AM" src="https://user-images.githubusercontent.com/28694175/81303797-0af75500-9031-11ea-8a02-adee7a2374ea.png"> I bumped datasette in my requirements file to 0.41 so I'm 100% what the issue is 🤔 Do you have any idea what could be the problem? 👀 EDIT: for context, I have a templates directory with a pages/about.html file in https://github.com/chekos/RIPA-2018-datasette/tree/master/datasette/templates | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Mechanism for adding arbitrary pages like /about 534492501 | |
625321121 | https://github.com/simonw/datasette/issues/648#issuecomment-625321121 | https://api.github.com/repos/simonw/datasette/issues/648 | MDEyOklzc3VlQ29tbWVudDYyNTMyMTEyMQ== | chekos 28694175 | 2020-05-07T15:21:19Z | 2020-05-07T15:21:19Z | NONE | It seems that heroku wasn't updating to 0.41 on deployment. Had to add `--branch 0.41` and that solved it! Heroku caches dependencies <img width="1331" alt="Screen Shot 2020-05-07 at 8 19 08 AM" src="https://user-images.githubusercontent.com/28694175/81312379-6f1f1680-903b-11ea-847c-4149268504a6.png"> and (i think) because the `requirements.txt` doesn't specify the datasette version, it didn't update from 0.40 to 0.41 on heroku even though it was specified on my local requirements file as `datasette >= 0.41` These are the lines that gave me an idea on how to solve it: https://github.com/simonw/datasette/blob/182e5c8745c94576718315f7596ccc81e5e2417b/datasette/publish/heroku.py#L164-L186 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Mechanism for adding arbitrary pages like /about 534492501 | |
626006493 | https://github.com/simonw/datasette/issues/619#issuecomment-626006493 | https://api.github.com/repos/simonw/datasette/issues/619 | MDEyOklzc3VlQ29tbWVudDYyNjAwNjQ5Mw== | davidszotten 412005 | 2020-05-08T20:29:12Z | 2020-05-08T20:29:12Z | NONE | just trying out datasette and quite like it, thanks! i found this issue annoying enough to have a go at a fix. have you any thoughts on a good approach? (i'm happy to dig in myself if you haven't thought about it yet, but wanted to check if you had an idea for how to fix when you raised the issue) | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | "Invalid SQL" page should let you edit the SQL 520655983 | |
626340387 | https://github.com/simonw/datasette/issues/254#issuecomment-626340387 | https://api.github.com/repos/simonw/datasette/issues/254 | MDEyOklzc3VlQ29tbWVudDYyNjM0MDM4Nw== | philroche 247131 | 2020-05-10T14:54:13Z | 2020-05-10T14:54:13Z | NONE | This has now been resolved and is not present in current version of datasette. Sample query @simonw mentioned now returns as expected. https://aggreg8streams.tinyviking.ie/simplestreams?sql=select+*+from+cloudimage+where+%22content_id%22+%3D+%22com.ubuntu.cloud%3Areleased%3Adownload%22+order+by+id+limit+10 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Escaping named parameters in canned queries 322283067 | |
626807487 | https://github.com/simonw/datasette/issues/699#issuecomment-626807487 | https://api.github.com/repos/simonw/datasette/issues/699 | MDEyOklzc3VlQ29tbWVudDYyNjgwNzQ4Nw== | zeluspudding 8431341 | 2020-05-11T16:23:57Z | 2020-05-11T16:24:59Z | NONE | `Authorization: bearer xxx` auth for API keys is a plus plus for me. Looked into just adding this into your `Flask` logic but learned this project doesn't use flask. Interesting 🤔 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Authentication (and permissions) as a core concept 582526961 | |
626991001 | https://github.com/simonw/datasette/issues/699#issuecomment-626991001 | https://api.github.com/repos/simonw/datasette/issues/699 | MDEyOklzc3VlQ29tbWVudDYyNjk5MTAwMQ== | zeluspudding 8431341 | 2020-05-11T22:06:34Z | 2020-05-11T22:06:34Z | NONE | Very nice! Thank you for sharing that :+1: :) Will try it out! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Authentication (and permissions) as a core concept 582526961 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issue_comments] ( [html_url] TEXT, [issue_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [user] INTEGER REFERENCES [users]([id]), [created_at] TEXT, [updated_at] TEXT, [author_association] TEXT, [body] TEXT, [reactions] TEXT, [issue] INTEGER REFERENCES [issues]([id]) , [performed_via_github_app] TEXT); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
updated_at (date) >30 ✖