issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
issue >30
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- await datasette.client.get(path) mechanism for executing internal requests 33
- Ability to sort (and paginate) by column 31
- link_or_copy_directory() error - Invalid cross-device link 28
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 27
- Ability for a canned query to write to the database 26
- table.transform() method for advanced alter table 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- Redesign register_output_renderer callback 24
- Datasette Plugins 22
- table.extract(...) method and "sqlite-utils extract" command 21
- Redesign default .json format 20
- "flash messages" mechanism 20
- Move CI to GitHub Issues 20
- Handle spatialite geometry columns better 19
- ?sort=colname~numeric to sort by by column cast to real 19
- Ability to ship alpha and beta releases 18
- Magic parameters for canned queries 18
- datasette.client internal requests mechanism 18
- Facets 16
- Support "allow" block on root, databases and tables, not just queries 16
- Database page loads too slowly with many large tables (due to table counts) 16
- Action menu for table columns 16
- Bug: Sort by column with NULL in next_page URL 15
- Support cross-database joins 15
- The ".upsert()" method is misnamed 15
- --dirs option for scanning directories for SQLite databases 15
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
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 | |
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 | |
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 | |
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 | |
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 | |
713171742 | https://github.com/simonw/datasette/issues/741#issuecomment-713171742 | https://api.github.com/repos/simonw/datasette/issues/741 | MDEyOklzc3VlQ29tbWVudDcxMzE3MTc0Mg== | simonw 9599 | 2020-10-20T22:16:25Z | 2020-10-20T22:16:25Z | OWNER | See also #992 which will rename |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Replace "datasette publish --extra-options" with "--setting" 607223136 | |
713170979 | https://github.com/simonw/datasette/issues/262#issuecomment-713170979 | https://api.github.com/repos/simonw/datasette/issues/262 | MDEyOklzc3VlQ29tbWVudDcxMzE3MDk3OQ== | simonw 9599 | 2020-10-20T22:14:37Z | 2020-10-20T22:14:37Z | OWNER | I think it's worth having a plugin hook for this - it can be same hook that is used internally. Maybe Things like suggested facets will become |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add ?_extra= mechanism for requesting extra properties in JSON 323658641 | |
713170284 | https://github.com/simonw/datasette/issues/262#issuecomment-713170284 | https://api.github.com/repos/simonw/datasette/issues/262 | MDEyOklzc3VlQ29tbWVudDcxMzE3MDI4NA== | simonw 9599 | 2020-10-20T22:13:01Z | 2020-10-20T22:13:01Z | OWNER | In the documentation for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add ?_extra= mechanism for requesting extra properties in JSON 323658641 | |
712986115 | https://github.com/simonw/datasette/issues/782#issuecomment-712986115 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDcxMjk4NjExNQ== | simonw 9599 | 2020-10-20T16:28:46Z | 2020-10-20T16:29:51Z | OWNER | I think this all comes down to how the Extras need to be able to execute additional SQL, since that would solve the problem we have now where the expensive "suggested facets" code runs on all |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
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 | |
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 | |
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 | ||
712962517 | https://github.com/simonw/datasette/issues/1026#issuecomment-712962517 | https://api.github.com/repos/simonw/datasette/issues/1026 | MDEyOklzc3VlQ29tbWVudDcxMjk2MjUxNw== | simonw 9599 | 2020-10-20T16:09:12Z | 2020-10-20T16:09:12Z | OWNER | That Maybe |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How should datasette.client interact with base_url 722738988 | |
712959034 | https://github.com/simonw/datasette/issues/1026#issuecomment-712959034 | https://api.github.com/repos/simonw/datasette/issues/1026 | MDEyOklzc3VlQ29tbWVudDcxMjk1OTAzNA== | simonw 9599 | 2020-10-20T16:03:33Z | 2020-10-20T16:03:55Z | OWNER | Reconsidering this: I think the The clincher on this is when I went to add a section to the But there's a problem: to handle table name escaping users are likely to want to use
This risks adding the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How should datasette.client interact with base_url 722738988 | |
712855389 | https://github.com/simonw/datasette/issues/991#issuecomment-712855389 | https://api.github.com/repos/simonw/datasette/issues/991 | MDEyOklzc3VlQ29tbWVudDcxMjg1NTM4OQ== | furilo 24740 | 2020-10-20T13:36:41Z | 2020-10-20T13:36:41Z | NONE | Here is one quick sketch (done in Figma :P) for an idea: a possible filter to switch between showing all tables from all databases, or grouping tables by database. (the switch is interactive) When only 1 database: https://www.figma.com/proto/BjFrMroEtmVx6EeRjvSrox/Datasette-test?node-id=1%3A162&viewport=536%2C348%2C0.5&scaling=min-zoom Is this is useful, I can send some more suggestions/sketches. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign application homepage 714377268 | |
712607608 | https://github.com/simonw/datasette/issues/1023#issuecomment-712607608 | https://api.github.com/repos/simonw/datasette/issues/1023 | MDEyOklzc3VlQ29tbWVudDcxMjYwNzYwOA== | simonw 9599 | 2020-10-20T05:47:42Z | 2020-10-20T05:47:42Z | OWNER | Requested alpha testers in https://github.com/simonw/datasette/issues/838#issuecomment-712604364 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix issues relating to base_url 722673818 | |
712607227 | https://github.com/simonw/datasette/issues/1026#issuecomment-712607227 | https://api.github.com/repos/simonw/datasette/issues/1026 | MDEyOklzc3VlQ29tbWVudDcxMjYwNzIyNw== | simonw 9599 | 2020-10-20T05:46:44Z | 2020-10-20T05:46:44Z | OWNER | We have a solution for this now: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How should datasette.client interact with base_url 722738988 | |
712604541 | https://github.com/simonw/datasette/issues/1023#issuecomment-712604541 | https://api.github.com/repos/simonw/datasette/issues/1023 | MDEyOklzc3VlQ29tbWVudDcxMjYwNDU0MQ== | simonw 9599 | 2020-10-20T05:39:44Z | 2020-10-20T05:39:44Z | OWNER | Here's the alpha with most of this work ready for people to preview: https://github.com/simonw/datasette/releases/tag/0.51a0 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix issues relating to base_url 722673818 | |
712604364 | https://github.com/simonw/datasette/issues/838#issuecomment-712604364 | https://api.github.com/repos/simonw/datasette/issues/838 | MDEyOklzc3VlQ29tbWVudDcxMjYwNDM2NA== | simonw 9599 | 2020-10-20T05:39:15Z | 2020-10-20T05:39:15Z | OWNER | OK, I've made a ton of improvements to how the @tsibley @tballison @ChristopherWilks I'd really appreciate your help testing this alpha! You can install it with:
It should work with just |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Incorrect URLs when served behind a proxy with base_url set 637395097 | |
712597762 | https://github.com/simonw/datasette/issues/865#issuecomment-712597762 | https://api.github.com/repos/simonw/datasette/issues/865 | MDEyOklzc3VlQ29tbWVudDcxMjU5Nzc2Mg== | simonw 9599 | 2020-10-20T05:22:59Z | 2020-10-20T05:22:59Z | OWNER | OK, this is definitely working now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base_url doesn't seem to work when adding criteria and clicking "apply" 644582921 | |
712593790 | https://github.com/simonw/datasette/issues/1025#issuecomment-712593790 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcxMjU5Mzc5MA== | simonw 9599 | 2020-10-20T05:12:36Z | 2020-10-20T05:12:36Z | OWNER | I'm going to leave the cookies code setting cookies to default to the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
712590398 | https://github.com/simonw/datasette/issues/782#issuecomment-712590398 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDcxMjU5MDM5OA== | simonw 9599 | 2020-10-20T05:03:46Z | 2020-10-20T05:04:09Z | OWNER | OK, https://latest-with-plugins.datasette.io/ is running that now - e.g. https://latest-with-plugins.datasette.io/fixtures/roadside_attractions.json-preview or https://latest-with-plugins.datasette.io/fixtures/compound_three_primary_keys.json-preview
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
712585921 | https://github.com/simonw/datasette/issues/782#issuecomment-712585921 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDcxMjU4NTkyMQ== | simonw 9599 | 2020-10-20T04:48:01Z | 2020-10-20T04:48:01Z | OWNER | I'll update |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
712585687 | https://github.com/simonw/datasette/issues/782#issuecomment-712585687 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDcxMjU4NTY4Nw== | simonw 9599 | 2020-10-20T04:47:02Z | 2020-10-20T04:47:12Z | OWNER | Great point about CORS, I hadn't considered that. I think I'm going to keep the
So three keys: |
{ "total_count": 3, "+1": 3, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
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 | |
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 | |
712580976 | https://github.com/simonw/datasette/issues/1034#issuecomment-712580976 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMjU4MDk3Ng== | simonw 9599 | 2020-10-20T04:29:23Z | 2020-10-20T04:29:23Z | OWNER | Most obvious option is base64. Any other potential solutions I'm missing? |
{ "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 | |
712579674 | https://github.com/simonw/datasette/issues/1025#issuecomment-712579674 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcxMjU3OTY3NA== | simonw 9599 | 2020-10-20T04:24:10Z | 2020-10-20T04:24:10Z | OWNER | Changed my mind, |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
712569695 | https://github.com/simonw/datasette/issues/782#issuecomment-712569695 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDcxMjU2OTY5NQ== | carlmjohnson 222245 | 2020-10-20T03:45:48Z | 2020-10-20T03:46:14Z | NONE | I vote against headers. It has a lot of strikes against it: poor discoverability, new developers often don’t know how to use them, makes CORS harder, makes it hard to use eg with JQ, needs ad hoc specification for each bit of metadata, etc. The only advantage of headers is that you don’t need to do .rows, but that’s actually good as a data validation step anyway—if .rows is missing assume there’s an error and do your error handling path instead of parsing the rest. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
712481127 | https://github.com/simonw/datasette/issues/1025#issuecomment-712481127 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MTEyNw== | simonw 9599 | 2020-10-19T22:40:37Z | 2020-10-20T01:21:36Z | OWNER | Was blocked on #904 - now unblocked. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
712529413 | https://github.com/simonw/datasette/issues/1033#issuecomment-712529413 | https://api.github.com/repos/simonw/datasette/issues/1033 | MDEyOklzc3VlQ29tbWVudDcxMjUyOTQxMw== | simonw 9599 | 2020-10-20T01:21:12Z | 2020-10-20T01:21:12Z | OWNER | Also refs #1023 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.static_plugins(...) method 725099777 | |
712525557 | https://github.com/simonw/datasette/issues/1025#issuecomment-712525557 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcxMjUyNTU1Nw== | simonw 9599 | 2020-10-20T01:07:02Z | 2020-10-20T01:07:02Z | OWNER | I fixed the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
712524699 | https://github.com/simonw/datasette/issues/904#issuecomment-712524699 | https://api.github.com/repos/simonw/datasette/issues/904 | MDEyOklzc3VlQ29tbWVudDcxMjUyNDY5OQ== | simonw 9599 | 2020-10-20T01:04:12Z | 2020-10-20T01:04:12Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates 663228985 | ||
712483066 | https://github.com/simonw/datasette/issues/904#issuecomment-712483066 | https://api.github.com/repos/simonw/datasette/issues/904 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MzA2Ng== | simonw 9599 | 2020-10-19T22:46:48Z | 2020-10-19T22:46:48Z | OWNER | OK, I'm committing to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates 663228985 | |
712482504 | https://github.com/simonw/datasette/issues/1020#issuecomment-712482504 | https://api.github.com/repos/simonw/datasette/issues/1020 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MjUwNA== | simonw 9599 | 2020-10-19T22:45:01Z | 2020-10-19T22:45:01Z | OWNER | I'm having trouble coming up with the syntax for this. Here's one option:
We're essentially combining that request with the other arguments passed to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Method for datasette.client() to forward on authentication 721068929 | |
712482015 | https://github.com/simonw/datasette/issues/1020#issuecomment-712482015 | https://api.github.com/repos/simonw/datasette/issues/1020 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MjAxNQ== | simonw 9599 | 2020-10-19T22:43:24Z | 2020-10-19T22:43:24Z | OWNER | ... unless I want to support authentication mechanisms that work based on incoming IP address instead, in which case there's an argument for copying more over from the incoming request. Tailscale is a good example of a system where authentication based on IP address can actually work well, so this is worth doing. Also, there might be authentication mechanisms which work by setting a custom header on the incoming request (not to mention the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Method for datasette.client() to forward on authentication 721068929 | |
712481568 | https://github.com/simonw/datasette/issues/1020#issuecomment-712481568 | https://api.github.com/repos/simonw/datasette/issues/1020 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MTU2OA== | simonw 9599 | 2020-10-19T22:41:59Z | 2020-10-19T22:41:59Z | OWNER | It turns out this works just fine:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Method for datasette.client() to forward on authentication 721068929 | |
712480866 | https://github.com/simonw/datasette/issues/1028#issuecomment-712480866 | https://api.github.com/repos/simonw/datasette/issues/1028 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MDg2Ng== | simonw 9599 | 2020-10-19T22:39:51Z | 2020-10-19T22:39:51Z | OWNER | Documentation: https://docs.datasette.io/en/latest/spatialite.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
--load-extension=spatialite shortcut 723803777 | |
712397537 | https://github.com/simonw/datasette/issues/1032#issuecomment-712397537 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM5NzUzNw== | saulpw 236498 | 2020-10-19T19:37:55Z | 2020-10-19T19:37:55Z | NONE | python-dateutil is awesome, but it can only guess at one date at a time. So if you have a column of dates that are (presumably) in the same format, it can't use the full set of dates to deduce the format. Also, once it has parsed a date, you can't get the format it used, whether to parse or render other dates. These limitations prevent it from being a silver bullet for date parsing, though they're not enough for me to stop using it! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712367285 | https://github.com/simonw/datasette/issues/1032#issuecomment-712367285 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NzI4NQ== | simonw 9599 | 2020-10-19T18:39:32Z | 2020-10-19T18:39:32Z | OWNER | https://github.com/digital-land/brownfield-land-collection/blob/a09ddf9960a6af59e72dc02448f7b645e59bf227/bin/harmonise.py#L217-L247 is a beautiful example of this problem. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712365439 | https://github.com/simonw/datasette/issues/1032#issuecomment-712365439 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NTQzOQ== | simonw 9599 | 2020-10-19T18:35:50Z | 2020-10-19T18:37:57Z | OWNER | Maybe I don't need to add
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712365236 | https://github.com/simonw/datasette/issues/1032#issuecomment-712365236 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NTIzNg== | simonw 9599 | 2020-10-19T18:35:25Z | 2020-10-19T18:35:25Z | OWNER | Since I'm dealing with tables of data I usually have a whole column of examples, so heuristics that check for numbers-greater-than-12 could actually work well for many cases. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712364532 | https://github.com/simonw/datasette/issues/1032#issuecomment-712364532 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NDUzMg== | simonw 9599 | 2020-10-19T18:34:10Z | 2020-10-19T18:34:10Z | OWNER | Lots of great example date data in https://biglocal.datasettes.com/COVID_WARN_Notices |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712364317 | https://github.com/simonw/datasette/issues/1032#issuecomment-712364317 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NDMxNw== | simonw 9599 | 2020-10-19T18:33:42Z | 2020-10-19T18:33:42Z | OWNER | Related challenge: timezones. I think I'll punt on those for the moment and just concentrate on dates, but I should keep them in mind. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712363825 | https://github.com/simonw/datasette/issues/1032#issuecomment-712363825 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2MzgyNQ== | simonw 9599 | 2020-10-19T18:32:43Z | 2020-10-19T18:32:43Z | OWNER | Horrible thought: I bet there is data out there that uses more than one date format in the same table! So this needs to be exposed as a visible per-column setting. Column action menu can help here, although it's not yet the full solution because it isn't yet visible on mobile. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712363344 | https://github.com/simonw/datasette/issues/1032#issuecomment-712363344 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2MzM0NA== | simonw 9599 | 2020-10-19T18:31:46Z | 2020-10-19T18:31:46Z | OWNER | As always with dates, the challenge is America. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712355877 | https://github.com/simonw/datasette/issues/904#issuecomment-712355877 | https://api.github.com/repos/simonw/datasette/issues/904 | MDEyOklzc3VlQ29tbWVudDcxMjM1NTg3Nw== | simonw 9599 | 2020-10-19T18:17:22Z | 2020-10-19T18:17:22Z | OWNER | I quite like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates 663228985 | |
712355706 | https://github.com/simonw/datasette/issues/904#issuecomment-712355706 | https://api.github.com/repos/simonw/datasette/issues/904 | MDEyOklzc3VlQ29tbWVudDcxMjM1NTcwNg== | simonw 9599 | 2020-10-19T18:17:03Z | 2020-10-19T18:17:03Z | OWNER | Options:
- |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates 663228985 | |
712354600 | https://github.com/simonw/datasette/issues/904#issuecomment-712354600 | https://api.github.com/repos/simonw/datasette/issues/904 | MDEyOklzc3VlQ29tbWVudDcxMjM1NDYwMA== | simonw 9599 | 2020-10-19T18:15:03Z | 2020-10-19T18:15:39Z | OWNER | Related: #1026 (How should datasette.client interact with base_url) Also this comment from https://github.com/simonw/datasette/issues/943#issuecomment-675752436
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates 663228985 | |
712324077 | https://github.com/simonw/datasette/issues/904#issuecomment-712324077 | https://api.github.com/repos/simonw/datasette/issues/904 | MDEyOklzc3VlQ29tbWVudDcxMjMyNDA3Nw== | simonw 9599 | 2020-10-19T17:39:38Z | 2020-10-19T17:39:38Z | OWNER | If I do these methods I think this should be available on the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates 663228985 | |
710487083 | https://github.com/simonw/datasette/issues/904#issuecomment-710487083 | https://api.github.com/repos/simonw/datasette/issues/904 | MDEyOklzc3VlQ29tbWVudDcxMDQ4NzA4Mw== | simonw 9599 | 2020-10-16T19:34:10Z | 2020-10-19T17:39:04Z | OWNER | Alternatively, I could expose a single object that knows how to construct all kinds of URLs. Something like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates 663228985 | |
712320103 | https://github.com/simonw/datasette/issues/1027#issuecomment-712320103 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcxMjMyMDEwMw== | simonw 9599 | 2020-10-19T17:35:04Z | 2020-10-19T17:35:04Z | OWNER | Still need to configure proxying though. https://www.netnea.com/cms/apache-tutorial-9_setting-up-a-reverse-proxy/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 | |
712317638 | https://github.com/simonw/datasette/issues/991#issuecomment-712317638 | https://api.github.com/repos/simonw/datasette/issues/991 | MDEyOklzc3VlQ29tbWVudDcxMjMxNzYzOA== | simonw 9599 | 2020-10-19T17:30:56Z | 2020-10-19T17:30:56Z | OWNER | https://biglocal.datasettes.com/ is one of my larger Datasettes in terms of number of databases. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign application homepage 714377268 | |
712266834 | https://github.com/dogsheep/dogsheep-beta/issues/29#issuecomment-712266834 | https://api.github.com/repos/dogsheep/dogsheep-beta/issues/29 | MDEyOklzc3VlQ29tbWVudDcxMjI2NjgzNA== | simonw 9599 | 2020-10-19T16:01:23Z | 2020-10-19T16:01:23Z | MEMBER | Might just be a documented pattern for how to configure this in YAML templates. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add search highlighting snippets 724759588 | |
711407607 | https://github.com/simonw/datasette/pull/1030#issuecomment-711407607 | https://api.github.com/repos/simonw/datasette/issues/1030 | MDEyOklzc3VlQ29tbWVudDcxMTQwNzYwNw== | codecov[bot] 22429695 | 2020-10-18T19:31:31Z | 2020-10-19T08:01:51Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1030 +/-==========================================
- Coverage 84.63% 84.53% -0.11% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/utils/__init__.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make `package` command deal with a configuration directory argument 723982480 | |
711792622 | https://github.com/simonw/datasette/pull/1031#issuecomment-711792622 | https://api.github.com/repos/simonw/datasette/issues/1031 | MDEyOklzc3VlQ29tbWVudDcxMTc5MjYyMg== | codecov[bot] 22429695 | 2020-10-19T07:57:17Z | 2020-10-19T07:57:17Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1031 +/-==========================================
- Coverage 84.63% 84.60% -0.03% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/cli.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fallback to databases in inspect-data.json when no -i options are passed 724369025 | |
711569063 | https://github.com/dogsheep/github-to-sqlite/issues/50#issuecomment-711569063 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/50 | MDEyOklzc3VlQ29tbWVudDcxMTU2OTA2Mw== | simonw 9599 | 2020-10-19T05:01:29Z | 2020-10-19T05:01:29Z | MEMBER | Demo of
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Commands for making authenticated API calls 703218756 | |
711089647 | https://github.com/dogsheep/dogsheep-beta/issues/28#issuecomment-711089647 | https://api.github.com/repos/dogsheep/dogsheep-beta/issues/28 | MDEyOklzc3VlQ29tbWVudDcxMTA4OTY0Nw== | simonw 9599 | 2020-10-17T22:43:13Z | 2020-10-17T22:43:13Z | MEMBER | Since my personal Dogsheep uses Datasette authentication, I'm going to need to pass through cookies. https://github.com/simonw/datasette/issues/1020 will solve that in the future but for now I need to solve it explicitly. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to using datasette.client 723861683 | |
711083698 | https://github.com/dogsheep/healthkit-to-sqlite/issues/11#issuecomment-711083698 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/11 | MDEyOklzc3VlQ29tbWVudDcxMTA4MzY5OA== | jarib 572 | 2020-10-17T21:39:15Z | 2020-10-17T21:39:15Z | NONE | Nice! Works perfectly. Thanks for the quick response and great tooling in general. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
export.xml file name varies with different language settings 723838331 | |
711081703 | https://github.com/dogsheep/healthkit-to-sqlite/issues/11#issuecomment-711081703 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/11 | MDEyOklzc3VlQ29tbWVudDcxMTA4MTcwMw== | simonw 9599 | 2020-10-17T21:18:35Z | 2020-10-17T21:18:35Z | MEMBER | OK, if you upgrade to the just-released 1.0 this should work (it worked against my Spanish export). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
export.xml file name varies with different language settings 723838331 | |
711079760 | https://github.com/dogsheep/healthkit-to-sqlite/issues/11#issuecomment-711079760 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/11 | MDEyOklzc3VlQ29tbWVudDcxMTA3OTc2MA== | simonw 9599 | 2020-10-17T21:00:05Z | 2020-10-17T21:00:05Z | MEMBER | Checking for either |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
export.xml file name varies with different language settings 723838331 | |
711079056 | https://github.com/dogsheep/healthkit-to-sqlite/issues/11#issuecomment-711079056 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/11 | MDEyOklzc3VlQ29tbWVudDcxMTA3OTA1Ng== | simonw 9599 | 2020-10-17T20:53:00Z | 2020-10-17T20:53:00Z | MEMBER | I think the safest thing is to sniff the first few lines of the file. Those should be the same no matter the language that was used: ```xml <!DOCTYPE HealthData [ ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
export.xml file name varies with different language settings 723838331 | |
711078917 | https://github.com/dogsheep/healthkit-to-sqlite/issues/11#issuecomment-711078917 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/11 | MDEyOklzc3VlQ29tbWVudDcxMTA3ODkxNw== | simonw 9599 | 2020-10-17T20:51:55Z | 2020-10-17T20:52:03Z | MEMBER | I switched my phone to Spanish and ran an export - I got a file called |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
export.xml file name varies with different language settings 723838331 | |
711074306 | https://github.com/dogsheep/healthkit-to-sqlite/issues/11#issuecomment-711074306 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/11 | MDEyOklzc3VlQ29tbWVudDcxMTA3NDMwNg== | simonw 9599 | 2020-10-17T20:16:22Z | 2020-10-17T20:16:22Z | MEMBER | The "first XML file in the root" solution is probably easier though! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
export.xml file name varies with different language settings 723838331 | |
711074031 | https://github.com/dogsheep/healthkit-to-sqlite/issues/11#issuecomment-711074031 | https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/11 | MDEyOklzc3VlQ29tbWVudDcxMTA3NDAzMQ== | simonw 9599 | 2020-10-17T20:14:01Z | 2020-10-17T20:14:01Z | MEMBER | I'd be happy to teach the tool to look for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
export.xml file name varies with different language settings 723838331 | |
711072903 | https://github.com/simonw/datasette/pull/1029#issuecomment-711072903 | https://api.github.com/repos/simonw/datasette/issues/1029 | MDEyOklzc3VlQ29tbWVudDcxMTA3MjkwMw== | simonw 9599 | 2020-10-17T20:04:31Z | 2020-10-17T20:04:31Z | OWNER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
fix(docs): broken link 723837704 | |
710778368 | https://github.com/simonw/sqlite-utils/issues/188#issuecomment-710778368 | https://api.github.com/repos/simonw/sqlite-utils/issues/188 | MDEyOklzc3VlQ29tbWVudDcxMDc3ODM2OA== | aborruso 30607 | 2020-10-17T08:52:58Z | 2020-10-17T08:52:58Z | NONE | I have done a stupid question. If I run
I have Thank you for this great tool |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
About loading spatialite 723708310 | |
710768396 | https://github.com/simonw/sqlite-utils/issues/69#issuecomment-710768396 | https://api.github.com/repos/simonw/sqlite-utils/issues/69 | MDEyOklzc3VlQ29tbWVudDcxMDc2ODM5Ng== | aborruso 30607 | 2020-10-17T07:46:59Z | 2020-10-17T07:46:59Z | NONE | Great @simonw thank you very much |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Feature request: enable extensions loading 534507142 | |
710750038 | https://github.com/simonw/datasette/issues/1027#issuecomment-710750038 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcxMDc1MDAzOA== | simonw 9599 | 2020-10-17T05:00:19Z | 2020-10-17T05:00:19Z | OWNER | Running |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 | |
710694711 | https://github.com/simonw/datasette/issues/991#issuecomment-710694711 | https://api.github.com/repos/simonw/datasette/issues/991 | MDEyOklzc3VlQ29tbWVudDcxMDY5NDcxMQ== | simonw 9599 | 2020-10-16T23:24:03Z | 2020-10-16T23:24:03Z | OWNER | I'm really interested in exploring how this page could work with hundreds of database files attached and thousands of total tables. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign application homepage 714377268 | |
710694607 | https://github.com/simonw/datasette/issues/991#issuecomment-710694607 | https://api.github.com/repos/simonw/datasette/issues/991 | MDEyOklzc3VlQ29tbWVudDcxMDY5NDYwNw== | simonw 9599 | 2020-10-16T23:23:34Z | 2020-10-16T23:23:34Z | OWNER | Thinking more about pagination and search from #461: if the job of the homepage is to showcase the data that is available in the instance - data that is mostly in tables - maybe it's the tables themselves (and the ability to paginate and search through them) that becomes key to the design of the page. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign application homepage 714377268 | |
710694144 | https://github.com/simonw/datasette/issues/991#issuecomment-710694144 | https://api.github.com/repos/simonw/datasette/issues/991 | MDEyOklzc3VlQ29tbWVudDcxMDY5NDE0NA== | simonw 9599 | 2020-10-16T23:21:41Z | 2020-10-16T23:21:41Z | OWNER | Relevant: https://github.com/simonw/datasette/discussions/1021 asks about controlling the order of databases on that page that have been loaded using configuration directory mode. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign application homepage 714377268 | |
710693927 | https://github.com/simonw/datasette/issues/461#issuecomment-710693927 | https://api.github.com/repos/simonw/datasette/issues/461 | MDEyOklzc3VlQ29tbWVudDcxMDY5MzkyNw== | simonw 9599 | 2020-10-16T23:20:43Z | 2020-10-16T23:20:43Z | OWNER | Related: redesign homepage entirely #991. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Paginate + search for databases/tables on the homepage 443021509 | |
710693818 | https://github.com/simonw/datasette/issues/468#issuecomment-710693818 | https://api.github.com/repos/simonw/datasette/issues/468 | MDEyOklzc3VlQ29tbWVudDcxMDY5MzgxOA== | simonw 9599 | 2020-10-16T23:20:22Z | 2020-10-16T23:20:22Z | OWNER | This is a duplicate of #461. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Pagination for the database index page 444746021 | |
706834800 | https://github.com/dogsheep/evernote-to-sqlite/issues/5#issuecomment-706834800 | https://api.github.com/repos/dogsheep/evernote-to-sqlite/issues/5 | MDEyOklzc3VlQ29tbWVudDcwNjgzNDgwMA== | simonw 9599 | 2020-10-12T03:24:57Z | 2020-10-16T20:16:28Z | MEMBER | Here's my first attempt at a plugin for this: ```python from datasette import hookimpl import jinja2 START = "<en-note" END = "</en-note>" TEMPLATE = """ {}
""".strip()
EN_MEDIA_SCRIPT = """
Array.from(document.querySelectorAll('en-media')).forEach(el => {
let hash = el.getAttribute('hash');
let type = el.getAttribute('type');
let path = @hookimpl def render_cell(value, table): if not table: # Don't render content from arbitrary SQL queries, could be XSS hole return if not value or not isinstance(value, str): return value = value.strip() if value.startswith(START) and value.endswith(END): trimmed = value[len(START) : -len(END)] trimmed = trimmed.split(">", 1)[1] # Replace those horrible double newlines trimmed = trimmed.replace(" ") return jinja2.Markup(TEMPLATE.format(trimmed)) @hookimpl def extra_body_script(): return EN_MEDIA_SCRIPT ``` It works! It does however demonstrate that Evernote's "clip this webpage" feature means there is a LOT of weird HTML that can get into a note. It looks like they've filtered out the scripts but I wouldn't bet on it - they certainly don't filter out many of the inline styles. So running Bleach is almost certainly a good idea. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to display images from <en-media> tags inline in Datasette 718938889 | |
710461468 | https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710461468 | https://api.github.com/repos/simonw/sqlite-utils/issues/49 | MDEyOklzc3VlQ29tbWVudDcxMDQ2MTQ2OA== | simonw 9599 | 2020-10-16T19:18:19Z | 2020-10-16T19:18:19Z | OWNER | Reconsidering: #89 was a feature request that relates to this, so maybe this is worth implementing after all. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extracts= should support multiple-column extracts 472115381 | |
710460242 | https://github.com/simonw/sqlite-utils/issues/89#issuecomment-710460242 | https://api.github.com/repos/simonw/sqlite-utils/issues/89 | MDEyOklzc3VlQ29tbWVudDcxMDQ2MDI0Mg== | simonw 9599 | 2020-10-16T19:17:27Z | 2020-10-16T19:17:50Z | OWNER | I came up with potential syntax for that here: https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710393550 - based on how |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize columns used by extracts= feature 573578548 | |
710456981 | https://github.com/simonw/sqlite-utils/issues/187#issuecomment-710456981 | https://api.github.com/repos/simonw/sqlite-utils/issues/187 | MDEyOklzc3VlQ29tbWVudDcxMDQ1Njk4MQ== | simonw 9599 | 2020-10-16T19:15:13Z | 2020-10-16T19:15:13Z | OWNER | This is a duplicate of #79. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Maybe: Utility method / CLI tool for initializing SpatiaLite 723460107 | |
710440853 | https://github.com/simonw/sqlite-utils/issues/187#issuecomment-710440853 | https://api.github.com/repos/simonw/sqlite-utils/issues/187 | MDEyOklzc3VlQ29tbWVudDcxMDQ0MDg1Mw== | simonw 9599 | 2020-10-16T19:04:19Z | 2020-10-16T19:04:19Z | OWNER | I split this off from #136. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Maybe: Utility method / CLI tool for initializing SpatiaLite 723460107 | |
710428802 | https://github.com/simonw/sqlite-utils/issues/136#issuecomment-710428802 | https://api.github.com/repos/simonw/sqlite-utils/issues/136 | MDEyOklzc3VlQ29tbWVudDcxMDQyODgwMg== | simonw 9599 | 2020-10-16T18:56:47Z | 2020-10-16T18:56:47Z | OWNER | To keep the code cleaner, I'm tempted to support this instead:
Where Users could still load a module in a file called
In fact, |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
--load-extension=spatialite shortcut option 683812642 | |
710405658 | https://github.com/simonw/sqlite-utils/issues/69#issuecomment-710405658 | https://api.github.com/repos/simonw/sqlite-utils/issues/69 | MDEyOklzc3VlQ29tbWVudDcxMDQwNTY1OA== | simonw 9599 | 2020-10-16T18:42:48Z | 2020-10-16T18:42:48Z | OWNER | Did some work on this for #134 in 7e9aad7e1c09d1cf80d0b4d17d6157212a4b857d I still need to add |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Feature request: enable extensions loading 534507142 | |
710402331 | https://github.com/simonw/sqlite-utils/issues/48#issuecomment-710402331 | https://api.github.com/repos/simonw/sqlite-utils/issues/48 | MDEyOklzc3VlQ29tbWVudDcxMDQwMjMzMQ== | simonw 9599 | 2020-10-16T18:41:06Z | 2020-10-16T18:41:06Z | OWNER | I could use this demo from JupyterCon 2020 https://gist.github.com/simonw/656c21b5800d5e4624dec9930f00e093 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Jupyter notebook demo of the library, launchable on Binder 471818939 | |
710399593 | https://github.com/simonw/sqlite-utils/issues/58#issuecomment-710399593 | https://api.github.com/repos/simonw/sqlite-utils/issues/58 | MDEyOklzc3VlQ29tbWVudDcxMDM5OTU5Mw== | simonw 9599 | 2020-10-16T18:39:31Z | 2020-10-16T18:39:31Z | OWNER | I don't think this is valuable enough to justify adding to the library - especially since you can execute FTS search against views by joining to an FTS table built against an underlying table. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support enabling FTS on views 488293926 | |
710397574 | https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710397574 | https://api.github.com/repos/simonw/sqlite-utils/issues/49 | MDEyOklzc3VlQ29tbWVudDcxMDM5NzU3NA== | simonw 9599 | 2020-10-16T18:38:21Z | 2020-10-16T18:38:21Z | OWNER | I'm not going to implement this. I'll leave |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extracts= should support multiple-column extracts 472115381 | |
710395444 | https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710395444 | https://api.github.com/repos/simonw/sqlite-utils/issues/49 | MDEyOklzc3VlQ29tbWVudDcxMDM5NTQ0NA== | simonw 9599 | 2020-10-16T18:37:10Z | 2020-10-16T18:37:10Z | OWNER | But this begins to feel too complicated, given that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extracts= should support multiple-column extracts 472115381 | |
710393550 | https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710393550 | https://api.github.com/repos/simonw/sqlite-utils/issues/49 | MDEyOklzc3VlQ29tbWVudDcxMDM5MzU1MA== | simonw 9599 | 2020-10-16T18:35:57Z | 2020-10-16T18:36:39Z | OWNER | If I want to support that most complicated example, I think the option to pass a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extracts= should support multiple-column extracts 472115381 | |
710390915 | https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710390915 | https://api.github.com/repos/simonw/sqlite-utils/issues/49 | MDEyOklzc3VlQ29tbWVudDcxMDM5MDkxNQ== | simonw 9599 | 2020-10-16T18:34:26Z | 2020-10-16T18:34:50Z | OWNER | Here's the most complex example of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extracts= should support multiple-column extracts 472115381 | |
710364942 | https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710364942 | https://api.github.com/repos/simonw/sqlite-utils/issues/49 | MDEyOklzc3VlQ29tbWVudDcxMDM2NDk0Mg== | simonw 9599 | 2020-10-16T18:18:48Z | 2020-10-16T18:18:48Z | OWNER | I think there is. It's a nice existing feature, and I don't think adding tuple support to it would be a huge lift. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extracts= should support multiple-column extracts 472115381 | |
710363789 | https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710363789 | https://api.github.com/repos/simonw/sqlite-utils/issues/49 | MDEyOklzc3VlQ29tbWVudDcxMDM2Mzc4OQ== | simonw 9599 | 2020-10-16T18:18:05Z | 2020-10-16T18:18:05Z | OWNER | I wonder if there's value in extending the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extracts= should support multiple-column extracts 472115381 | |
710359724 | https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710359724 | https://api.github.com/repos/simonw/sqlite-utils/issues/49 | MDEyOklzc3VlQ29tbWVudDcxMDM1OTcyNA== | simonw 9599 | 2020-10-16T18:15:31Z | 2020-10-16T18:15:31Z | OWNER | Using a tuple would work:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extracts= should support multiple-column extracts 472115381 | |
710346830 | https://github.com/simonw/sqlite-utils/issues/49#issuecomment-710346830 | https://api.github.com/repos/simonw/sqlite-utils/issues/49 | MDEyOklzc3VlQ29tbWVudDcxMDM0NjgzMA== | simonw 9599 | 2020-10-16T18:08:52Z | 2020-10-16T18:09:21Z | OWNER | The new |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extracts= should support multiple-column extracts 472115381 | |
710258736 | https://github.com/simonw/sqlite-utils/issues/182#issuecomment-710258736 | https://api.github.com/repos/simonw/sqlite-utils/issues/182 | MDEyOklzc3VlQ29tbWVudDcxMDI1ODczNg== | simonw 9599 | 2020-10-16T17:20:41Z | 2020-10-16T17:20:41Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better handling of encodings other than utf-8 for "sqlite-utils insert" 711649325 | ||
710198162 | https://github.com/simonw/sqlite-utils/issues/186#issuecomment-710198162 | https://api.github.com/repos/simonw/sqlite-utils/issues/186 | MDEyOklzc3VlQ29tbWVudDcxMDE5ODE2Mg== | simonw 9599 | 2020-10-16T16:41:00Z | 2020-10-16T16:41:00Z | OWNER | Failing test:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.extract() shouldn't extract null values 722816436 | |
710178871 | https://github.com/simonw/sqlite-utils/issues/182#issuecomment-710178871 | https://api.github.com/repos/simonw/sqlite-utils/issues/182 | MDEyOklzc3VlQ29tbWVudDcxMDE3ODg3MQ== | simonw 9599 | 2020-10-16T16:27:39Z | 2020-10-16T16:28:14Z | OWNER | The file is opened for me by I think the way to do that is to open the file in binary mode and then wrap it in a codec reader:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better handling of encodings other than utf-8 for "sqlite-utils insert" 711649325 | |
709706260 | https://github.com/simonw/sqlite-utils/issues/186#issuecomment-709706260 | https://api.github.com/repos/simonw/sqlite-utils/issues/186 | MDEyOklzc3VlQ29tbWVudDcwOTcwNjI2MA== | simonw 9599 | 2020-10-16T03:17:02Z | 2020-10-16T03:17:17Z | OWNER | Actually I think this should be an option to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.extract() shouldn't extract null values 722816436 | |
709706065 | https://github.com/simonw/sqlite-utils/issues/186#issuecomment-709706065 | https://api.github.com/repos/simonw/sqlite-utils/issues/186 | MDEyOklzc3VlQ29tbWVudDcwOTcwNjA2NQ== | simonw 9599 | 2020-10-16T03:16:22Z | 2020-10-16T03:16:22Z | OWNER | Either way I think I'm going to need to add some SQL which uses |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.extract() shouldn't extract null values 722816436 | |
709705885 | https://github.com/simonw/sqlite-utils/issues/186#issuecomment-709705885 | https://api.github.com/repos/simonw/sqlite-utils/issues/186 | MDEyOklzc3VlQ29tbWVudDcwOTcwNTg4NQ== | simonw 9599 | 2020-10-16T03:15:39Z | 2020-10-16T03:15:39Z | OWNER | The alternative solution here would be that a single |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.extract() shouldn't extract null values 722816436 | |
709705624 | https://github.com/simonw/sqlite-utils/issues/186#issuecomment-709705624 | https://api.github.com/repos/simonw/sqlite-utils/issues/186 | MDEyOklzc3VlQ29tbWVudDcwOTcwNTYyNA== | simonw 9599 | 2020-10-16T03:14:39Z | 2020-10-16T03:14:39Z | OWNER | How should this work with extractions covering multiple columns? If there's a single column then it makes sense that a For a multiple column extraction, provided at least one of those columns is not null It should map to a record in the lookup table. Only if ALL of the extracted columns are null should the lookup value stay null. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.extract() shouldn't extract null values 722816436 | |
709647525 | https://github.com/simonw/datasette/issues/1027#issuecomment-709647525 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcwOTY0NzUyNQ== | simonw 9599 | 2020-10-15T23:49:51Z | 2020-10-15T23:51:39Z | OWNER | I'll install Apache on macOS to figure this out using https://formulae.brew.sh/formula/httpd
``` ==> httpd DocumentRoot is /usr/local/var/www. The default ports have been set in /usr/local/etc/httpd/httpd.conf to 8080 and in /usr/local/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo. To have launchd start httpd now and restart at login: brew services start httpd Or, if you don't want/need a background service you can just run: apachectl start ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 | |
709646865 | https://github.com/simonw/datasette/issues/1027#issuecomment-709646865 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcwOTY0Njg2NQ== | simonw 9599 | 2020-10-15T23:47:08Z | 2020-10-15T23:47:08Z | OWNER | It should cover both nginx and Apache. nginx config is here: https://github.com/simonw/datasette/issues/1024#issuecomment-709598324 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 |
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