issue_comments
10,495 rows sorted by html_url
This data as json, CSV (advanced)
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 |
---|---|---|---|---|---|---|---|---|---|---|---|
712581994 | https://github.com/simonw/datasette/issues/1034#issuecomment-712581994 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMjU4MTk5NA== | simonw 9599 | 2020-10-20T04:33:28Z | 2020-10-20T04:33:28Z | OWNER | The datasette-render-binary plugin does this, which I really like - but without the different coloured fonts I'm not sure how readable it would be as just plain text: Really the goal here is to find the most human-friendly option, so that people looking at the output have a vague idea what's going on. That's why I'm not leaping at the chance to use base64. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
712582699 | https://github.com/simonw/datasette/issues/1034#issuecomment-712582699 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMjU4MjY5OQ== | simonw 9599 | 2020-10-20T04:36:04Z | 2020-10-20T04:36:14Z | OWNER | Asked for ideas on Twitter: https://twitter.com/simonw/status/1318409558805467136 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
713172901 | https://github.com/simonw/datasette/issues/1034#issuecomment-713172901 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMzE3MjkwMQ== | simonw 9599 | 2020-10-20T22:19:10Z | 2020-10-20T22:20:28Z | OWNER | I could go with the same format as
Problem with this is that it's ambiguous: if the ASCII characters But since representing binary data in CSV fundamentally doesn't make sense I'm not sure if that really matters. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
713174341 | https://github.com/simonw/datasette/issues/1034#issuecomment-713174341 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMzE3NDM0MQ== | simonw 9599 | 2020-10-20T22:22:53Z | 2020-10-20T22:23:14Z | OWNER | An even easier option: do what the Datasette UI does and output |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
713174690 | https://github.com/simonw/datasette/issues/1034#issuecomment-713174690 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMzE3NDY5MA== | simonw 9599 | 2020-10-20T22:23:50Z | 2020-10-20T22:23:50Z | OWNER | Or... default to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
713175741 | https://github.com/simonw/datasette/issues/1034#issuecomment-713175741 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMzE3NTc0MQ== | simonw 9599 | 2020-10-20T22:26:45Z | 2020-10-20T22:26:45Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
713176082 | https://github.com/simonw/datasette/issues/1034#issuecomment-713176082 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMzE3NjA4Mg== | simonw 9599 | 2020-10-20T22:27:33Z | 2020-10-20T22:27:33Z | OWNER | This feels good to me - it's consistent with how other features in Datasette work, and it means users who need the binary data in CSV (for whatever reason) can get it if they want to. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
713191819 | https://github.com/simonw/datasette/issues/1034#issuecomment-713191819 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMzE5MTgxOQ== | simonw 9599 | 2020-10-20T23:12:58Z | 2020-10-20T23:12:58Z | OWNER | Enzo has a great solution here: https://twitter.com/enzo_mdd/status/1318685442976436226
In #1036 I'm planning on adding a way for users to access BLOB data. I can include that URL in the CSV output. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
713277810 | https://github.com/simonw/datasette/issues/1034#issuecomment-713277810 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMzI3NzgxMA== | simonw 9599 | 2020-10-21T03:40:50Z | 2020-10-25T01:01:23Z | OWNER | Blocked awaiting #1036 (update: now unblocked) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
716077436 | https://github.com/simonw/datasette/issues/1034#issuecomment-716077436 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxNjA3NzQzNg== | simonw 9599 | 2020-10-25T01:08:35Z | 2020-10-25T01:08:42Z | OWNER | This is actually a bit tricky to implement, for a few reasons:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
716077508 | https://github.com/simonw/datasette/issues/1034#issuecomment-716077508 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxNjA3NzUwOA== | simonw 9599 | 2020-10-25T01:09:17Z | 2020-10-25T01:09:17Z | OWNER | Here's how those absolute |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
716077541 | https://github.com/simonw/datasette/issues/1034#issuecomment-716077541 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxNjA3NzU0MQ== | simonw 9599 | 2020-10-25T01:09:38Z | 2020-10-25T01:10:04Z | OWNER | I should turn |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
716078420 | https://github.com/simonw/datasette/issues/1034#issuecomment-716078420 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxNjA3ODQyMA== | simonw 9599 | 2020-10-25T01:20:00Z | 2020-10-25T01:20:00Z | OWNER | That documentation: https://docs.datasette.io/en/latest/internals.html#absolute-url-request-path |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
716078512 | https://github.com/simonw/datasette/issues/1034#issuecomment-716078512 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxNjA3ODUxMg== | simonw 9599 | 2020-10-25T01:21:11Z | 2020-10-25T01:21:11Z | OWNER | What should happen for CSV export of arbitrary SQL queries, where there's no obvious BLOB to link to? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
716078605 | https://github.com/simonw/datasette/issues/1034#issuecomment-716078605 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxNjA3ODYwNQ== | simonw 9599 | 2020-10-25T01:22:22Z | 2020-10-25T01:22:22Z | OWNER | For arbitrary CSV the only solution I can think of is to embed the base64 value. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
716078777 | https://github.com/simonw/datasette/issues/1034#issuecomment-716078777 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxNjA3ODc3Nw== | simonw 9599 | 2020-10-25T01:25:11Z | 2020-10-25T01:25:11Z | OWNER | SQLite actually has APIs that could help here: https://www.sqlite.org/c3ref/column_database_name.html - for any given SQL query they identify the origin/table/column that is the source of each resulting column. Those aren't exposed in the Python |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
719050754 | https://github.com/simonw/datasette/issues/1034#issuecomment-719050754 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxOTA1MDc1NA== | simonw 9599 | 2020-10-29T22:04:52Z | 2020-10-29T22:04:52Z | OWNER | I'm going to link to. the new |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
719094027 | https://github.com/simonw/datasette/issues/1034#issuecomment-719094027 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxOTA5NDAyNw== | simonw 9599 | 2020-10-30T00:11:17Z | 2020-10-30T00:11:17Z | OWNER | Demos: https://latest.datasette.io/fixtures/binary_data.csv?_size=max
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
712963959 | https://github.com/simonw/datasette/issues/1035#issuecomment-712963959 | https://api.github.com/repos/simonw/datasette/issues/1035 | MDEyOklzc3VlQ29tbWVudDcxMjk2Mzk1OQ== | simonw 9599 | 2020-10-20T16:11:25Z | 2020-10-20T16:11:25Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table(..., format="json") argument 725743755 | ||
712965574 | https://github.com/simonw/datasette/issues/1035#issuecomment-712965574 | https://api.github.com/repos/simonw/datasette/issues/1035 | MDEyOklzc3VlQ29tbWVudDcxMjk2NTU3NA== | simonw 9599 | 2020-10-20T16:13:57Z | 2020-10-20T16:13:57Z | OWNER | That |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table(..., format="json") argument 725743755 | |
712976314 | https://github.com/simonw/datasette/issues/1035#issuecomment-712976314 | https://api.github.com/repos/simonw/datasette/issues/1035 | MDEyOklzc3VlQ29tbWVudDcxMjk3NjMxNA== | simonw 9599 | 2020-10-20T16:21:42Z | 2020-10-20T16:21:42Z | OWNER | Makes me question if https://github.com/simonw/datasette/blob/66120a7a1cb592e8a21164cf537f62a4d7ab1dfc/datasette/utils/init.py#L216-L279 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table(..., format="json") argument 725743755 | |
713183306 | https://github.com/simonw/datasette/issues/1036#issuecomment-713183306 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzE4MzMwNg== | simonw 9599 | 2020-10-20T22:48:10Z | 2020-10-20T22:48:10Z | OWNER | Twitter thread: https://twitter.com/dancow/status/1318681053347840005 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713184374 | https://github.com/simonw/datasette/issues/1036#issuecomment-713184374 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzE4NDM3NA== | simonw 9599 | 2020-10-20T22:51:22Z | 2020-10-20T22:51:22Z | OWNER | From https://hackerone.com/reports/126197:
So you do have to be careful not to open accidental XSS holes with From that thread it looks like the solution is to add a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713185173 | https://github.com/simonw/datasette/issues/1036#issuecomment-713185173 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzE4NTE3Mw== | simonw 9599 | 2020-10-20T22:53:41Z | 2020-10-20T22:53:41Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713185871 | https://github.com/simonw/datasette/issues/1036#issuecomment-713185871 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzE4NTg3MQ== | simonw 9599 | 2020-10-20T22:55:36Z | 2020-10-20T22:55:36Z | OWNER | I can also use a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713186189 | https://github.com/simonw/datasette/issues/1036#issuecomment-713186189 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzE4NjE4OQ== | simonw 9599 | 2020-10-20T22:56:33Z | 2020-10-20T22:56:33Z | OWNER | I think this plus the binary-CSV stuff in #1034 will justify a dedicated section of the documentation to talk about how Datasette handles binary BLOB columns. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713226726 | https://github.com/simonw/datasette/issues/1036#issuecomment-713226726 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzIyNjcyNg== | simonw 9599 | 2020-10-21T01:04:25Z | 2020-10-21T01:04:25Z | OWNER | Extra security idea: a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713278349 | https://github.com/simonw/datasette/issues/1036#issuecomment-713278349 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzI3ODM0OQ== | simonw 9599 | 2020-10-21T03:42:29Z | 2020-10-21T03:42:29Z | OWNER | Possible URL for this: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713818178 | https://github.com/simonw/datasette/issues/1036#issuecomment-713818178 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzgxODE3OA== | simonw 9599 | 2020-10-21T19:15:38Z | 2020-10-21T19:16:34Z | OWNER | What should the suggested filename be? I think something that includes the table name, primary key and the name of the column would work. How about a file extension? I guess |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713818817 | https://github.com/simonw/datasette/issues/1036#issuecomment-713818817 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzgxODgxNw== | simonw 9599 | 2020-10-21T19:17:01Z | 2020-10-21T19:17:01Z | OWNER | Actually I like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713821656 | https://github.com/simonw/datasette/issues/1036#issuecomment-713821656 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzgyMTY1Ng== | simonw 9599 | 2020-10-21T19:22:45Z | 2020-10-21T19:41:48Z | OWNER | So for https://latest.datasette.io/fixtures/binary_data the BLOB download URLs would be:
With these headers:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713829629 | https://github.com/simonw/datasette/issues/1036#issuecomment-713829629 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzgyOTYyOQ== | simonw 9599 | 2020-10-21T19:38:43Z | 2020-10-21T19:38:43Z | OWNER | Should this work just for BLOB columns, or should it work for other columns too? For the moment I'm going to restrict it to BLOBs, since data from other columns is available through the UI whereas BLOB columns are not. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713830842 | https://github.com/simonw/datasette/issues/1036#issuecomment-713830842 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzgzMDg0Mg== | simonw 9599 | 2020-10-21T19:41:20Z | 2020-10-21T19:41:20Z | OWNER | Another useful demo database: https://datasette-render-images-demo.datasette.io/favicons/favicons - see https://datasette-render-images-demo.datasette.io/favicons/favicons.csv |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713899530 | https://github.com/simonw/datasette/issues/1036#issuecomment-713899530 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDcxMzg5OTUzMA== | simonw 9599 | 2020-10-21T21:55:00Z | 2020-10-21T21:55:00Z | OWNER | This code needs these permission checks: https://github.com/simonw/datasette/blob/bf82b3d6a605c9ddadd5fb739249dfe6defaf635/datasette/views/table.py#L911-L913 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
762385981 | https://github.com/simonw/datasette/issues/1036#issuecomment-762385981 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDc2MjM4NTk4MQ== | philshem 4997607 | 2021-01-18T17:32:13Z | 2021-01-18T17:34:50Z | NONE | Hi Simon Just finding this old issue regarding downloading blobs. Nice work! As a feature request, maybe it would be possible to assign a blob column as a certain data type (e.g. I guess the column blob-type definition could fit into this dropdown selection: Let me know if I should open a new issue with a feature request. (This could slowly go in the direction of displaying image blob-types in the browser.) Thanks for the great tool! edit: just reading the rest of the twitter thread: https://twitter.com/simonw/status/1318685933256855552 perhaps this is already possible in some form with the plugin datasette-media: https://github.com/simonw/datasette-media |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
762387875 | https://github.com/simonw/datasette/issues/1036#issuecomment-762387875 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDc2MjM4Nzg3NQ== | simonw 9599 | 2021-01-18T17:36:36Z | 2021-01-18T17:36:36Z | OWNER | As you can see, I'm pretty paranoid about serving content with You found Maybe even an output plugin? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
762391426 | https://github.com/simonw/datasette/issues/1036#issuecomment-762391426 | https://api.github.com/repos/simonw/datasette/issues/1036 | MDEyOklzc3VlQ29tbWVudDc2MjM5MTQyNg== | philshem 4997607 | 2021-01-18T17:45:00Z | 2021-01-18T17:45:00Z | NONE | It might be possible with this library: https://docs.python.org/3/library/imghdr.html quick test of the downloaded blob: ```
The output plugin would be cool. I'll look into making my first datasette plugin. I'm also imagining displaying the image in the browser -- but that would be a step 2. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make it possible to download BLOB data from the Datasette UI 725996507 | |
713267989 | https://github.com/simonw/datasette/issues/1037#issuecomment-713267989 | https://api.github.com/repos/simonw/datasette/issues/1037 | MDEyOklzc3VlQ29tbWVudDcxMzI2Nzk4OQ== | simonw 9599 | 2020-10-21T03:14:34Z | 2020-10-21T03:14:34Z | OWNER | This is particularly relevant to the That plugin also makes this harder to build, because the plugin inserts the map as the direct predecessor of the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add horizontal scrollbar to tables 726094754 | |
713268498 | https://github.com/simonw/datasette/issues/1037#issuecomment-713268498 | https://api.github.com/repos/simonw/datasette/issues/1037 | MDEyOklzc3VlQ29tbWVudDcxMzI2ODQ5OA== | simonw 9599 | 2020-10-21T03:15:44Z | 2020-10-21T03:15:44Z | OWNER | This may require updates to the column action menu JavaScript too, since it was not built with scrolling sideways in mind. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add horizontal scrollbar to tables 726094754 | |
713268905 | https://github.com/simonw/datasette/issues/1037#issuecomment-713268905 | https://api.github.com/repos/simonw/datasette/issues/1037 | MDEyOklzc3VlQ29tbWVudDcxMzI2ODkwNQ== | simonw 9599 | 2020-10-21T03:16:36Z | 2020-10-21T03:16:36Z | OWNER | Dupe of #998. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add horizontal scrollbar to tables 726094754 | |
713754844 | https://github.com/simonw/datasette/issues/1039#issuecomment-713754844 | https://api.github.com/repos/simonw/datasette/issues/1039 | MDEyOklzc3VlQ29tbWVudDcxMzc1NDg0NA== | simonw 9599 | 2020-10-21T17:58:27Z | 2020-10-21T17:58:27Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add an animation to the column actions menu 726687572 | ||
714682288 | https://github.com/simonw/datasette/issues/1041#issuecomment-714682288 | https://api.github.com/repos/simonw/datasette/issues/1041 | MDEyOklzc3VlQ29tbWVudDcxNDY4MjI4OA== | simonw 9599 | 2020-10-22T18:35:15Z | 2020-10-22T18:35:15Z | OWNER | @psychemedia said: https://github.com/simonw/datasette/issues/1033#issuecomment-714657366
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extra_js_urls and extra_css_urls should respect base_url setting 727627923 | |
714682825 | https://github.com/simonw/datasette/issues/1041#issuecomment-714682825 | https://api.github.com/repos/simonw/datasette/issues/1041 | MDEyOklzc3VlQ29tbWVudDcxNDY4MjgyNQ== | simonw 9599 | 2020-10-22T18:36:10Z | 2020-10-22T18:36:10Z | OWNER | I'll need to update these docs once there's a solution for this in place: https://docs.datasette.io/en/latest/custom_templates.html#serving-static-files |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extra_js_urls and extra_css_urls should respect base_url setting 727627923 | |
714683801 | https://github.com/simonw/datasette/issues/1041#issuecomment-714683801 | https://api.github.com/repos/simonw/datasette/issues/1041 | MDEyOklzc3VlQ29tbWVudDcxNDY4MzgwMQ== | simonw 9599 | 2020-10-22T18:37:47Z | 2020-10-22T18:37:47Z | OWNER | I think I'll do this by looking for URLs that start with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extra_js_urls and extra_css_urls should respect base_url setting 727627923 | |
719986800 | https://github.com/simonw/datasette/issues/1041#issuecomment-719986800 | https://api.github.com/repos/simonw/datasette/issues/1041 | MDEyOklzc3VlQ29tbWVudDcxOTk4NjgwMA== | simonw 9599 | 2020-10-31T20:49:28Z | 2020-10-31T20:49:28Z | OWNER | Implemented in a4ca26a2659d21779adf625183061d8879954c15 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extra_js_urls and extra_css_urls should respect base_url setting 727627923 | |
714868207 | https://github.com/simonw/datasette/issues/1042#issuecomment-714868207 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNDg2ODIwNw== | simonw 9599 | 2020-10-23T02:29:12Z | 2020-10-23T02:29:12Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | ||
714868624 | https://github.com/simonw/datasette/issues/1042#issuecomment-714868624 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNDg2ODYyNA== | simonw 9599 | 2020-10-23T02:30:27Z | 2020-10-23T02:30:37Z | OWNER | Maybe |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
714868867 | https://github.com/simonw/datasette/issues/1042#issuecomment-714868867 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNDg2ODg2Nw== | simonw 9599 | 2020-10-23T02:31:17Z | 2020-10-23T02:31:17Z | OWNER | I'll build this in conjunction with a plugin that supports editing templates stored in SQLite. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715490532 | https://github.com/simonw/datasette/issues/1042#issuecomment-715490532 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTQ5MDUzMg== | simonw 9599 | 2020-10-23T17:57:34Z | 2020-10-23T17:57:34Z | OWNER | A better version of this hook would be passed the database, table and query name depending on what was being rendered. This would require some re-thinking of how core templates are loaded, especially since I would want the templates considered comment to continue working. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715496859 | https://github.com/simonw/datasette/issues/1042#issuecomment-715496859 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTQ5Njg1OQ== | simonw 9599 | 2020-10-23T18:11:27Z | 2020-10-23T18:11:27Z | OWNER | When loading a template the filename is required, but you can optionally also send a set of extra arguments which the template loader can take into consideration. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715497419 | https://github.com/simonw/datasette/issues/1042#issuecomment-715497419 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTQ5NzQxOQ== | simonw 9599 | 2020-10-23T18:12:40Z | 2020-10-23T18:12:40Z | OWNER | Maybe the template loader can optionally return some extra context to pass to the template. That could be used to solve the templates considered comment. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715614971 | https://github.com/simonw/datasette/issues/1042#issuecomment-715614971 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTYxNDk3MQ== | simonw 9599 | 2020-10-23T22:20:14Z | 2020-10-23T22:23:51Z | OWNER | Alternative plugin hook idea:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715616757 | https://github.com/simonw/datasette/issues/1042#issuecomment-715616757 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTYxNjc1Nw== | simonw 9599 | 2020-10-23T22:27:28Z | 2020-10-23T22:27:28Z | OWNER | Almost all of the core template loading happens in the The one exception is the 404 handling code here: https://github.com/simonw/datasette/blob/976e5f74aae1fa0d406df6691dc8b5feeebe8788/datasette/app.py#L1034-L1042 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715617405 | https://github.com/simonw/datasette/issues/1042#issuecomment-715617405 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTYxNzQwNQ== | simonw 9599 | 2020-10-23T22:29:53Z | 2020-10-23T22:29:53Z | OWNER | Also consider that For that to work with the new plugin hook, custom template providing plugins will need a way to provide a list of templates that they know about. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715617830 | https://github.com/simonw/datasette/issues/1042#issuecomment-715617830 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTYxNzgzMA== | simonw 9599 | 2020-10-23T22:31:26Z | 2020-10-23T22:31:26Z | OWNER | So maybe this should be a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715618077 | https://github.com/simonw/datasette/issues/1042#issuecomment-715618077 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTYxODA3Nw== | simonw 9599 | 2020-10-23T22:32:24Z | 2020-10-23T22:32:24Z | OWNER | Another option: the first version of the plugin hook could accept only the template filename. Subsequent releases could add more arguments, since Pluggy allows new arguments to be added without breaking backwards compatibility. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715618333 | https://github.com/simonw/datasette/issues/1042#issuecomment-715618333 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTYxODMzMw== | simonw 9599 | 2020-10-23T22:33:24Z | 2020-10-23T22:33:24Z | OWNER | It wouldn't be a disaster if template-loading plugins were unable to hook into the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715643646 | https://github.com/simonw/datasette/issues/1042#issuecomment-715643646 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTY0MzY0Ng== | simonw 9599 | 2020-10-24T00:33:46Z | 2020-10-24T00:33:46Z | OWNER | I'd like to do this all in the This code is the problem: https://github.com/simonw/datasette/blob/d3e9b0aecb6f8e9b2befd9c654ccb7ce852db3e7/datasette/views/base.py#L114-L133 I think I'll fix this by moving the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715643763 | https://github.com/simonw/datasette/issues/1042#issuecomment-715643763 | https://api.github.com/repos/simonw/datasette/issues/1042 | MDEyOklzc3VlQ29tbWVudDcxNTY0Mzc2Mw== | simonw 9599 | 2020-10-24T00:34:31Z | 2020-10-24T00:34:52Z | OWNER | I'm going to rename that to template variable from |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for loading templates 727802081 | |
715641183 | https://github.com/simonw/datasette/issues/1045#issuecomment-715641183 | https://api.github.com/repos/simonw/datasette/issues/1045 | MDEyOklzc3VlQ29tbWVudDcxNTY0MTE4Mw== | simonw 9599 | 2020-10-24T00:19:29Z | 2020-10-24T00:19:29Z | OWNER | It turns out it already does that: But the documentation doesn't reflect that:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document that datasette.render_template(template, ...) also accepts a list of templates 728600048 | |
716066342 | https://github.com/simonw/datasette/issues/1046#issuecomment-716066342 | https://api.github.com/repos/simonw/datasette/issues/1046 | MDEyOklzc3VlQ29tbWVudDcxNjA2NjM0Mg== | simonw 9599 | 2020-10-24T23:02:07Z | 2020-10-24T23:02:25Z | OWNER | A download icon would be nice for the links in the table display. I like this one https://primer.style/octicons/download-24
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Link to blob downloads in the right places 728895193 | |
716071507 | https://github.com/simonw/datasette/issues/1046#issuecomment-716071507 | https://api.github.com/repos/simonw/datasette/issues/1046 | MDEyOklzc3VlQ29tbWVudDcxNjA3MTUwNw== | simonw 9599 | 2020-10-25T00:06:47Z | 2020-10-25T00:06:47Z | OWNER | I used https://primer.style/octicons/download-16 instead. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Link to blob downloads in the right places 728895193 | |
719994676 | https://github.com/simonw/datasette/issues/1047#issuecomment-719994676 | https://api.github.com/repos/simonw/datasette/issues/1047 | MDEyOklzc3VlQ29tbWVudDcxOTk5NDY3Ng== | simonw 9599 | 2020-10-31T22:11:25Z | 2020-10-31T22:11:25Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
A new section in the docs about how Datasette handles BLOB columns 728895233 | ||
1179756391 | https://github.com/simonw/datasette/issues/1048#issuecomment-1179756391 | https://api.github.com/repos/simonw/datasette/issues/1048 | IC_kwDOBm6k_c5GUadn | simonw 9599 | 2022-07-10T16:12:23Z | 2022-07-10T16:12:23Z | OWNER | Also related: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation and unit tests for urls.row() urls.row_blob() methods 728905098 | |
1179756689 | https://github.com/simonw/datasette/issues/1048#issuecomment-1179756689 | https://api.github.com/repos/simonw/datasette/issues/1048 | IC_kwDOBm6k_c5GUaiR | simonw 9599 | 2022-07-10T16:14:03Z | 2022-07-10T16:14:03Z | OWNER | I'm considering changing these functions to accept the ```python def row(self, database, table, row): ... def row_blob(self, database, table, row, column):
...
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation and unit tests for urls.row() urls.row_blob() methods 728905098 | |
1179757067 | https://github.com/simonw/datasette/issues/1048#issuecomment-1179757067 | https://api.github.com/repos/simonw/datasette/issues/1048 | IC_kwDOBm6k_c5GUaoL | simonw 9599 | 2022-07-10T16:16:19Z | 2022-07-10T16:16:19Z | OWNER | None of the potential solutions for that problem are particularly appealing:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation and unit tests for urls.row() urls.row_blob() methods 728905098 | |
1179757605 | https://github.com/simonw/datasette/issues/1048#issuecomment-1179757605 | https://api.github.com/repos/simonw/datasette/issues/1048 | IC_kwDOBm6k_c5GUawl | simonw 9599 | 2022-07-10T16:19:42Z | 2022-07-10T16:21:03Z | OWNER | If I do require Current hook: https://docs.datasette.io/en/latest/plugin_hooks.html#render-cell-row-value-column-table-database-datasette The hook is called in two places in the codebase - when rendering a table ( And when rendering an arbitrary query: Note that in that second one |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation and unit tests for urls.row() urls.row_blob() methods 728905098 | |
1179757912 | https://github.com/simonw/datasette/issues/1048#issuecomment-1179757912 | https://api.github.com/repos/simonw/datasette/issues/1048 | IC_kwDOBm6k_c5GUa1Y | simonw 9599 | 2022-07-10T16:21:38Z | 2022-07-10T16:21:38Z | OWNER | I think the best way to do this is to change the method signatures to: ```python def row(self, database, table, row, pks): ... def row_blob(self, database, table, row, pks, column): ... ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation and unit tests for urls.row() urls.row_blob() methods 728905098 | |
1179758180 | https://github.com/simonw/datasette/issues/1048#issuecomment-1179758180 | https://api.github.com/repos/simonw/datasette/issues/1048 | IC_kwDOBm6k_c5GUa5k | simonw 9599 | 2022-07-10T16:23:34Z | 2022-07-10T16:23:57Z | OWNER | But do I need to pass the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation and unit tests for urls.row() urls.row_blob() methods 728905098 | |
719996693 | https://github.com/simonw/datasette/issues/1048#issuecomment-719996693 | https://api.github.com/repos/simonw/datasette/issues/1048 | MDEyOklzc3VlQ29tbWVudDcxOTk5NjY5Mw== | simonw 9599 | 2020-10-31T22:32:09Z | 2022-07-10T16:22:48Z | OWNER | The This feels like it should be improved before I turn it into a documented API. (Note that this API deals with a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation and unit tests for urls.row() urls.row_blob() methods 728905098 | |
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 | ||
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 | |
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 | |
716174203 | https://github.com/simonw/datasette/issues/1050#issuecomment-716174203 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxNjE3NDIwMw== | simonw 9599 | 2020-10-25T16:27:39Z | 2020-10-25T16:53:27Z | OWNER | Idea: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
716175236 | https://github.com/simonw/datasette/issues/1050#issuecomment-716175236 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxNjE3NTIzNg== | simonw 9599 | 2020-10-25T16:35:20Z | 2020-10-25T16:35:20Z | OWNER | This is clearly a better solution than the one I implemented in #1040 - I don't have to add a new route, I don't have to implement permission checks, it reuses mechanism. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718317997 | https://github.com/simonw/datasette/issues/1050#issuecomment-718317997 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODMxNzk5Nw== | thadk 283343 | 2020-10-29T02:24:50Z | 2020-10-29T02:29:24Z | NONE | Unsolicited feedback for an unreleased feature of the current unreleased GitHub version (I casually wanted to access a blob row) – the existing #1036 route doesn't support special characters in database or table names (e.g. Also I got this error/crash with my blob and wasn't able to get the file: https://gist.github.com/thadk/28ac32af0e88747ce9056c90b0b19d34 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718342036 | https://github.com/simonw/datasette/issues/1050#issuecomment-718342036 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODM0MjAzNg== | simonw 9599 | 2020-10-29T03:49:57Z | 2020-10-29T03:49:57Z | OWNER | @thadk from that error it looks like the problem may have been that you had a BLOB column containing a |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718346019 | https://github.com/simonw/datasette/issues/1050#issuecomment-718346019 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODM0NjAxOQ== | simonw 9599 | 2020-10-29T04:05:07Z | 2020-10-29T04:05:07Z | OWNER | Yes, confirmed - this is a bug where if the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718980944 | https://github.com/simonw/datasette/issues/1050#issuecomment-718980944 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODk4MDk0NA== | simonw 9599 | 2020-10-29T19:46:19Z | 2020-10-29T19:46:19Z | OWNER | Had an idea in https://github.com/simonw/datasette/issues/1051#issuecomment-718980659
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718987852 | https://github.com/simonw/datasette/issues/1050#issuecomment-718987852 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODk4Nzg1Mg== | simonw 9599 | 2020-10-29T20:00:32Z | 2020-10-29T20:00:32Z | OWNER | The reason I like the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718989895 | https://github.com/simonw/datasette/issues/1050#issuecomment-718989895 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODk4OTg5NQ== | simonw 9599 | 2020-10-29T20:04:15Z | 2020-10-29T20:04:15Z | OWNER | I'll use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
719001701 | https://github.com/simonw/datasette/issues/1050#issuecomment-719001701 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxOTAwMTcwMQ== | simonw 9599 | 2020-10-29T20:26:44Z | 2020-10-29T20:26:44Z | OWNER | I'll do the rest of the work on this in the pull request #1061. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
719021514 | https://github.com/simonw/datasette/issues/1050#issuecomment-719021514 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxOTAyMTUxNA== | simonw 9599 | 2020-10-29T21:05:08Z | 2020-10-29T21:05:08Z | OWNER | Idea: what if Datasette had a custom SQLite function that could be used to generate URLs to the row-level BLOB download for a value? Then custom SQL query authors could use that function to link to the relevant content. This could be expanded to exposing other |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
716204090 | https://github.com/simonw/datasette/issues/1051#issuecomment-716204090 | https://api.github.com/repos/simonw/datasette/issues/1051 | MDEyOklzc3VlQ29tbWVudDcxNjIwNDA5MA== | simonw 9599 | 2020-10-25T20:06:42Z | 2020-10-25T20:06:42Z | OWNER | Providing a binary download link here is actually extremely difficult. The problem is that the SQL query itself represents data that can change from one moment to the next. It's no good showing a "Binary: 55 bytes" message that links to that same SQL query but with a So providing a download link risks being misleading. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better display of binary data on arbitrary query results page 729096595 | |
716204271 | https://github.com/simonw/datasette/issues/1051#issuecomment-716204271 | https://api.github.com/repos/simonw/datasette/issues/1051 | MDEyOklzc3VlQ29tbWVudDcxNjIwNDI3MQ== | simonw 9599 | 2020-10-25T20:08:04Z | 2020-10-25T20:08:04Z | OWNER | This is bad though, because if I want to provide binary data in CSV as requested in #1034 I need some way of providing that data. Which suggests to me that the base64 option is the only one that can make sense for arbitrary SQL queries represented as CSV. Download links won't work. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better display of binary data on arbitrary query results page 729096595 | |
716681167 | https://github.com/simonw/datasette/issues/1051#issuecomment-716681167 | https://api.github.com/repos/simonw/datasette/issues/1051 | MDEyOklzc3VlQ29tbWVudDcxNjY4MTE2Nw== | simonw 9599 | 2020-10-26T16:51:15Z | 2020-10-26T16:51:15Z | OWNER | Crazy idea: generate a signed URL containing a base64 of the gzip of the binary content (to try and reduce size). No: this will blow through URL limits in various hosting providers and possibly even browsers. It could be made to work a little bit more reliably with some extra JavaScript that turns it into a download on the browser-side, but that would be hideously complicated. Also the signed bit doesn't prevent people from generating SQL queries that generate nasty binary blobs for download. I'm beginning to think that restricting this feature to just table view, not query view, is a better idea. Query view can still get at the binary using JSON and base64. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better display of binary data on arbitrary query results page 729096595 | |
716681602 | https://github.com/simonw/datasette/issues/1051#issuecomment-716681602 | https://api.github.com/repos/simonw/datasette/issues/1051 | MDEyOklzc3VlQ29tbWVudDcxNjY4MTYwMg== | simonw 9599 | 2020-10-26T16:51:58Z | 2020-10-26T16:51:58Z | OWNER | I still need to improve the current binary display on the query page though, where it outputs a Python |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better display of binary data on arbitrary query results page 729096595 | |
718980659 | https://github.com/simonw/datasette/issues/1051#issuecomment-718980659 | https://api.github.com/repos/simonw/datasette/issues/1051 | MDEyOklzc3VlQ29tbWVudDcxODk4MDY1OQ== | simonw 9599 | 2020-10-29T19:45:42Z | 2020-10-29T19:45:42Z | OWNER | OK, alternative idea. The For an arbitrary SQL query, how about if I link to this?
Then the output renderer loops through all of the If no matches are found it can show an error message telling you that the link has expired (presumably because the underlying database has changed since the link was generated). I think this might be the best solution to the problem. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better display of binary data on arbitrary query results page 729096595 | |
719053669 | https://github.com/simonw/datasette/issues/1051#issuecomment-719053669 | https://api.github.com/repos/simonw/datasette/issues/1051 | MDEyOklzc3VlQ29tbWVudDcxOTA1MzY2OQ== | simonw 9599 | 2020-10-29T22:12:16Z | 2020-10-29T22:12:16Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better display of binary data on arbitrary query results page 729096595 | ||
716265360 | https://github.com/simonw/datasette/issues/1052#issuecomment-716265360 | https://api.github.com/repos/simonw/datasette/issues/1052 | MDEyOklzc3VlQ29tbWVudDcxNjI2NTM2MA== | simonw 9599 | 2020-10-26T02:17:58Z | 2020-10-26T02:17:58Z | OWNER | The default z-index values for Leaflet are defined here: https://github.com/Leaflet/Leaflet/blob/b346bb8bf7bb80899baa1f4fc1536bae58e7e3e6/dist/leaflet.css#L81-L91 ```css .leaflet-pane { z-index: 400; } .leaflet-tile-pane { z-index: 200; } .leaflet-overlay-pane { z-index: 400; } .leaflet-shadow-pane { z-index: 500; } .leaflet-marker-pane { z-index: 600; } .leaflet-tooltip-pane { z-index: 650; } .leaflet-popup-pane { z-index: 700; } .leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg { z-index: 200; }
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Column action menu overlapped by Leaflet maps 729183332 | |
718976679 | https://github.com/simonw/datasette/issues/1053#issuecomment-718976679 | https://api.github.com/repos/simonw/datasette/issues/1053 | MDEyOklzc3VlQ29tbWVudDcxODk3NjY3OQ== | simonw 9599 | 2020-10-29T19:37:57Z | 2020-10-29T19:37:57Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document recommendations for plugin authors to design URLs 729604838 | ||
717050585 | https://github.com/simonw/datasette/issues/1054#issuecomment-717050585 | https://api.github.com/repos/simonw/datasette/issues/1054 | MDEyOklzc3VlQ29tbWVudDcxNzA1MDU4NQ== | simonw 9599 | 2020-10-27T07:38:50Z | 2020-10-27T07:38:50Z | OWNER | Maybe imitate how Django does this, e.g. https://github.com/django/django/commit/6b9b2af7352908d40ca4d31bdb1b80c013cab29a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch from versioneer to concrete version in setup.py 730199464 | |
717051707 | https://github.com/simonw/datasette/issues/1054#issuecomment-717051707 | https://api.github.com/repos/simonw/datasette/issues/1054 | MDEyOklzc3VlQ29tbWVudDcxNzA1MTcwNw== | simonw 9599 | 2020-10-27T07:41:21Z | 2020-10-27T07:41:21Z | OWNER | Essentially it's this problem: https://github.com/python-versioneer/python-versioneer/issues/140 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch from versioneer to concrete version in setup.py 730199464 | |
717531272 | https://github.com/simonw/datasette/issues/1057#issuecomment-717531272 | https://api.github.com/repos/simonw/datasette/issues/1057 | MDEyOklzc3VlQ29tbWVudDcxNzUzMTI3Mg== | simonw 9599 | 2020-10-27T20:51:09Z | 2020-10-27T20:51:09Z | OWNER | That works! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
--cors should enable /fixtures.db CORS access 730797787 | |
717527606 | https://github.com/simonw/datasette/issues/1058#issuecomment-717527606 | https://api.github.com/repos/simonw/datasette/issues/1058 | MDEyOklzc3VlQ29tbWVudDcxNzUyNzYwNg== | simonw 9599 | 2020-10-27T20:44:06Z | 2020-10-27T20:44:06Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database download should implement cascading permissions 730802994 | ||
504879510 | https://github.com/simonw/datasette/issues/106#issuecomment-504879510 | https://api.github.com/repos/simonw/datasette/issues/106 | MDEyOklzc3VlQ29tbWVudDUwNDg3OTUxMA== | simonw 9599 | 2019-06-24T06:42:33Z | 2019-06-24T06:42:33Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document how pagination works 274315193 | ||
1068327874 | https://github.com/simonw/datasette/issues/1062#issuecomment-1068327874 | https://api.github.com/repos/simonw/datasette/issues/1062 | IC_kwDOBm6k_c4_rWPC | simonw 9599 | 2022-03-15T18:33:49Z | 2022-03-15T18:33:49Z | OWNER | I can get regular |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor .csv to be an output renderer - and teach register_output_renderer to stream all rows 732674148 | |
1260829829 | https://github.com/simonw/datasette/issues/1062#issuecomment-1260829829 | https://api.github.com/repos/simonw/datasette/issues/1062 | IC_kwDOBm6k_c5LJryF | fgregg 536941 | 2022-09-28T12:27:19Z | 2022-09-28T12:27:19Z | CONTRIBUTOR | for teaching
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor .csv to be an output renderer - and teach register_output_renderer to stream all rows 732674148 | |
1260909128 | https://github.com/simonw/datasette/issues/1062#issuecomment-1260909128 | https://api.github.com/repos/simonw/datasette/issues/1062 | IC_kwDOBm6k_c5LJ_JI | fgregg 536941 | 2022-09-28T13:22:53Z | 2022-09-28T14:09:54Z | CONTRIBUTOR | if you went this route:
then i wonder if this was why you were thinking this feature would need a dedicated connection? reading more, there's no real limit i can find on the number of active cursors (or more precisely active prepared statements objects, because sqlite doesn't really have cursors). maybe something like this would be okay?
this seems quite weird that there's not more of limit of the number of active prepared statements, but i haven't been able to find one. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor .csv to be an output renderer - and teach register_output_renderer to stream all rows 732674148 |
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