issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
updated_at (date) >30 ✖
- 2021-03-22 66
- 2021-11-19 60
- 2020-09-22 53
- 2020-10-15 52
- 2020-10-30 49
- 2020-06-09 43
- 2020-10-20 40
- 2020-06-18 39
- 2020-12-18 39
- 2021-11-16 39
- 2021-12-16 39
- 2020-05-27 38
- 2020-12-30 38
- 2020-10-09 37
- 2021-11-20 36
- 2021-05-27 34
- 2020-06-01 33
- 2020-06-08 33
- 2020-09-15 33
- 2021-01-04 33
- 2021-11-29 33
- 2021-08-13 32
- 2019-06-24 31
- 2020-09-21 31
- 2019-06-23 30
- 2021-08-09 30
- 2018-04-16 29
- 2020-06-06 29
- 2020-06-16 29
- 2020-10-16 29
- …
issue >30
- Show column metadata plus links for foreign keys on arbitrary query results 50
- Redesign default .json format 48
- JavaScript plugin hooks mechanism similar to pluggy 47
- Updated Dockerfile with SpatiaLite version 5.0 45
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- Complete refactor of TableView and table.html template 35
- Deploy a live instance of demos/apache-proxy 34
- await datasette.client.get(path) mechanism for executing internal requests 33
- Maintain an in-memory SQLite table of connected databases and their tables 32
- Ability to sort (and paginate) by column 31
- link_or_copy_directory() error - Invalid cross-device link 28
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 27
- Support cross-database joins 26
- Ability for a canned query to write to the database 26
- table.transform() method for advanced alter table 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- WIP: Add Gmail takeout mbox import 25
- Redesign register_output_renderer callback 24
- New pattern for views that return either JSON or HTML, available for plugins 24
- "datasette insert" command and plugin hook 23
- Datasette Plugins 22
- .json and .csv exports fail to apply base_url 22
- Idea: import CSV to memory, run SQL, export in a single command 22
- base_url is omitted in JSON and CSV views 22
- table.extract(...) method and "sqlite-utils extract" command 21
- Database page loads too slowly with many large tables (due to table counts) 21
- ?sort=colname~numeric to sort by by column cast to real 21
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
996286808 | https://github.com/simonw/datasette/pull/1559#issuecomment-996286808 | https://api.github.com/repos/simonw/datasette/issues/1559 | IC_kwDOBm6k_c47YiFY | simonw 9599 | 2021-12-17T00:01:43Z | 2021-12-17T00:01:43Z | OWNER | This already has tests and documentation, and I've used it to refactor out the logic for Do I like this enough to land it on Also, I think I can still use it to refactor out the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
filters_from_request plugin hook, now used in TableView 1082743068 | |
996286199 | https://github.com/simonw/datasette/issues/473#issuecomment-996286199 | https://api.github.com/repos/simonw/datasette/issues/473 | IC_kwDOBm6k_c47Yh73 | simonw 9599 | 2021-12-17T00:00:22Z | 2021-12-17T00:00:22Z | OWNER | Documentation for that hook in the PR branch: https://github.com/simonw/datasette/blob/54e9b3972f277431a001e685f78e5dd6403a6d8d/docs/plugin_hooks.rst#filters_from_requestrequest-database-table-datasette |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook: filters_from_request 445850934 | |
996286104 | https://github.com/simonw/datasette/issues/1518#issuecomment-996286104 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47Yh6Y | simonw 9599 | 2021-12-17T00:00:07Z | 2021-12-17T00:00:07Z | OWNER | Documentation of the new hook in the PR: https://github.com/simonw/datasette/blob/54e9b3972f277431a001e685f78e5dd6403a6d8d/docs/plugin_hooks.rst#filters_from_requestrequest-database-table-datasette |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996275108 | https://github.com/simonw/datasette/issues/473#issuecomment-996275108 | https://api.github.com/repos/simonw/datasette/issues/473 | IC_kwDOBm6k_c47YfOk | simonw 9599 | 2021-12-16T23:32:22Z | 2021-12-16T23:32:30Z | OWNER | This filter design can only influence the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook: filters_from_request 445850934 | |
996272906 | https://github.com/simonw/datasette/issues/1518#issuecomment-996272906 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47YesK | simonw 9599 | 2021-12-16T23:27:42Z | 2021-12-16T23:27:42Z | OWNER | Got a TIL out of this: https://til.simonwillison.net/pluggy/multiple-hooks-same-file |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996267817 | https://github.com/simonw/datasette/issues/473#issuecomment-996267817 | https://api.github.com/repos/simonw/datasette/issues/473 | IC_kwDOBm6k_c47Ydcp | simonw 9599 | 2021-12-16T23:17:52Z | 2021-12-16T23:19:00Z | OWNER | I revisited this idea in #1518 and came up with a slightly different name and design for the hook:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook: filters_from_request 445850934 | |
996264617 | https://github.com/simonw/datasette/issues/1518#issuecomment-996264617 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47Ycqp | simonw 9599 | 2021-12-16T23:11:12Z | 2021-12-16T23:11:12Z | OWNER | I managed to extract both |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996250585 | https://github.com/simonw/datasette/issues/1518#issuecomment-996250585 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47YZPZ | simonw 9599 | 2021-12-16T22:43:37Z | 2021-12-16T22:45:07Z | OWNER | Ran into a problem prototyping that hook up for handling Maybe change to this?
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996248713 | https://github.com/simonw/datasette/issues/1518#issuecomment-996248713 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47YYyJ | simonw 9599 | 2021-12-16T22:39:47Z | 2021-12-16T22:39:47Z | OWNER | The hook could return a named tuple like this one: ```python from typing import NamedTuple, List, Optional, Union, Dict class FilterArguments(NamedTuple): where_clauses: List[str] params: Dict[str, Union[str, int, float]] human_descriptions: List[str] ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996240802 | https://github.com/simonw/datasette/issues/1518#issuecomment-996240802 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47YW2i | simonw 9599 | 2021-12-16T22:25:00Z | 2021-12-16T22:36:04Z | OWNER | I think that plugin hook would get given the
Turns out that's pretty much exactly what I implemented in 5116c4ec8aed5091e1f75415424b80f613518dc6 for #473: ```python @hookspec
def table_filter():
"Custom filtering of the current table based on the request"
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996232461 | https://github.com/simonw/sqlite-utils/issues/358#issuecomment-996232461 | https://api.github.com/repos/simonw/sqlite-utils/issues/358 | IC_kwDOCGYnMM47YU0N | simonw 9599 | 2021-12-16T22:10:39Z | 2021-12-16T22:10:39Z | OWNER | This goes beyond the I haven't used these myself, do you have any |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for CHECK constraints 1082651698 | |
996229007 | https://github.com/simonw/datasette/issues/1552#issuecomment-996229007 | https://api.github.com/repos/simonw/datasette/issues/1552 | IC_kwDOBm6k_c47YT-P | davidbgk 3556 | 2021-12-16T22:04:39Z | 2021-12-16T22:04:39Z | CONTRIBUTOR | Wow, that was fast, thank you so much @simonw !
I agree that it's not ideal, my initial naive approach was to detect if it's an array, like what is done here: But it requires an extra query to determine the type, which is a bit problematic, especially for big tables I guess. Taking a look at #510, I wonder if a To be consistent with the Throwing a lot of ideas without knowing the big picture… but sometimes newcomers have superpowers :). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow to set `facets_array` in metadata (like current `facets`) 1078702875 | |
996227713 | https://github.com/simonw/datasette/issues/1518#issuecomment-996227713 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47YTqB | simonw 9599 | 2021-12-16T22:02:35Z | 2021-12-16T22:03:55Z | OWNER | Is there an opportunity to refactor things using a new plugin hook here? Maybe the That version dealt with
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996225889 | https://github.com/simonw/datasette/issues/1518#issuecomment-996225889 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47YTNh | simonw 9599 | 2021-12-16T21:59:32Z | 2021-12-16T22:00:42Z | OWNER | I added a ton of comments to the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996225235 | https://github.com/simonw/datasette/issues/1518#issuecomment-996225235 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47YTDT | simonw 9599 | 2021-12-16T21:58:24Z | 2021-12-16T21:58:41Z | OWNER | A fundamental operation of this view is to construct the SQL query and accompanying human description based on the incoming query string parameters. The human description is the bit at the top of https://latest.datasette.io/fixtures/searchable?_search=dog&_sort=pk&_facet=text2&text2=sara+weasel that says:
(Also used in the page The code actually gathers three things:
Some operations such as
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996219117 | https://github.com/simonw/datasette/issues/1518#issuecomment-996219117 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47YRjt | simonw 9599 | 2021-12-16T21:47:51Z | 2021-12-16T21:49:24Z | OWNER | Should facets really not be displayed on pages past page one (where I guess it's a useful performance tweak for when crawlers keep hitting the Actually it looks like facets DO display on subsequent pages, e.g. on https://global-power-plants.datasettes.com/global-power-plants/global-power-plants?_next=200 - but facet suggestions do not, thanks to this code: https://github.com/simonw/datasette/blob/2c07327d23d9c5cf939ada9ba4091c1b8b2ba42d/datasette/views/table.py#L777-L785 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
996204369 | https://github.com/simonw/datasette/issues/1558#issuecomment-996204369 | https://api.github.com/repos/simonw/datasette/issues/1558 | IC_kwDOBm6k_c47YN9R | simonw 9599 | 2021-12-16T21:23:25Z | 2021-12-16T21:23:25Z | OWNER | Related: Following the fix for #625 I noticed that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign `facet_results` JSON structure prior to Datasette 1.0 1082584499 | |
996179930 | https://github.com/simonw/sqlite-utils/issues/357#issuecomment-996179930 | https://api.github.com/repos/simonw/sqlite-utils/issues/357 | IC_kwDOCGYnMM47YH_a | simonw 9599 | 2021-12-16T20:43:19Z | 2021-12-16T20:43:19Z | OWNER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
pytest-runner is not required 1079422215 | |
996170510 | https://github.com/simonw/datasette/issues/625#issuecomment-996170510 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YFsO | simonw 9599 | 2021-12-16T20:27:41Z | 2021-12-16T20:27:41Z | OWNER | And here's the new JSON: https://latest.datasette.io/fixtures/facetable.json?_facet=created&_facet_date=created&_facet=tags&_facet_array=tags&_nosuggest=1
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996165659 | https://github.com/simonw/datasette/issues/625#issuecomment-996165659 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YEgb | simonw 9599 | 2021-12-16T20:19:53Z | 2021-12-16T20:19:53Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | ||
996161380 | https://github.com/simonw/datasette/issues/625#issuecomment-996161380 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YDdk | simonw 9599 | 2021-12-16T20:13:05Z | 2021-12-16T20:13:05Z | OWNER | I updated the example code in the facet plugin hook documentation: https://github.com/simonw/datasette/blob/95d0dd7a1cf6be6b7da41e1404184217eb93f64a/docs/plugin_hooks.rst#register_facet_classes |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996152213 | https://github.com/simonw/datasette/issues/625#issuecomment-996152213 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YBOV | simonw 9599 | 2021-12-16T19:59:46Z | 2021-12-16T20:00:05Z | OWNER | Since no-one is using that plugin hook I'm going to alter its contract slightly. I'll still keep the existing JSON format working though (until 1.0), since it's much more likely that people are using that JSON somewhere. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996151246 | https://github.com/simonw/datasette/issues/830#issuecomment-996151246 | https://api.github.com/repos/simonw/datasette/issues/830 | IC_kwDOBm6k_c47YA_O | simonw 9599 | 2021-12-16T19:58:22Z | 2021-12-16T19:58:22Z | OWNER | As of today, 16 December 2021, I'm still not seeing any evidence that anyone is using this hook (yet) according to GitHub code search: https://cs.github.com/?scopeName=All+repos&scope=&q=register_facet_classes%20-repo%3Asimonw%2Fdatasette |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign register_facet_classes plugin hook 636511683 | |
996150904 | https://github.com/simonw/datasette/issues/625#issuecomment-996150904 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YA54 | simonw 9599 | 2021-12-16T19:57:52Z | 2021-12-16T19:57:52Z | OWNER | Good news - GitHub's new code search doesn't show ANYONE using that plugin hook - not surprising since it has that documentation warning plus it's just not a very clearly usable hook: https://cs.github.com/?scopeName=All+repos&scope=&q=register_facet_classes%20-repo%3Asimonw%2Fdatasette |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996149720 | https://github.com/simonw/datasette/issues/625#issuecomment-996149720 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YAnY | simonw 9599 | 2021-12-16T19:56:14Z | 2021-12-16T19:56:14Z | OWNER | This bad design is even covered in the plugin hooks documentation: https://docs.datasette.io/en/0.59.4/plugin_hooks.html#register-facet-classes It does at least have the following warning:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996146762 | https://github.com/simonw/datasette/issues/625#issuecomment-996146762 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X_5K | simonw 9599 | 2021-12-16T19:51:44Z | 2021-12-16T19:51:44Z | OWNER | Here's where So the decision to key things based on column name is actually embedded deep in the existing facet classes here: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996134716 | https://github.com/simonw/datasette/issues/1558#issuecomment-996134716 | https://api.github.com/repos/simonw/datasette/issues/1558 | IC_kwDOBm6k_c47X888 | simonw 9599 | 2021-12-16T19:46:21Z | 2021-12-16T19:46:21Z | OWNER | The flaw in the current design is illustrated by this example:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign `facet_results` JSON structure prior to Datasette 1.0 1082584499 | |
996130862 | https://github.com/simonw/datasette/issues/625#issuecomment-996130862 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X8Au | simonw 9599 | 2021-12-16T19:44:48Z | 2021-12-16T19:44:48Z | OWNER | Decision: as an initial fix I'm going to de-duplicate those keys by using I'll open a separate issue to redesign this better for Datasette 1.0. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996121736 | https://github.com/simonw/datasette/issues/625#issuecomment-996121736 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X5yI | simonw 9599 | 2021-12-16T19:37:08Z | 2021-12-16T19:37:08Z | OWNER | Really |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996119954 | https://github.com/simonw/datasette/issues/625#issuecomment-996119954 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X5WS | simonw 9599 | 2021-12-16T19:36:01Z | 2021-12-16T19:36:11Z | OWNER | Datasette's own HTML rendering code doesn't actually use the keys in And used like this: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996118401 | https://github.com/simonw/datasette/issues/625#issuecomment-996118401 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X4-B | simonw 9599 | 2021-12-16T19:34:28Z | 2021-12-16T19:34:55Z | OWNER | The big question here is do I break any existing clients of the It's still pre-1.0 so I could break them, but I've also built my own code against this in the past so it's likely other people have too. If I don't break them, I will instead need to come up with a naming convention for those keys - something like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996115949 | https://github.com/simonw/datasette/issues/1557#issuecomment-996115949 | https://api.github.com/repos/simonw/datasette/issues/1557 | IC_kwDOBm6k_c47X4Xt | simonw 9599 | 2021-12-16T19:30:55Z | 2021-12-16T19:30:55Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`?_nosuggest=1` parameter for disabling facet suggestions on table view 1082564912 | ||
996104214 | https://github.com/simonw/datasette/issues/1556#issuecomment-996104214 | https://api.github.com/repos/simonw/datasette/issues/1556 | IC_kwDOBm6k_c47X1gW | simonw 9599 | 2021-12-16T19:15:00Z | 2021-12-16T19:15:28Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show count of facet values always, not just for `?_facet_size=max` 1081318247 | ||
996103956 | https://github.com/simonw/datasette/issues/1553#issuecomment-996103956 | https://api.github.com/repos/simonw/datasette/issues/1553 | IC_kwDOBm6k_c47X1cU | simonw 9599 | 2021-12-16T19:14:38Z | 2021-12-16T19:14:38Z | OWNER | This is a really interesting idea - kind of similar to how many APIs include custom HTTP headers informing of rate-limits. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
if csv export is truncated in non streaming mode set informative response header 1079111498 | |
996100774 | https://github.com/simonw/datasette/issues/625#issuecomment-996100774 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X0qm | simonw 9599 | 2021-12-16T19:10:01Z | 2021-12-16T19:10:48Z | OWNER | I think the problem here may be in the design of the JSON returned by facets. It looks like this:
https://latest-with-plugins.datasette.io/fixtures/facetable?_trace=1&_facet=created&_facet_date=created&_facet_array=tags&_facet=tags confirms that the SQL queries for those facets are being executed - but the final JSON doesn't show them on https://latest-with-plugins.datasette.io/fixtures/facetable.json?_trace=1&_facet=created&_facet_date=created&_facet_array=tags&_facet=tags They're not available in the template context either: https://latest-with-plugins.datasette.io/fixtures/facetable?_facet=created&_facet_date=created&_facet_array=tags&_facet=tags&_context=1 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996093884 | https://github.com/simonw/datasette/issues/625#issuecomment-996093884 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47Xy-8 | simonw 9599 | 2021-12-16T19:00:28Z | 2021-12-16T19:00:28Z | OWNER | Implementing #1552 has made a fix for this bug even more important. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996084899 | https://github.com/simonw/datasette/issues/1552#issuecomment-996084899 | https://api.github.com/repos/simonw/datasette/issues/1552 | IC_kwDOBm6k_c47Xwyj | simonw 9599 | 2021-12-16T18:48:14Z | 2021-12-16T18:48:14Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow to set `facets_array` in metadata (like current `facets`) 1078702875 | ||
996077053 | https://github.com/simonw/datasette/issues/1552#issuecomment-996077053 | https://api.github.com/repos/simonw/datasette/issues/1552 | IC_kwDOBm6k_c47Xu39 | simonw 9599 | 2021-12-16T18:36:41Z | 2021-12-16T18:36:41Z | OWNER | ... actually no, I WILL document this, because not documenting this is what got us to this point in the first place! |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 1, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow to set `facets_array` in metadata (like current `facets`) 1078702875 | |
996076373 | https://github.com/simonw/datasette/issues/1552#issuecomment-996076373 | https://api.github.com/repos/simonw/datasette/issues/1552 | IC_kwDOBm6k_c47XutV | simonw 9599 | 2021-12-16T18:35:40Z | 2021-12-16T18:35:40Z | OWNER | I'm going to ship your fix now, but I'm not going to add this to the documentation yet because I hope to improve the design prior to Datasette 1.0. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow to set `facets_array` in metadata (like current `facets`) 1078702875 | |
996046304 | https://github.com/simonw/datasette/issues/1552#issuecomment-996046304 | https://api.github.com/repos/simonw/datasette/issues/1552 | IC_kwDOBm6k_c47XnXg | simonw 9599 | 2021-12-16T17:53:40Z | 2021-12-16T18:16:12Z | OWNER | I'm also not convinced that this configuration syntax is right. It's a bit weird having a Part of the problem here is that facets were designed to accept optional extra configuration - partly to support Facet by delimiter would be a good one to exercise that ability: - #510 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow to set `facets_array` in metadata (like current `facets`) 1078702875 | |
996045776 | https://github.com/simonw/datasette/issues/1552#issuecomment-996045776 | https://api.github.com/repos/simonw/datasette/issues/1552 | IC_kwDOBm6k_c47XnPQ | simonw 9599 | 2021-12-16T17:52:54Z | 2021-12-16T17:52:54Z | OWNER | I tried that fix you suggested and now this |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow to set `facets_array` in metadata (like current `facets`) 1078702875 | |
996034408 | https://github.com/simonw/datasette/issues/1552#issuecomment-996034408 | https://api.github.com/repos/simonw/datasette/issues/1552 | IC_kwDOBm6k_c47Xkdo | simonw 9599 | 2021-12-16T17:37:37Z | 2021-12-16T17:37:37Z | OWNER | I think you're right! I had completely forgotten that piece of code. This just turned into a bug fix and a documentation update. Thanks for the research! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow to set `facets_array` in metadata (like current `facets`) 1078702875 | |
995296725 | https://github.com/simonw/datasette/issues/1552#issuecomment-995296725 | https://api.github.com/repos/simonw/datasette/issues/1552 | IC_kwDOBm6k_c47UwXV | davidbgk 3556 | 2021-12-15T23:29:32Z | 2021-12-15T23:29:32Z | CONTRIBUTOR | @simonw thank you for your fast answer and your guidance! While digging into the code, I found an undocumented way of doing it:
The only remaining problem with that solution is here: https://github.com/simonw/datasette/blob/250db8192cb8aba5eb8cd301ccc2a49525bc3d24/datasette/facets.py#L33 We have:
But it requires to cast the
I guess it's an unspotted bug? (I mean, independently of the facets-with-arrays issue.) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow to set `facets_array` in metadata (like current `facets`) 1078702875 | |
995034911 | https://github.com/simonw/datasette/issues/262#issuecomment-995034911 | https://api.github.com/repos/simonw/datasette/issues/262 | IC_kwDOBm6k_c47Twcf | simonw 9599 | 2021-12-15T18:03:46Z | 2021-12-15T18:03:56Z | OWNER | This is relevant to the big refactor in: - #1518 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add ?_extra= mechanism for requesting extra properties in JSON 323658641 | |
995034143 | https://github.com/simonw/datasette/issues/1552#issuecomment-995034143 | https://api.github.com/repos/simonw/datasette/issues/1552 | IC_kwDOBm6k_c47TwQf | simonw 9599 | 2021-12-15T18:02:53Z | 2021-12-15T18:02:53Z | OWNER | This is definitely a missing feature. The "different types of facet" stuff feels incomplete to me generally - this is one issue, but this one as well:
|
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow to set `facets_array` in metadata (like current `facets`) 1078702875 | |
995023410 | https://github.com/simonw/datasette/issues/1423#issuecomment-995023410 | https://api.github.com/repos/simonw/datasette/issues/1423 | IC_kwDOBm6k_c47Ttoy | simonw 9599 | 2021-12-15T17:48:40Z | 2021-12-15T17:48:40Z | OWNER | You've caused me to rethink this feature - I no longer think there's value in only showing these numbers if |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 1, "eyes": 0 } |
Show count of facet values if ?_facet_size=max 962391325 | |
995022217 | https://github.com/simonw/datasette/issues/1542#issuecomment-995022217 | https://api.github.com/repos/simonw/datasette/issues/1542 | IC_kwDOBm6k_c47TtWJ | simonw 9599 | 2021-12-15T17:47:07Z | 2021-12-15T17:47:07Z | OWNER | This does make sense to me. I've been hoping to significantly improve the way JavaScript plugins work - there are some notes on that here: - #983 Encouraging plugins such as |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
feature request: order and dependency of plugins (that use js) 1072106103 | |
994085710 | https://github.com/simonw/datasette/issues/1518#issuecomment-994085710 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47QItO | simonw 9599 | 2021-12-14T22:03:16Z | 2021-12-14T22:04:28Z | OWNER | There are actually four forms of SQL query used by the table page:
I'm tempted to encapsulate those in a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
994042389 | https://github.com/simonw/datasette/issues/1518#issuecomment-994042389 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47P-IV | simonw 9599 | 2021-12-14T21:35:53Z | 2021-12-14T21:35:53Z | OWNER | Maybe a better way to approach this would be to focus on the JSON side of things - try to get a basic JSON version with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
994005634 | https://github.com/simonw/datasette/issues/621#issuecomment-994005634 | https://api.github.com/repos/simonw/datasette/issues/621 | IC_kwDOBm6k_c47P1KC | simonw 9599 | 2021-12-14T21:02:50Z | 2021-12-14T21:02:50Z | OWNER | This would also mean that an extra text input box could be easily shown on the page. https://latest-with-plugins.datasette.io/fixtures/roadside_attractions?_through={"table":"roadside_attraction_characteristics","column":"characteristic_id","value":"1"} but with the annotated box added (and made to look good): |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Syntax for ?_through= that works as a form field 520681725 | |
993958242 | https://github.com/simonw/datasette/issues/621#issuecomment-993958242 | https://api.github.com/repos/simonw/datasette/issues/621 | IC_kwDOBm6k_c47Ppli | simonw 9599 | 2021-12-14T20:33:25Z | 2021-12-14T20:33:56Z | OWNER | Alternative idea: since current syntax is:
The form-encoding-friendly syntax could be:
Which is more consistent than the array proposal:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Syntax for ?_through= that works as a form field 520681725 | |
993813210 | https://github.com/simonw/datasette/issues/621#issuecomment-993813210 | https://api.github.com/repos/simonw/datasette/issues/621 | IC_kwDOBm6k_c47PGLa | simonw 9599 | 2021-12-14T17:30:13Z | 2021-12-14T20:23:57Z | OWNER | Might be able to create a web form that's unambiguous using:
So:
```html <form action="https://httpbin.org/get"> </form>``` ASGI parsing seems to work too: https://latest-with-plugins.datasette.io/-/asgi-scope?_through.[%22roadside_attraction_characteristics%22%2C%22characteristic_id%22]=1 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Syntax for ?_through= that works as a form field 520681725 | |
993876599 | https://github.com/simonw/datasette/issues/1423#issuecomment-993876599 | https://api.github.com/repos/simonw/datasette/issues/1423 | IC_kwDOBm6k_c47PVp3 | plpxsk 6165713 | 2021-12-14T18:48:09Z | 2021-12-14T18:48:09Z | NONE | Great feature. But what is the right way to enable this to show up? Currently, it seems I need to edit the URL to add, in the right place, Is there another (easier) way to enable this feature? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show count of facet values if ?_facet_size=max 962391325 | |
993794247 | https://github.com/simonw/datasette/issues/1518#issuecomment-993794247 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47PBjH | simonw 9599 | 2021-12-14T17:09:40Z | 2021-12-14T17:09:40Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
993000787 | https://github.com/simonw/datasette/issues/1518#issuecomment-993000787 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47L_1T | simonw 9599 | 2021-12-13T23:19:20Z | 2021-12-14T17:06:05Z | OWNER | Useful old comment here: https://github.com/simonw/datasette/issues/617#issuecomment-552253893
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
993078038 | https://github.com/simonw/datasette/issues/526#issuecomment-993078038 | https://api.github.com/repos/simonw/datasette/issues/526 | IC_kwDOBm6k_c47MSsW | fgregg 536941 | 2021-12-14T01:46:52Z | 2021-12-14T01:46:52Z | CONTRIBUTOR | the nested query idea is very nice, and i stole if for my client side paginator. However, it won't do the right thing if the original query orders by random(). If you go the nested query route, maybe raise a 4XX status code if the query has such a clause? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Stream all results for arbitrary SQL and canned queries 459882902 | |
993014772 | https://github.com/simonw/datasette/issues/1553#issuecomment-993014772 | https://api.github.com/repos/simonw/datasette/issues/1553 | IC_kwDOBm6k_c47MDP0 | fgregg 536941 | 2021-12-13T23:46:18Z | 2021-12-13T23:46:18Z | CONTRIBUTOR | these headers would also be relevant for json exports of custom queries |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
if csv export is truncated in non streaming mode set informative response header 1079111498 | |
993006521 | https://github.com/simonw/datasette/pull/1554#issuecomment-993006521 | https://api.github.com/repos/simonw/datasette/issues/1554 | IC_kwDOBm6k_c47MBO5 | simonw 9599 | 2021-12-13T23:28:47Z | 2021-12-13T23:28:47Z | OWNER | That's frustrating: you can only attach comments to lines that were changed in the PR or are within about 3-4 lines of them: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
TableView refactor 1079129258 | |
993002933 | https://github.com/simonw/datasette/pull/1554#issuecomment-993002933 | https://api.github.com/repos/simonw/datasette/issues/1554 | IC_kwDOBm6k_c47MAW1 | codecov[bot] 22429695 | 2021-12-13T23:22:58Z | 2021-12-13T23:22:58Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1554 +/-=======================================
Coverage 91.84% 91.84% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/views/table.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
TableView refactor 1079129258 | |
992986587 | https://github.com/simonw/datasette/issues/1553#issuecomment-992986587 | https://api.github.com/repos/simonw/datasette/issues/1553 | IC_kwDOBm6k_c47L8Xb | fgregg 536941 | 2021-12-13T22:57:04Z | 2021-12-13T22:57:04Z | CONTRIBUTOR | would also be good if the header said the what the max row limit was |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
if csv export is truncated in non streaming mode set informative response header 1079111498 | |
992971072 | https://github.com/simonw/datasette/issues/526#issuecomment-992971072 | https://api.github.com/repos/simonw/datasette/issues/526 | IC_kwDOBm6k_c47L4lA | fgregg 536941 | 2021-12-13T22:29:34Z | 2021-12-13T22:29:34Z | CONTRIBUTOR | just came by to open this issue. would make my data analysis in observable a lot better! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Stream all results for arbitrary SQL and canned queries 459882902 | |
992833868 | https://github.com/simonw/datasette/issues/1518#issuecomment-992833868 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47LXFM | simonw 9599 | 2021-12-13T19:59:17Z | 2021-12-13T19:59:17Z | OWNER | Built a new plugin to help with this work by improving the display of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
991978789 | https://github.com/simonw/datasette/issues/1518#issuecomment-991978789 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47IGUl | simonw 9599 | 2021-12-12T22:04:19Z | 2021-12-12T22:04:19Z | OWNER | Idea: in JSON output include a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
991960719 | https://github.com/simonw/datasette/issues/1551#issuecomment-991960719 | https://api.github.com/repos/simonw/datasette/issues/1551 | IC_kwDOBm6k_c47IB6P | simonw 9599 | 2021-12-12T19:58:17Z | 2021-12-12T19:58:17Z | OWNER | Here's an example of the difference that causes: ```pycon
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`keep_blank_values=True` when parsing `request.args` 1077893013 | |
991960416 | https://github.com/simonw/datasette/issues/1551#issuecomment-991960416 | https://api.github.com/repos/simonw/datasette/issues/1551 | IC_kwDOBm6k_c47IB1g | simonw 9599 | 2021-12-12T19:56:12Z | 2021-12-12T19:56:12Z | OWNER | Python documentation for
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`keep_blank_values=True` when parsing `request.args` 1077893013 | |
991960179 | https://github.com/simonw/datasette/issues/1551#issuecomment-991960179 | https://api.github.com/repos/simonw/datasette/issues/1551 | IC_kwDOBm6k_c47IBxz | simonw 9599 | 2021-12-12T19:54:45Z | 2021-12-12T19:54:45Z | OWNER | This is technically a backwards-incompatible for any plugins that use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`keep_blank_values=True` when parsing `request.args` 1077893013 | |
991828014 | https://github.com/simonw/datasette/issues/1518#issuecomment-991828014 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47Hhgu | simonw 9599 | 2021-12-12T03:21:35Z | 2021-12-12T03:21:35Z | OWNER | No, removing that gave me the following test failure: ``` tests/test_table_api.py::test_table_filter_queries[/fixtures/simple_primary_key.json?content__exact=-expected_rows2] FAILED [100%] =============================================================================== FAILURES ================================================================================ _____ testtable_filter_queries[/fixtures/simple_primary_key.json?contentexact=-expected_rows2] ________ app_client = <datasette.utils.testing.TestClient object at 0x10d45d2d0>, path = '/fixtures/simple_primary_key.json?content__exact=', expected_rows = [['3', '']]
/Users/simon/Dropbox/Development/datasette/tests/test_table_api.py:511: AssertionError ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
991827468 | https://github.com/simonw/datasette/issues/1518#issuecomment-991827468 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47HhYM | simonw 9599 | 2021-12-12T03:15:00Z | 2021-12-12T03:15:00Z | OWNER | I don't think this code is necessary any more: https://github.com/simonw/datasette/blob/492f9835aa7e90540dd0c6324282b109f73df71b/datasette/views/table.py#L396-L399 That dates back from when Datasette was built on top of Sanic and Sanic didn't preserve those query parameters the way I needed it to: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
991823001 | https://github.com/simonw/datasette/issues/1518#issuecomment-991823001 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47HgSZ | simonw 9599 | 2021-12-12T02:25:32Z | 2021-12-12T02:25:32Z | OWNER | The tests for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
991822853 | https://github.com/simonw/datasette/issues/1518#issuecomment-991822853 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47HgQF | simonw 9599 | 2021-12-12T02:24:00Z | 2021-12-12T02:24:00Z | OWNER | Rebuilding |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
991819781 | https://github.com/simonw/datasette/issues/1518#issuecomment-991819781 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47HfgF | simonw 9599 | 2021-12-12T01:53:10Z | 2021-12-12T01:53:10Z | OWNER | I have a hunch that the conclusion of this experiment may end up being that the It's possible |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
991805516 | https://github.com/simonw/datasette/issues/1550#issuecomment-991805516 | https://api.github.com/repos/simonw/datasette/issues/1550 | IC_kwDOBm6k_c47HcBM | simonw 9599 | 2021-12-11T23:43:24Z | 2021-12-11T23:43:24Z | OWNER | I built a tiny Starlette app to experiment with this a bit: ```python import asyncio import janus from starlette.applications import Starlette from starlette.responses import JSONResponse, HTMLResponse, StreamingResponse from starlette.routing import Route import sqlite3 from concurrent import futures executor = futures.ThreadPoolExecutor(max_workers=10) async def homepage(request): return HTMLResponse( """ <html> <head><title>SQL CSV Server</title> <style>body { width: 40rem; font-family: helvetica; margin: 2em auto; }</style> <body> SQL CSV Server<form action="/csv"> <label style="display: block">SQL query: <textarea style="width: 90%; height: 20em" name="sql"></textarea> </label> </form> </head> """ )def run_query_in_thread(sql, sync_q): db = sqlite3.connect("../datasette/covid.db") cursor = db.cursor() cursor.arraysize = 100 # Default is 1 apparently? cursor.execute(sql) columns = [d[0] for d in cursor.description] sync_q.put([columns]) # Now start putting batches of rows while True: rows = cursor.fetchmany() if rows: sync_q.put(rows) else: break # Let queue know we are finished\ sync_q.put(None) async def csv_query(request): sql = request.query_params["sql"]
app = Starlette(
debug=True,
routes=[
Route("/", homepage),
Route("/csv", csv_query),
],
)
Maybe I should be using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research option for returning all rows from arbitrary query 1077628073 | |
991761635 | https://github.com/simonw/datasette/issues/1550#issuecomment-991761635 | https://api.github.com/repos/simonw/datasette/issues/1550 | IC_kwDOBm6k_c47HRTj | simonw 9599 | 2021-12-11T19:39:01Z | 2021-12-11T19:39:01Z | OWNER | I wonder if this could work for public instances too with some kind of queuing mechanism? I really need to use benchmarking to figure out what the right number of maximum SQLite connections is. I'm just guessing at the moment. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research option for returning all rows from arbitrary query 1077628073 | |
991755245 | https://github.com/simonw/datasette/issues/1549#issuecomment-991755245 | https://api.github.com/repos/simonw/datasette/issues/1549 | IC_kwDOBm6k_c47HPvt | simonw 9599 | 2021-12-11T19:17:54Z | 2021-12-11T19:17:54Z | OWNER | Also relevant: - #1062 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign CSV export to improve usability 1077620955 | |
991755013 | https://github.com/simonw/datasette/issues/617#issuecomment-991755013 | https://api.github.com/repos/simonw/datasette/issues/617 | IC_kwDOBm6k_c47HPsF | simonw 9599 | 2021-12-11T19:17:11Z | 2021-12-11T19:17:11Z | OWNER | This work is now happening in #1518 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor TableView.data() method 519613116 | |
991754794 | https://github.com/simonw/datasette/issues/1549#issuecomment-991754794 | https://api.github.com/repos/simonw/datasette/issues/1549 | IC_kwDOBm6k_c47HPoq | simonw 9599 | 2021-12-11T19:16:33Z | 2021-12-11T19:16:33Z | OWNER | Good call! I'm doing a refactor #1518 right now which will hopefully bring the functionality of those two much closer - I'll make a note to consider this there too. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign CSV export to improve usability 1077620955 | |
991754237 | https://github.com/simonw/datasette/issues/1549#issuecomment-991754237 | https://api.github.com/repos/simonw/datasette/issues/1549 | IC_kwDOBm6k_c47HPf9 | fgregg 536941 | 2021-12-11T19:14:39Z | 2021-12-11T19:14:39Z | CONTRIBUTOR | that option is not available on custom queries. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign CSV export to improve usability 1077620955 | |
991752486 | https://github.com/simonw/datasette/issues/1549#issuecomment-991752486 | https://api.github.com/repos/simonw/datasette/issues/1549 | IC_kwDOBm6k_c47HPEm | simonw 9599 | 2021-12-11T19:09:15Z | 2021-12-11T19:09:15Z | OWNER | That's what this option does: The usability of this is pretty terrible though (including "stream all rows" - how are people meant to understand what that does?) so it can definitely do with some rethinking. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign CSV export to improve usability 1077620955 | |
991517209 | https://github.com/simonw/sqlite-utils/issues/356#issuecomment-991517209 | https://api.github.com/repos/simonw/sqlite-utils/issues/356 | IC_kwDOCGYnMM47GVoZ | simonw 9599 | 2021-12-11T07:46:41Z | 2021-12-11T07:46:41Z | OWNER | By default this will accept single lines, but maybe there could be a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`sqlite-utils insert --convert` option 1077431957 | |
991405755 | https://github.com/simonw/sqlite-utils/issues/353#issuecomment-991405755 | https://api.github.com/repos/simonw/sqlite-utils/issues/353 | IC_kwDOCGYnMM47F6a7 | fgregg 536941 | 2021-12-11T01:38:29Z | 2021-12-11T01:38:29Z | CONTRIBUTOR | wow! that's awesome! thanks so much, @simonw! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow passing a file of code to "sqlite-utils convert" 1077102934 | |
991400016 | https://github.com/simonw/sqlite-utils/issues/353#issuecomment-991400016 | https://api.github.com/repos/simonw/sqlite-utils/issues/353 | IC_kwDOCGYnMM47F5BQ | simonw 9599 | 2021-12-11T01:10:52Z | 2021-12-11T01:11:02Z | OWNER | This won't be in a release for a little while, but you can install it to try it out using:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow passing a file of code to "sqlite-utils convert" 1077102934 | |
991399782 | https://github.com/simonw/sqlite-utils/issues/353#issuecomment-991399782 | https://api.github.com/repos/simonw/sqlite-utils/issues/353 | IC_kwDOCGYnMM47F49m | simonw 9599 | 2021-12-11T01:09:37Z | 2021-12-11T01:09:37Z | OWNER | OK, this is implemented. Updated documentation is here: https://sqlite-utils.datasette.io/en/latest/cli.html#converting-data-in-columns |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow passing a file of code to "sqlite-utils convert" 1077102934 | |
991399604 | https://github.com/simonw/sqlite-utils/issues/354#issuecomment-991399604 | https://api.github.com/repos/simonw/sqlite-utils/issues/354 | IC_kwDOCGYnMM47F460 | simonw 9599 | 2021-12-11T01:08:46Z | 2021-12-11T01:08:46Z | OWNER | That passed! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test failure in test_rebuild_fts 1077243232 | |
991398367 | https://github.com/simonw/sqlite-utils/issues/354#issuecomment-991398367 | https://api.github.com/repos/simonw/sqlite-utils/issues/354 | IC_kwDOCGYnMM47F4nf | simonw 9599 | 2021-12-11T01:03:14Z | 2021-12-11T01:03:14Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test failure in test_rebuild_fts 1077243232 | ||
982123183 | https://github.com/simonw/sqlite-utils/pull/347#issuecomment-982123183 | https://api.github.com/repos/simonw/sqlite-utils/issues/347 | IC_kwDOCGYnMM46igKv | codecov[bot] 22429695 | 2021-11-29T23:20:35Z | 2021-12-11T01:02:19Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #347 +/-=======================================
Coverage 96.51% 96.52% | Impacted Files | Coverage Δ | |
|---|---|---|
| sqlite_utils/cli.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test against pysqlite3 running SQLite 3.37 1066603133 | |
991397907 | https://github.com/simonw/sqlite-utils/pull/347#issuecomment-991397907 | https://api.github.com/repos/simonw/sqlite-utils/issues/347 | IC_kwDOCGYnMM47F4gT | simonw 9599 | 2021-12-11T01:01:40Z | 2021-12-11T01:01:40Z | OWNER | The change I made to that test in #354 might help with this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test against pysqlite3 running SQLite 3.37 1066603133 | |
991395919 | https://github.com/simonw/sqlite-utils/issues/354#issuecomment-991395919 | https://api.github.com/repos/simonw/sqlite-utils/issues/354 | IC_kwDOCGYnMM47F4BP | simonw 9599 | 2021-12-11T00:52:31Z | 2021-12-11T00:52:31Z | OWNER | It turns out |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test failure in test_rebuild_fts 1077243232 | |
991395494 | https://github.com/simonw/sqlite-utils/issues/355#issuecomment-991395494 | https://api.github.com/repos/simonw/sqlite-utils/issues/355 | IC_kwDOCGYnMM47F36m | simonw 9599 | 2021-12-11T00:50:22Z | 2021-12-11T00:51:15Z | OWNER | Here's an example of the new (slightly confusing) error message:
```bash
sqlite-utils convert fixtures.db roadside_attractions name '
def foo(value)
invalid syntax
invalid syntax ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow users to pass a full convert() function definition 1077322009 | |
991393684 | https://github.com/simonw/sqlite-utils/issues/355#issuecomment-991393684 | https://api.github.com/repos/simonw/sqlite-utils/issues/355 | IC_kwDOCGYnMM47F3eU | simonw 9599 | 2021-12-11T00:42:19Z | 2021-12-11T00:49:49Z | OWNER | Ideally I'd like to show the perfect syntax error messages to the user - but I don't know if it's possible to do this cleanly because the error might occur with their originally entered code OR it might occur after I add I'm going to punt on that for the moment and tolerate slightly confusing syntax errors. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow users to pass a full convert() function definition 1077322009 | |
991386841 | https://github.com/simonw/sqlite-utils/issues/355#issuecomment-991386841 | https://api.github.com/repos/simonw/sqlite-utils/issues/355 | IC_kwDOCGYnMM47F1zZ | simonw 9599 | 2021-12-11T00:14:11Z | 2021-12-11T00:15:15Z | OWNER | Relevant code: https://github.com/simonw/sqlite-utils/blob/7a43af232e4bc00bd227307665163614e225948b/sqlite_utils/cli.py#L2128-L2135 One way to implement this would be to look to see if the code starts with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow users to pass a full convert() function definition 1077322009 | |
991387044 | https://github.com/simonw/sqlite-utils/issues/355#issuecomment-991387044 | https://api.github.com/repos/simonw/sqlite-utils/issues/355 | IC_kwDOCGYnMM47F12k | simonw 9599 | 2021-12-11T00:14:45Z | 2021-12-11T00:14:45Z | OWNER | Maybe attempt to compile their code, and if it fails try again after adding |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow users to pass a full convert() function definition 1077322009 | |
991381679 | https://github.com/simonw/sqlite-utils/issues/353#issuecomment-991381679 | https://api.github.com/repos/simonw/sqlite-utils/issues/353 | IC_kwDOCGYnMM47F0iv | simonw 9599 | 2021-12-10T23:58:43Z | 2021-12-10T23:59:35Z | OWNER | I think the fix for this is to change the rules about what code is accepted in both the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow passing a file of code to "sqlite-utils convert" 1077102934 | |
991381281 | https://github.com/simonw/sqlite-utils/issues/353#issuecomment-991381281 | https://api.github.com/repos/simonw/sqlite-utils/issues/353 | IC_kwDOCGYnMM47F0ch | simonw 9599 | 2021-12-10T23:57:26Z | 2021-12-10T23:57:26Z | OWNER | My first attempt at building this looked a little bit strange, because you would end up having a file like this
But... that It would be better if you could write |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow passing a file of code to "sqlite-utils convert" 1077102934 | |
991378346 | https://github.com/simonw/sqlite-utils/issues/353#issuecomment-991378346 | https://api.github.com/repos/simonw/sqlite-utils/issues/353 | IC_kwDOCGYnMM47Fzuq | simonw 9599 | 2021-12-10T23:48:28Z | 2021-12-10T23:48:28Z | OWNER | One option: allow If you wanted to replace a column entirely with hyphens you would still be able to do this:
|
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow passing a file of code to "sqlite-utils convert" 1077102934 | |
991377288 | https://github.com/simonw/sqlite-utils/issues/353#issuecomment-991377288 | https://api.github.com/repos/simonw/sqlite-utils/issues/353 | IC_kwDOCGYnMM47FzeI | simonw 9599 | 2021-12-10T23:45:53Z | 2021-12-10T23:45:53Z | OWNER | One challenge here: the current signature looks like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow passing a file of code to "sqlite-utils convert" 1077102934 | |
991376639 | https://github.com/simonw/sqlite-utils/issues/353#issuecomment-991376639 | https://api.github.com/repos/simonw/sqlite-utils/issues/353 | IC_kwDOCGYnMM47FzT_ | simonw 9599 | 2021-12-10T23:43:45Z | 2021-12-10T23:43:45Z | OWNER | There's a very non-obvious workaround for this at the moment. You can save your code in e.g. a file called
That Now that I've written this down, it's obviously bad! I think your suggestion here is a good idea. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Allow passing a file of code to "sqlite-utils convert" 1077102934 | |
991309759 | https://github.com/simonw/sqlite-utils/issues/354#issuecomment-991309759 | https://api.github.com/repos/simonw/sqlite-utils/issues/354 | IC_kwDOCGYnMM47Fi-_ | simonw 9599 | 2021-12-10T21:33:18Z | 2021-12-10T21:33:18Z | OWNER | https://www.sqlite.org/fts5.html#the_rebuild_command says:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test failure in test_rebuild_fts 1077243232 | |
991309002 | https://github.com/simonw/sqlite-utils/issues/354#issuecomment-991309002 | https://api.github.com/repos/simonw/sqlite-utils/issues/354 | IC_kwDOCGYnMM47FizK | simonw 9599 | 2021-12-10T21:32:14Z | 2021-12-10T21:32:14Z | OWNER | Here's what the method does: https://github.com/simonw/sqlite-utils/blob/e328db8eba1fbf29a69eda95dfec861954f9e771/sqlite_utils/db.py#L1941-L1952 Maybe I don't need a test that deliberately corrupts the database here? Not sure how to test that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test failure in test_rebuild_fts 1077243232 | |
991307422 | https://github.com/simonw/sqlite-utils/issues/354#issuecomment-991307422 | https://api.github.com/repos/simonw/sqlite-utils/issues/354 | IC_kwDOCGYnMM47Fiae | simonw 9599 | 2021-12-10T21:29:34Z | 2021-12-10T21:29:34Z | OWNER | Here's the test in question. The way it works is a bit weird (deleting everything in the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test failure in test_rebuild_fts 1077243232 | |
991306712 | https://github.com/simonw/sqlite-utils/issues/354#issuecomment-991306712 | https://api.github.com/repos/simonw/sqlite-utils/issues/354 | IC_kwDOCGYnMM47FiPY | simonw 9599 | 2021-12-10T21:28:27Z | 2021-12-10T21:28:27Z | OWNER | Failures started with this commit, which only touches documentation so is completely unrelated: https://github.com/simonw/sqlite-utils/commit/e328db8eba1fbf29a69eda95dfec861954f9e771 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test failure in test_rebuild_fts 1077243232 |
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]);
user >30