issue_comments
10,495 rows sorted by created_at
This data as json, CSV (advanced)
updated_at (date) >30 ✖
- 2021-03-22 66
- 2021-11-19 60
- 2022-11-16 58
- 2020-09-22 53
- 2020-10-15 52
- 2023-08-18 52
- 2020-10-30 49
- 2022-10-26 47
- 2022-03-21 46
- 2023-09-21 44
- 2020-06-09 43
- 2022-10-27 43
- 2022-12-13 43
- 2022-01-09 42
- 2022-10-25 41
- 2020-10-20 40
- 2020-06-18 39
- 2020-12-18 39
- 2021-11-16 39
- 2021-12-16 39
- 2022-06-14 39
- 2020-05-27 38
- 2020-12-30 38
- 2020-10-09 37
- 2022-03-19 37
- 2022-12-15 37
- 2021-11-20 36
- 2022-01-20 36
- 2023-03-08 36
- 2023-07-22 36
- …
issue >30
- Redesign default .json format 55
- Show column metadata plus links for foreign keys on arbitrary query results 51
- ?_extra= support (draft) 49
- Rethink how .ext formats (v.s. ?_format=) works before 1.0 48
- Upgrade to CodeMirror 6, add SQL autocomplete 48
- JavaScript plugin hooks mechanism similar to pluggy 47
- Updated Dockerfile with SpatiaLite version 5.0 45
- Complete refactor of TableView and table.html template 45
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- invoke_startup() is not run in some conditions, e.g. gunicorn/uvicorn workers, breaking lots of things 36
- 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
- Research: demonstrate if parallel SQL queries are worthwhile 32
- Ability to sort (and paginate) by column 31
- Server hang on parallel execution of queries to named in-memory databases 31
- Default API token authentication mechanism 30
- Port as many tests as possible to async def tests against ds_client 29
- link_or_copy_directory() error - Invalid cross-device link 28
- Add ?_extra= mechanism for requesting extra properties in JSON 27
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 27
- Optimize all those calls to index_list and foreign_key_list 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
- New pattern for views that return either JSON or HTML, available for plugins 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- …
id | html_url | issue_url | node_id | user | created_at ▼ | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
345342512 | https://github.com/simonw/datasette/issues/44#issuecomment-345342512 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTM0MjUxMg== | simonw 9599 | 2017-11-17T19:27:53Z | 2017-11-20T04:37:35Z | OWNER | This should support multiple columns, e.g. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | |
345343079 | https://github.com/simonw/datasette/issues/44#issuecomment-345343079 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTM0MzA3OQ== | simonw 9599 | 2017-11-17T19:29:43Z | 2017-11-17T19:29:43Z | OWNER | Should this support sum/avg/etc as well? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | |
345404257 | https://github.com/simonw/datasette/pull/117#issuecomment-345404257 | https://api.github.com/repos/simonw/datasette/issues/117 | MDEyOklzc3VlQ29tbWVudDM0NTQwNDI1Nw== | simonw 9599 | 2017-11-18T00:53:58Z | 2017-11-18T00:53:58Z | OWNER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't prevent tabbing to `Run SQL` button 274900388 | |
345447161 | https://github.com/simonw/datasette/pull/104#issuecomment-345447161 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NTQ0NzE2MQ== | simonw 9599 | 2017-11-18T14:53:17Z | 2017-11-18T14:53:17Z | OWNER | any reason I shouldn't land this? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
345448756 | https://github.com/simonw/datasette/issues/36#issuecomment-345448756 | https://api.github.com/repos/simonw/datasette/issues/36 | MDEyOklzc3VlQ29tbWVudDM0NTQ0ODc1Ng== | simonw 9599 | 2017-11-18T15:17:43Z | 2017-11-18T15:17:43Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
date, year, month and day querystring lookups 268262480 | ||
345452215 | https://github.com/simonw/datasette/issues/121#issuecomment-345452215 | https://api.github.com/repos/simonw/datasette/issues/121 | MDEyOklzc3VlQ29tbWVudDM0NTQ1MjIxNQ== | simonw 9599 | 2017-11-18T16:11:23Z | 2017-11-18T16:11:23Z | OWNER | If a column value is invalid JSON, let's return the invalid JSON as a regular string. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_json=foo&_json=bar query string argument 275089535 | |
345452669 | https://github.com/simonw/datasette/pull/104#issuecomment-345452669 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NTQ1MjY2OQ== | jacobian 21148 | 2017-11-18T16:18:45Z | 2017-11-18T16:18:45Z | CONTRIBUTOR | I'd like to do a bit of cleanup, and some error checking in case heroku/heroku-builds isn't installed. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
345493344 | https://github.com/simonw/datasette/issues/105#issuecomment-345493344 | https://api.github.com/repos/simonw/datasette/issues/105 | MDEyOklzc3VlQ29tbWVudDM0NTQ5MzM0NA== | simonw 9599 | 2017-11-19T05:28:49Z | 2017-11-19T05:28:49Z | OWNER | Looks like there are a ton of interesting datasets packaged in this way at http://datahub.io/docs/core-data - see also https://github.com/datasets |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider data-package as a format for metadata 274314940 | |
345494052 | https://github.com/simonw/datasette/issues/105#issuecomment-345494052 | https://api.github.com/repos/simonw/datasette/issues/105 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDA1Mg== | simonw 9599 | 2017-11-19T05:49:53Z | 2017-11-19T05:49:53Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider data-package as a format for metadata 274314940 | ||
345494724 | https://github.com/simonw/datasette/issues/85#issuecomment-345494724 | https://api.github.com/repos/simonw/datasette/issues/85 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDcyNA== | simonw 9599 | 2017-11-19T06:08:19Z | 2017-11-19T06:08:19Z | OWNER | This is working really nicely now: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Detect foreign keys and use them to link HTML pages together 273678673 | |
345494775 | https://github.com/simonw/datasette/issues/86#issuecomment-345494775 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDc3NQ== | simonw 9599 | 2017-11-19T06:09:43Z | 2017-11-19T06:09:43Z | OWNER | Now that we have foreign key support (#85) this is even more important, since foreign key support actively encourages linking to filtered table views. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345494918 | https://github.com/simonw/datasette/issues/86#issuecomment-345494918 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDkxOA== | simonw 9599 | 2017-11-19T06:14:17Z | 2017-11-19T06:14:17Z | OWNER | If the selected relationship is a foreign key reference, we should resolve that foreign key and display it on the page. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345494971 | https://github.com/simonw/datasette/issues/44#issuecomment-345494971 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NDk3MQ== | simonw 9599 | 2017-11-19T06:15:39Z | 2017-11-19T06:15:39Z | OWNER | It would be great if this could support foreign key references and automatically resolve and hyperlink them if they are detected. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | |
345495046 | https://github.com/simonw/datasette/issues/127#issuecomment-345495046 | https://api.github.com/repos/simonw/datasette/issues/127 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NTA0Ng== | simonw 9599 | 2017-11-19T06:17:42Z | 2017-11-19T06:17:42Z | OWNER | Maybe I should support |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filtered tables should show count of all matching rows, if fast enough 275135719 | |
345496540 | https://github.com/simonw/datasette/issues/86#issuecomment-345496540 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NjU0MA== | simonw 9599 | 2017-11-19T06:59:40Z | 2017-11-19T06:59:40Z | OWNER | OK,I've figured out how to do an initial version of this without JavaScript. I'll provide three form fields labell d "add filter":
Submit those and the site will redirect you to a correctly populated querystring for that filter. If you have filters applied, those will display as prepopulated form field triples. For foreign key reference filters, I will display the resolved value next to the text box containing the numeric ID. In the future this can get a select2 style treatment. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345497453 | https://github.com/simonw/datasette/issues/86#issuecomment-345497453 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NzQ1Mw== | simonw 9599 | 2017-11-19T07:21:22Z | 2017-11-19T07:21:22Z | OWNER | I'm going to be a bit classier about this and auto generate a title for the page that describes the currently applied filters. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345497534 | https://github.com/simonw/datasette/issues/86#issuecomment-345497534 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NzUzNA== | simonw 9599 | 2017-11-19T07:23:33Z | 2017-11-19T07:23:33Z | OWNER | "Tablename: 3,567 rows where status = 3 (published) and n > 55" |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345497689 | https://github.com/simonw/datasette/issues/86#issuecomment-345497689 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTQ5NzY4OQ== | simonw 9599 | 2017-11-19T07:27:40Z | 2017-11-19T07:27:40Z | OWNER | I'll have to refactor the foreign key annotating code to be usable in other contexts - at the moment it only works for annotating displays of rows, but I need to use it to resolve selected filters as well. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345503897 | https://github.com/simonw/datasette/issues/105#issuecomment-345503897 | https://api.github.com/repos/simonw/datasette/issues/105 | MDEyOklzc3VlQ29tbWVudDM0NTUwMzg5Nw== | rgieseke 198537 | 2017-11-19T09:38:08Z | 2017-11-19T09:38:08Z | CONTRIBUTOR | Thanks, I wrote this very simple reader because the default approach as described on the Datahub pages seemed to complicated. I had metadata from the This could also be useful for getting from Data Package to SQL db: https://github.com/frictionlessdata/tableschema-sql-py I maintain a few climate science related dataset at https://github.com/openclimatedata/ The Data Retriever (mainly ecological data) by @ethanwhite et al. is also using the Data Package format for metadata and has some tooling for different dbs: https://frictionlessdata.io/articles/the-data-retriever/ https://github.com/weecology/retriever The Open Power System Data project also has a couple of datasets that show nicely how CSV is great for assembling and then already make SQLite files available. It's one of the first data sets I tried with Datasette, perfect for the use case of getting an API for putting power stations on a map ... |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider data-package as a format for metadata 274314940 | |
345509500 | https://github.com/simonw/datasette/issues/97#issuecomment-345509500 | https://api.github.com/repos/simonw/datasette/issues/97 | MDEyOklzc3VlQ29tbWVudDM0NTUwOTUwMA== | yschimke 231923 | 2017-11-19T11:26:58Z | 2017-11-19T11:26:58Z | NONE | Specifically docs should make it clearer this file exists https://parlgov.datasettes.com/.json And from that you can build https://parlgov.datasettes.com/parlgov-25f9855.json Then https://parlgov.datasettes.com/parlgov-25f9855/cabinet.json |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Link to JSON for the list of tables 274022950 | |
345526171 | https://github.com/simonw/datasette/issues/131#issuecomment-345526171 | https://api.github.com/repos/simonw/datasette/issues/131 | MDEyOklzc3VlQ29tbWVudDM0NTUyNjE3MQ== | simonw 9599 | 2017-11-19T15:44:30Z | 2017-11-19T15:44:30Z | OWNER | Relevant SQLite docs: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI support for running FTS searches 275166669 | |
345526517 | https://github.com/simonw/datasette/issues/131#issuecomment-345526517 | https://api.github.com/repos/simonw/datasette/issues/131 | MDEyOklzc3VlQ29tbWVudDM0NTUyNjUxNw== | simonw 9599 | 2017-11-19T15:48:28Z | 2017-11-19T15:48:28Z | OWNER | Since SQLite supports column specifications in the MATCH body itself, there's no need to provide a separate mechanism for specifying columns in the query string: https://sqlite.org/fts5.html#fts5_column_filters |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI support for running FTS searches 275166669 | |
345533274 | https://github.com/simonw/datasette/issues/131#issuecomment-345533274 | https://api.github.com/repos/simonw/datasette/issues/131 | MDEyOklzc3VlQ29tbWVudDM0NTUzMzI3NA== | simonw 9599 | 2017-11-19T17:17:37Z | 2017-11-19T17:18:05Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI support for running FTS searches 275166669 | ||
345537268 | https://github.com/simonw/datasette/issues/134#issuecomment-345537268 | https://api.github.com/repos/simonw/datasette/issues/134 | MDEyOklzc3VlQ29tbWVudDM0NTUzNzI2OA== | simonw 9599 | 2017-11-19T18:10:48Z | 2017-11-19T18:10:48Z | OWNER | Dupe of #127 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filtered table view should show a count 275176094 | |
345537315 | https://github.com/simonw/datasette/issues/44#issuecomment-345537315 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTUzNzMxNQ== | simonw 9599 | 2017-11-19T18:11:27Z | 2017-11-19T18:11:27Z | OWNER | This would enable faceted search - moving it to the search milestone. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | |
345538016 | https://github.com/simonw/datasette/issues/127#issuecomment-345538016 | https://api.github.com/repos/simonw/datasette/issues/127 | MDEyOklzc3VlQ29tbWVudDM0NTUzODAxNg== | simonw 9599 | 2017-11-19T18:22:45Z | 2017-11-19T18:22:45Z | OWNER | I implemented a basic version of this in f59c840e7db8870afcdeba7a53bdea07bb674334 for custom SQL. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filtered tables should show count of all matching rows, if fast enough 275135719 | |
345552358 | https://github.com/simonw/datasette/issues/122#issuecomment-345552358 | https://api.github.com/repos/simonw/datasette/issues/122 | MDEyOklzc3VlQ29tbWVudDM0NTU1MjM1OA== | simonw 9599 | 2017-11-19T21:45:38Z | 2017-12-05T19:09:52Z | OWNER | For the overall shape of the rows:
For getting back extra keys:
For expanding columns:
Or The template view will only be allowed to work with data it can request using extra options. That leaves one sighted nasty edge-case: the default view will expand all columns, but the I think that's OK. The default view won't include the extras used by the template to render the page either. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign JSON output, ditch jsono, offer variants controlled by parameter instead 275092453 | |
345552440 | https://github.com/simonw/datasette/issues/122#issuecomment-345552440 | https://api.github.com/repos/simonw/datasette/issues/122 | MDEyOklzc3VlQ29tbWVudDM0NTU1MjQ0MA== | simonw 9599 | 2017-11-19T21:46:43Z | 2017-11-19T21:46:43Z | OWNER | This calls for refactoring the code so the table view, the row view and the custom SQL view share as much logic as possible. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign JSON output, ditch jsono, offer variants controlled by parameter instead 275092453 | |
345552500 | https://github.com/simonw/datasette/issues/122#issuecomment-345552500 | https://api.github.com/repos/simonw/datasette/issues/122 | MDEyOklzc3VlQ29tbWVudDM0NTU1MjUwMA== | simonw 9599 | 2017-11-19T21:47:27Z | 2017-11-19T21:47:27Z | OWNER | To start with, I could just ditch the .jsono in favour of the new _shape argument. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign JSON output, ditch jsono, offer variants controlled by parameter instead 275092453 | |
345559864 | https://github.com/simonw/datasette/issues/86#issuecomment-345559864 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NTU1OTg2NA== | simonw 9599 | 2017-11-19T23:35:48Z | 2017-11-19T23:35:48Z | OWNER | I need a nicer abstraction around the concept of filters. It needs to be able to:
It should replace my current |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
345601103 | https://github.com/simonw/datasette/issues/44#issuecomment-345601103 | https://api.github.com/repos/simonw/datasette/issues/44 | MDEyOklzc3VlQ29tbWVudDM0NTYwMTEwMw== | simonw 9599 | 2017-11-20T06:13:35Z | 2017-11-20T06:13:35Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_group_count=country - return counts by specific column(s) 269731374 | ||
345601870 | https://github.com/simonw/datasette/issues/133#issuecomment-345601870 | https://api.github.com/repos/simonw/datasette/issues/133 | MDEyOklzc3VlQ29tbWVudDM0NTYwMTg3MA== | simonw 9599 | 2017-11-20T06:18:53Z | 2017-11-20T06:18:53Z | OWNER | This may be tackled by the filters work happening in #86 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If view is filtered, search should apply within those filtered rows 275176006 | |
345652450 | https://github.com/simonw/datasette/issues/27#issuecomment-345652450 | https://api.github.com/repos/simonw/datasette/issues/27 | MDEyOklzc3VlQ29tbWVudDM0NTY1MjQ1MA== | rgieseke 198537 | 2017-11-20T10:19:39Z | 2017-11-20T10:19:39Z | CONTRIBUTOR | If Data Package metadata gets adopted (#105) the views spec work might also be worth a look: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to plot a simple graph 267886330 | |
345750135 | https://github.com/simonw/datasette/issues/137#issuecomment-345750135 | https://api.github.com/repos/simonw/datasette/issues/137 | MDEyOklzc3VlQ29tbWVudDM0NTc1MDEzNQ== | simonw 9599 | 2017-11-20T16:30:56Z | 2018-07-10T17:53:13Z | OWNER | One possible route: introduce prefixes eg |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to combine multiple SQL queries on a single graph 275415799 | |
345793887 | https://github.com/simonw/datasette/issues/129#issuecomment-345793887 | https://api.github.com/repos/simonw/datasette/issues/129 | MDEyOklzc3VlQ29tbWVudDM0NTc5Mzg4Nw== | simonw 9599 | 2017-11-20T19:00:30Z | 2017-11-20T19:00:30Z | OWNER | Need to hide these from the index summary page as well: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hide FTS-created tables by default on the database index page 275164558 | |
345809808 | https://github.com/simonw/datasette/issues/105#issuecomment-345809808 | https://api.github.com/repos/simonw/datasette/issues/105 | MDEyOklzc3VlQ29tbWVudDM0NTgwOTgwOA== | simonw 9599 | 2017-11-20T19:50:53Z | 2017-11-20T19:50:53Z | OWNER | OK, https://github.com/openclimatedata/global-carbon-budget/blob/master/datapackage.json really does look like it covers all of the bases I need for #138. Closing this ticket in favour of that new one. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider data-package as a format for metadata 274314940 | |
345810031 | https://github.com/simonw/datasette/issues/42#issuecomment-345810031 | https://api.github.com/repos/simonw/datasette/issues/42 | MDEyOklzc3VlQ29tbWVudDM0NTgxMDAzMQ== | simonw 9599 | 2017-11-20T19:51:29Z | 2017-11-20T19:51:29Z | OWNER | See also #138 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Homepage UI for editing metadata file 268591332 | |
345893877 | https://github.com/simonw/datasette/issues/14#issuecomment-345893877 | https://api.github.com/repos/simonw/datasette/issues/14 | MDEyOklzc3VlQ29tbWVudDM0NTg5Mzg3Nw== | simonw 9599 | 2017-11-21T02:11:27Z | 2017-11-21T02:11:27Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette Plugins 267707940 | ||
346116745 | https://github.com/simonw/datasette/pull/104#issuecomment-346116745 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NjExNjc0NQ== | jacobian 21148 | 2017-11-21T18:23:25Z | 2017-11-21T18:23:25Z | CONTRIBUTOR | @simonw ready for a review and merge if you want. There's still some nasty duplicated code in cli.py and utils.py, which is just going to get worse if/when we start adding any other deploy targets (and I want to do one for cloud.gov, at least). I think there's an opportunity for some refactoring here. I'm happy to do that now as part of this PR, or if you merge this first I'll do it in a different one. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
346124073 | https://github.com/simonw/datasette/pull/104#issuecomment-346124073 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NjEyNDA3Mw== | jacobian 21148 | 2017-11-21T18:49:55Z | 2017-11-21T18:49:55Z | CONTRIBUTOR | Actually hang on, don't merge - there are some bugs that #141 masked when I tested this out elsewhere. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
346124764 | https://github.com/simonw/datasette/pull/104#issuecomment-346124764 | https://api.github.com/repos/simonw/datasette/issues/104 | MDEyOklzc3VlQ29tbWVudDM0NjEyNDc2NA== | jacobian 21148 | 2017-11-21T18:52:14Z | 2017-11-21T18:52:14Z | CONTRIBUTOR | OK, now this should work. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[WIP] Add publish to heroku support 274284246 | |
346157542 | https://github.com/simonw/datasette/issues/141#issuecomment-346157542 | https://api.github.com/repos/simonw/datasette/issues/141 | MDEyOklzc3VlQ29tbWVudDM0NjE1NzU0Mg== | simonw 9599 | 2017-11-21T20:53:47Z | 2017-11-21T20:53:47Z | OWNER | I think a copy is the right thing to do here - it will be cleaned up when the temp directory is removed. The hard link thing was always intended to save space, but if we can't do a hard link I don't see any harm in a temporary file copy. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish can fail if /tmp is on a different device 275814941 | |
346161985 | https://github.com/simonw/datasette/issues/90#issuecomment-346161985 | https://api.github.com/repos/simonw/datasette/issues/90 | MDEyOklzc3VlQ29tbWVudDM0NjE2MTk4NQ== | simonw 9599 | 2017-11-21T21:10:22Z | 2017-11-21T21:10:22Z | OWNER | Woohoo! I've found one tiny issue: right now, the following doesn't work:
It results in this error in the Heroku logs:
The command works fine if you run it in the same directory as the database file you are publishing. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish heroku 273846123 | |
346163513 | https://github.com/simonw/datasette/issues/90#issuecomment-346163513 | https://api.github.com/repos/simonw/datasette/issues/90 | MDEyOklzc3VlQ29tbWVudDM0NjE2MzUxMw== | simonw 9599 | 2017-11-21T21:16:16Z | 2017-11-21T21:16:16Z | OWNER | The reason relative paths work for Clearly the correct thing to do here is for us to refactor the shared code between heroku/package/now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish heroku 273846123 | |
346217739 | https://github.com/simonw/datasette/issues/142#issuecomment-346217739 | https://api.github.com/repos/simonw/datasette/issues/142 | MDEyOklzc3VlQ29tbWVudDM0NjIxNzczOQ== | simonw 9599 | 2017-11-22T01:45:30Z | 2017-11-22T01:45:30Z | OWNER | Might be nice to have a --no-limits option that disables time and maximum row count limits. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show extra instructions with the interrupted 275917760 | |
346244871 | https://github.com/simonw/datasette/issues/14#issuecomment-346244871 | https://api.github.com/repos/simonw/datasette/issues/14 | MDEyOklzc3VlQ29tbWVudDM0NjI0NDg3MQ== | jacobian 21148 | 2017-11-22T05:06:30Z | 2017-11-22T05:06:30Z | CONTRIBUTOR | I'd also suggest taking a look at stevedore, which has a ton of tools for doing plugin stuff. I've had good luck with it in the past. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette Plugins 267707940 | |
346405660 | https://github.com/simonw/datasette/issues/144#issuecomment-346405660 | https://api.github.com/repos/simonw/datasette/issues/144 | MDEyOklzc3VlQ29tbWVudDM0NjQwNTY2MA== | simonw 9599 | 2017-11-22T16:38:05Z | 2017-11-22T16:38:05Z | OWNER | I have a solution for FTS already, but I'm interested in apsw as a mechanism for allowing custom virtual tables to be written in Python (pysqlite only lets you write custom functions) Not having PyPI support is pretty tough though. I'm planning a plugin/extension system which would be ideal for things like an optional apsw mode, but that's a lot harder if apsw isn't in PyPI. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
apsw as alternative sqlite3 binding (for full text search) 276091279 | |
346406009 | https://github.com/simonw/datasette/issues/14#issuecomment-346406009 | https://api.github.com/repos/simonw/datasette/issues/14 | MDEyOklzc3VlQ29tbWVudDM0NjQwNjAwOQ== | simonw 9599 | 2017-11-22T16:39:08Z | 2017-11-22T16:39:08Z | OWNER | Oh thanks, that definitely looks like an interesting option. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette Plugins 267707940 | |
346427794 | https://github.com/simonw/datasette/issues/144#issuecomment-346427794 | https://api.github.com/repos/simonw/datasette/issues/144 | MDEyOklzc3VlQ29tbWVudDM0NjQyNzc5NA== | mhalle 649467 | 2017-11-22T17:55:45Z | 2017-11-22T17:55:45Z | NONE | Thanks. There is a way to use pip to grab apsw, which also let's you configure it (flags to build extensions, use an internal sqlite, etc). Don't know how that works as a dependency for another package, though. On November 22, 2017 11:38:06 AM EST, Simon Willison notifications@github.com wrote:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
apsw as alternative sqlite3 binding (for full text search) 276091279 | |
346463342 | https://github.com/simonw/datasette/issues/129#issuecomment-346463342 | https://api.github.com/repos/simonw/datasette/issues/129 | MDEyOklzc3VlQ29tbWVudDM0NjQ2MzM0Mg== | simonw 9599 | 2017-11-22T20:22:02Z | 2017-11-22T20:22:02Z | OWNER | On the index page: On the database index page: After clicking that link: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hide FTS-created tables by default on the database index page 275164558 | |
346530498 | https://github.com/simonw/datasette/issues/86#issuecomment-346530498 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NjUzMDQ5OA== | simonw 9599 | 2017-11-23T04:35:07Z | 2017-11-23T04:35:07Z | OWNER | Here's where I am now. Needs a bit of UI tidy up and it will be good to release: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
346682905 | https://github.com/simonw/datasette/issues/146#issuecomment-346682905 | https://api.github.com/repos/simonw/datasette/issues/146 | MDEyOklzc3VlQ29tbWVudDM0NjY4MjkwNQ== | simonw 9599 | 2017-11-23T18:55:08Z | 2017-11-23T18:55:08Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish gcloud 276455748 | ||
346691243 | https://github.com/simonw/datasette/issues/86#issuecomment-346691243 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NjY5MTI0Mw== | simonw 9599 | 2017-11-23T20:07:15Z | 2017-11-23T20:07:15Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | ||
346694211 | https://github.com/simonw/datasette/issues/86#issuecomment-346694211 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NjY5NDIxMQ== | simonw 9599 | 2017-11-23T20:34:32Z | 2017-11-23T20:34:32Z | OWNER | And with ef3eacf622e69723d48ab1ad597645770a7361db I'm ready to call this one done. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | |
346701751 | https://github.com/simonw/datasette/issues/132#issuecomment-346701751 | https://api.github.com/repos/simonw/datasette/issues/132 | MDEyOklzc3VlQ29tbWVudDM0NjcwMTc1MQ== | simonw 9599 | 2017-11-23T21:51:51Z | 2017-11-23T21:51:51Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Row view is not currently expanding foreign keys 275175929 | ||
346705879 | https://github.com/simonw/datasette/issues/133#issuecomment-346705879 | https://api.github.com/repos/simonw/datasette/issues/133 | MDEyOklzc3VlQ29tbWVudDM0NjcwNTg3OQ== | simonw 9599 | 2017-11-23T22:43:42Z | 2017-11-24T22:07:46Z | OWNER | Easiest way to do this will be to move it into the same Would be nice to detect |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If view is filtered, search should apply within those filtered rows 275176006 | |
346900554 | https://github.com/simonw/datasette/issues/147#issuecomment-346900554 | https://api.github.com/repos/simonw/datasette/issues/147 | MDEyOklzc3VlQ29tbWVudDM0NjkwMDU1NA== | simonw 9599 | 2017-11-24T22:02:22Z | 2017-11-24T22:02:22Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tidy up design of the header of the table page 276476670 | ||
346902583 | https://github.com/simonw/datasette/issues/133#issuecomment-346902583 | https://api.github.com/repos/simonw/datasette/issues/133 | MDEyOklzc3VlQ29tbWVudDM0NjkwMjU4Mw== | simonw 9599 | 2017-11-24T22:30:32Z | 2017-11-24T22:30:32Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If view is filtered, search should apply within those filtered rows 275176006 | ||
346903317 | https://github.com/simonw/datasette/issues/149#issuecomment-346903317 | https://api.github.com/repos/simonw/datasette/issues/149 | MDEyOklzc3VlQ29tbWVudDM0NjkwMzMxNw== | simonw 9599 | 2017-11-24T22:41:58Z | 2017-11-24T22:41:58Z | OWNER | Custom SQL results now look like this: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update custom SQL results to match new table view header 276704127 | |
346974336 | https://github.com/simonw/datasette/issues/141#issuecomment-346974336 | https://api.github.com/repos/simonw/datasette/issues/141 | MDEyOklzc3VlQ29tbWVudDM0Njk3NDMzNg== | janimo 50138 | 2017-11-26T00:00:35Z | 2017-11-26T00:00:35Z | NONE | FWIW I worked around this by setting TMPDIR to ~/tmp before running the command. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish can fail if /tmp is on a different device 275814941 | |
346987395 | https://github.com/simonw/datasette/issues/124#issuecomment-346987395 | https://api.github.com/repos/simonw/datasette/issues/124 | MDEyOklzc3VlQ29tbWVudDM0Njk4NzM5NQ== | janimo 50138 | 2017-11-26T06:24:08Z | 2017-11-26T06:24:08Z | NONE | Are there performance gains when using immutable as opposed to read-only? From what I see other processes can still modify the DB when immutable, but there are no change notifications. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Option to open readonly but not immutable 275125805 | |
347049888 | https://github.com/simonw/datasette/issues/124#issuecomment-347049888 | https://api.github.com/repos/simonw/datasette/issues/124 | MDEyOklzc3VlQ29tbWVudDM0NzA0OTg4OA== | simonw 9599 | 2017-11-27T00:01:08Z | 2017-11-27T00:01:08Z | OWNER | https://sqlite.org/c3ref/open.html Is the only documentation I've been able to find of the immutable option:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Option to open readonly but not immutable 275125805 | |
347050235 | https://github.com/simonw/datasette/issues/153#issuecomment-347050235 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0NzA1MDIzNQ== | simonw 9599 | 2017-11-27T00:06:24Z | 2017-11-27T00:06:24Z | OWNER | I've been thinking about 1. a bit - I actually think it would be fine to have a rule that says "if the contents of the cell starts with For the other two... I think #12 may be the way to go here: if you can easily over-ride the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
347051331 | https://github.com/simonw/datasette/issues/153#issuecomment-347051331 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0NzA1MTMzMQ== | simonw 9599 | 2017-11-27T00:23:40Z | 2017-11-27T03:58:49Z | OWNER | One quick fix could be to add a While we're at it, an |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
347123991 | https://github.com/simonw/datasette/issues/124#issuecomment-347123991 | https://api.github.com/repos/simonw/datasette/issues/124 | MDEyOklzc3VlQ29tbWVudDM0NzEyMzk5MQ== | janimo 50138 | 2017-11-27T09:25:15Z | 2017-11-27T09:25:15Z | NONE | That's the only reference to immutable I saw as well, making me think that there may be no perceivable advantages over simply using mode=ro. Since the database is never or seldom updated the change notifications should not impact performance. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Option to open readonly but not immutable 275125805 | |
347236102 | https://github.com/simonw/datasette/issues/124#issuecomment-347236102 | https://api.github.com/repos/simonw/datasette/issues/124 | MDEyOklzc3VlQ29tbWVudDM0NzIzNjEwMg== | simonw 9599 | 2017-11-27T16:24:15Z | 2017-11-27T16:24:15Z | OWNER | I'd really like to get some benchmarks working so I can see the actual impact of this kind of thing. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Option to open readonly but not immutable 275125805 | |
347713453 | https://github.com/simonw/datasette/issues/155#issuecomment-347713453 | https://api.github.com/repos/simonw/datasette/issues/155 | MDEyOklzc3VlQ29tbWVudDM0NzcxMzQ1Mw== | simonw 9599 | 2017-11-29T00:41:30Z | 2017-11-29T00:41:30Z | OWNER | Could you provide the SQL to create a reproducible test case (both CREATE TABLE and INSERT statements)? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
A primary key column that has foreign key restriction associated won't rendering label column 277589569 | |
347714314 | https://github.com/simonw/datasette/issues/155#issuecomment-347714314 | https://api.github.com/repos/simonw/datasette/issues/155 | MDEyOklzc3VlQ29tbWVudDM0NzcxNDMxNA== | wsxiaoys 388154 | 2017-11-29T00:46:25Z | 2017-11-29T00:46:25Z | NONE | ``` CREATE TABLE rhs ( id INTEGER PRIMARY KEY, name TEXT ); CREATE TABLE lhs ( symbol INTEGER PRIMARY KEY, FOREIGN KEY (symbol) REFERENCES rhs(id) ); INSERT INTO rhs VALUES (1, "foo"); INSERT INTO rhs VALUES (2, "bar"); INSERT INTO lhs VALUES (1); INSERT INTO lhs VALUES (2); ``` It's expected that in lhs's view, foo / bar should be displayed. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
A primary key column that has foreign key restriction associated won't rendering label column 277589569 | |
347714471 | https://github.com/simonw/datasette/issues/155#issuecomment-347714471 | https://api.github.com/repos/simonw/datasette/issues/155 | MDEyOklzc3VlQ29tbWVudDM0NzcxNDQ3MQ== | simonw 9599 | 2017-11-29T00:47:21Z | 2017-11-29T00:47:21Z | OWNER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
A primary key column that has foreign key restriction associated won't rendering label column 277589569 | |
347715452 | https://github.com/simonw/datasette/issues/155#issuecomment-347715452 | https://api.github.com/repos/simonw/datasette/issues/155 | MDEyOklzc3VlQ29tbWVudDM0NzcxNTQ1Mg== | simonw 9599 | 2017-11-29T00:52:30Z | 2017-11-29T00:52:30Z | OWNER | Interestingly, it almost does the right thing on the individual row page: https://bug-155-dkcqckhgki.now.sh/bug-155-9a7bb68/lhs/1 The symbol has been expanded, but there's a rogue '1' that shouldn't be there at all - I think that's bug #152 The table view itself is definitely doing the wrong thing: https://bug-155-dkcqckhgki.now.sh/bug-155-9a7bb68/lhs |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
A primary key column that has foreign key restriction associated won't rendering label column 277589569 | |
347735334 | https://github.com/simonw/datasette/issues/153#issuecomment-347735334 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0NzczNTMzNA== | simonw 9599 | 2017-11-29T02:45:03Z | 2017-11-29T02:45:03Z | OWNER | @ftrain OK I've shipped the first version of this. Here's the initial documentation: Create a
Then start datasette like this:
The CSS and JavaScript files will be linked in the You can also specify a SRI (subresource integrity hash) for these assets:
Modern browsers will only execute the stylsheet or JavaScript if the SRI hash matches the content served. You can generate hashes using www.srihash.org This isn't shipped in a release yet, but you can still access these features in
The |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
347735598 | https://github.com/simonw/datasette/issues/153#issuecomment-347735598 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0NzczNTU5OA== | simonw 9599 | 2017-11-29T02:46:31Z | 2017-11-29T02:47:27Z | OWNER | To style individual columns you'll currently need to use the
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
347735724 | https://github.com/simonw/datasette/issues/153#issuecomment-347735724 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0NzczNTcyNA== | simonw 9599 | 2017-11-29T02:47:14Z | 2017-11-29T02:47:14Z | OWNER | (This only addresses point 2 in your issue description - points 1 and point 3 are still to come) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
347928926 | https://github.com/simonw/datasette/issues/153#issuecomment-347928926 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0NzkyODkyNg== | simonw 9599 | 2017-11-29T17:09:40Z | 2017-11-29T17:09:40Z | OWNER | OK, that's point 1 covered. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
348103270 | https://github.com/simonw/datasette/issues/153#issuecomment-348103270 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0ODEwMzI3MA== | simonw 9599 | 2017-11-30T07:16:40Z | 2017-11-30T07:16:40Z | OWNER | Every template now gets CSS classes in the body designed to support custom styling. The index template (the top level page at /) gets this:
The database template (/dbname/) gets this:
The table template (/dbname/tablename) gets:
The row template (/dbname/tablename/rowid) gets:
The db-x and table-x classes use the database or table names themselves IF they are valid CSS identifiers. If they aren't, we strip any invalid characters out and append a 6 character md5 digest of the original name, in order to ensure that multiple tables which resolve to the same stripped character version still have different CSS classes. Some examples (extracted from the unit tests):
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
348245757 | https://github.com/simonw/datasette/issues/12#issuecomment-348245757 | https://api.github.com/repos/simonw/datasette/issues/12 | MDEyOklzc3VlQ29tbWVudDM0ODI0NTc1Nw== | simonw 9599 | 2017-11-30T16:39:45Z | 2017-11-30T16:39:45Z | OWNER | It is now possible to over-ride templates on a per-database / per-row or per- table basis. When you access e.g.
If you provided a The lookup rules are as follows:
If a table name has spaces or other unexpected characters in it, the template
filename will follow the same rules as our custom
It is possible to extend the default templates using Jinja template
inheritance. If you want to customize EVERY row template with some additional
content you can do so by creating a
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it so you can override templates 267523511 | |
348245843 | https://github.com/simonw/datasette/issues/153#issuecomment-348245843 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0ODI0NTg0Mw== | simonw 9599 | 2017-11-30T16:40:02Z | 2017-11-30T16:40:02Z | OWNER | It is now possible to over-ride templates on a per-database / per-row or per- table basis. When you access e.g.
If you provided a The lookup rules are as follows:
If a table name has spaces or other unexpected characters in it, the template
filename will follow the same rules as our custom
It is possible to extend the default templates using Jinja template
inheritance. If you want to customize EVERY row template with some additional
content you can do so by creating a
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
348248406 | https://github.com/simonw/datasette/issues/153#issuecomment-348248406 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0ODI0ODQwNg== | simonw 9599 | 2017-11-30T16:47:45Z | 2017-11-30T16:47:45Z | OWNER | Remaining work on this now lives in a milestone: https://github.com/simonw/datasette/milestone/6 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
348248957 | https://github.com/simonw/datasette/issues/126#issuecomment-348248957 | https://api.github.com/repos/simonw/datasette/issues/126 | MDEyOklzc3VlQ29tbWVudDM0ODI0ODk1Nw== | simonw 9599 | 2017-11-30T16:49:24Z | 2017-11-30T16:49:24Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Blog entry announcing foreign key support 275135535 | ||
348252037 | https://github.com/simonw/datasette/issues/153#issuecomment-348252037 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0ODI1MjAzNw== | ftrain 20264 | 2017-11-30T16:59:00Z | 2017-11-30T16:59:00Z | NONE | WOW! -- Paul Ford // (646) 369-7128 // @ftrain On Thu, Nov 30, 2017 at 11:47 AM, Simon Willison notifications@github.com wrote:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
348255782 | https://github.com/simonw/datasette/issues/156#issuecomment-348255782 | https://api.github.com/repos/simonw/datasette/issues/156 | MDEyOklzc3VlQ29tbWVudDM0ODI1NTc4Mg== | simonw 9599 | 2017-11-30T17:11:34Z | 2017-11-30T17:11:34Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document CSS hooks and custom templates 278189708 | ||
348255925 | https://github.com/simonw/datasette/issues/153#issuecomment-348255925 | https://api.github.com/repos/simonw/datasette/issues/153 | MDEyOklzc3VlQ29tbWVudDM0ODI1NTkyNQ== | simonw 9599 | 2017-11-30T17:12:03Z | 2017-11-30T17:12:03Z | OWNER | Documentation is now live for this: http://datasette.readthedocs.io/en/latest/custom_templates.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize presentation of specific columns in HTML view 276842536 | |
348404864 | https://github.com/simonw/datasette/issues/160#issuecomment-348404864 | https://api.github.com/repos/simonw/datasette/issues/160 | MDEyOklzc3VlQ29tbWVudDM0ODQwNDg2NA== | simonw 9599 | 2017-12-01T05:26:57Z | 2017-12-01T05:26:57Z | OWNER | Question is... what should happen to the default static stuff? At the moment that's just https://fivethirtyeight.datasettes.com/-/static/app.css - though I want to improve that to include a content hash, see #154 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to bundle and serve additional static files 278208011 | |
348404988 | https://github.com/simonw/datasette/issues/154#issuecomment-348404988 | https://api.github.com/repos/simonw/datasette/issues/154 | MDEyOklzc3VlQ29tbWVudDM0ODQwNDk4OA== | simonw 9599 | 2017-12-01T05:27:40Z | 2017-12-01T05:27:40Z | OWNER | If I do add additional static file bundling should that automatically get content hashes as well? #160 - problem with that is then I might have to parse the CSS files and rewrite their internal background-url references etc. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette CSS should include content hash in the URL 276873891 | |
348420129 | https://github.com/simonw/datasette/issues/20#issuecomment-348420129 | https://api.github.com/repos/simonw/datasette/issues/20 | MDEyOklzc3VlQ29tbWVudDM0ODQyMDEyOQ== | simonw 9599 | 2017-12-01T07:16:25Z | 2017-12-01T07:16:25Z | OWNER | I've found some examples of canned queries I want to support that can't be represented as views, so I'm going to reopen this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Config file with support for defining canned queries 267759136 | |
348420955 | https://github.com/simonw/datasette/issues/20#issuecomment-348420955 | https://api.github.com/repos/simonw/datasette/issues/20 | MDEyOklzc3VlQ29tbWVudDM0ODQyMDk1NQ== | simonw 9599 | 2017-12-01T07:21:08Z | 2017-12-01T07:21:08Z | OWNER | I'll use the existing metadata.json file:
The query definition can either be just a string of SQL, or it can be an object with a sql key and optional title and description keys. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Config file with support for defining canned queries 267759136 | |
348719680 | https://github.com/simonw/datasette/issues/160#issuecomment-348719680 | https://api.github.com/repos/simonw/datasette/issues/160 | MDEyOklzc3VlQ29tbWVudDM0ODcxOTY4MA== | simonw 9599 | 2017-12-02T20:59:27Z | 2017-12-02T20:59:27Z | OWNER | This is about more than just CSS and JavaScript - there are plenty of reasons someone might want to bundle HTML as well, e.g. for building something like https://sf-tree-search.now.sh/ So, instead of thinking about this in terms of /static/, I'm going to think about this in terms of allowing people to mount one or more document roots (or docroots).
This will cause the root of the server to show content from the A more common option will be to mount specific folders to specific directories, like this:
Now any hits to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to bundle and serve additional static files 278208011 | |
348719752 | https://github.com/simonw/datasette/issues/160#issuecomment-348719752 | https://api.github.com/repos/simonw/datasette/issues/160 | MDEyOklzc3VlQ29tbWVudDM0ODcxOTc1Mg== | simonw 9599 | 2017-12-02T21:00:21Z | 2017-12-02T21:00:21Z | OWNER | Not sure which I like better out of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to bundle and serve additional static files 278208011 | |
348719827 | https://github.com/simonw/datasette/issues/160#issuecomment-348719827 | https://api.github.com/repos/simonw/datasette/issues/160 | MDEyOklzc3VlQ29tbWVudDM0ODcxOTgyNw== | simonw 9599 | 2017-12-02T21:01:36Z | 2017-12-02T21:01:36Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to bundle and serve additional static files 278208011 | |
348793054 | https://github.com/simonw/datasette/issues/160#issuecomment-348793054 | https://api.github.com/repos/simonw/datasette/issues/160 | MDEyOklzc3VlQ29tbWVudDM0ODc5MzA1NA== | simonw 9599 | 2017-12-03T16:35:22Z | 2017-12-03T16:35:22Z | OWNER | You can now tell Datasette to serve static files from a specific location at a specific mountpoint. For example:
Now if you visit this URL:
The following file will be served:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to bundle and serve additional static files 278208011 | |
348793156 | https://github.com/simonw/datasette/issues/160#issuecomment-348793156 | https://api.github.com/repos/simonw/datasette/issues/160 | MDEyOklzc3VlQ29tbWVudDM0ODc5MzE1Ng== | simonw 9599 | 2017-12-03T16:35:53Z | 2017-12-03T16:35:53Z | OWNER | Still TODO: teach |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to bundle and serve additional static files 278208011 | |
348860191 | https://github.com/simonw/datasette/issues/161#issuecomment-348860191 | https://api.github.com/repos/simonw/datasette/issues/161 | MDEyOklzc3VlQ29tbWVudDM0ODg2MDE5MQ== | simonw 9599 | 2017-12-04T04:52:14Z | 2017-12-04T04:52:14Z | OWNER | Seems like a reasonable thing for us to support. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support WITH query 278814220 | |
348860623 | https://github.com/simonw/datasette/issues/20#issuecomment-348860623 | https://api.github.com/repos/simonw/datasette/issues/20 | MDEyOklzc3VlQ29tbWVudDM0ODg2MDYyMw== | simonw 9599 | 2017-12-04T04:56:21Z | 2017-12-04T04:56:21Z | OWNER | While I'm doing this, I could add per-database and per-table metadata too ala #68 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Config file with support for defining canned queries 267759136 | |
349027974 | https://github.com/simonw/datasette/issues/20#issuecomment-349027974 | https://api.github.com/repos/simonw/datasette/issues/20 | MDEyOklzc3VlQ29tbWVudDM0OTAyNzk3NA== | simonw 9599 | 2017-12-04T17:01:19Z | 2017-12-04T17:01:19Z | OWNER | This is also a good opportunity to re-factor out a separate query.html template - right now the database.html template is doing two jobs. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Config file with support for defining canned queries 267759136 | |
349047335 | https://github.com/simonw/datasette/issues/135#issuecomment-349047335 | https://api.github.com/repos/simonw/datasette/issues/135 | MDEyOklzc3VlQ29tbWVudDM0OTA0NzMzNQ== | simonw 9599 | 2017-12-04T17:57:08Z | 2017-12-04T17:57:08Z | OWNER | Turns out there's a bug in this: https://timezones-now-hrjgkinozh.now.sh/timezones-0d61a90/ElementaryGeometries should not be showing the search box. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_search=x should work if used directly against a FTS virtual table 275179724 | |
349359498 | https://github.com/simonw/datasette/issues/20#issuecomment-349359498 | https://api.github.com/repos/simonw/datasette/issues/20 | MDEyOklzc3VlQ29tbWVudDM0OTM1OTQ5OA== | simonw 9599 | 2017-12-05T16:30:06Z | 2017-12-05T16:30:06Z | OWNER | Named canned queries can now be defined in metadata.json like this:
These will be shown in a new "Queries" section beneath "Views" on the database page. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Config file with support for defining canned queries 267759136 | |
349383276 | https://github.com/simonw/datasette/issues/20#issuecomment-349383276 | https://api.github.com/repos/simonw/datasette/issues/20 | MDEyOklzc3VlQ29tbWVudDM0OTM4MzI3Ng== | simonw 9599 | 2017-12-05T17:45:20Z | 2017-12-05T17:45:20Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Config file with support for defining canned queries 267759136 | ||
349406761 | https://github.com/simonw/datasette/issues/20#issuecomment-349406761 | https://api.github.com/repos/simonw/datasette/issues/20 | MDEyOklzc3VlQ29tbWVudDM0OTQwNjc2MQ== | simonw 9599 | 2017-12-05T19:03:06Z | 2017-12-05T19:03:06Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Config file with support for defining canned queries 267759136 | ||
349408214 | https://github.com/simonw/datasette/issues/122#issuecomment-349408214 | https://api.github.com/repos/simonw/datasette/issues/122 | MDEyOklzc3VlQ29tbWVudDM0OTQwODIxNA== | simonw 9599 | 2017-12-05T19:08:04Z | 2017-12-05T19:08:04Z | OWNER | I think |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign JSON output, ditch jsono, offer variants controlled by parameter instead 275092453 | |
349860851 | https://github.com/simonw/datasette/issues/135#issuecomment-349860851 | https://api.github.com/repos/simonw/datasette/issues/135 | MDEyOklzc3VlQ29tbWVudDM0OTg2MDg1MQ== | simonw 9599 | 2017-12-07T04:37:59Z | 2017-12-07T04:37:59Z | OWNER | I'm testing this like so:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_search=x should work if used directly against a FTS virtual table 275179724 |
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