issue_comments
8,883 rows where user = 9599 sorted by body
This data as json, CSV (advanced)
user 1
- simonw · 8,783 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at | author_association | body ▼ | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
997472509 | https://github.com/simonw/datasette/issues/1565#issuecomment-997472509 | https://api.github.com/repos/simonw/datasette/issues/1565 | IC_kwDOBm6k_c47dDj9 | simonw 9599 | 2021-12-19T22:24:50Z | 2021-12-19T22:24:50Z | OWNER | ... huh, it could even expose a JavaScript function that can be called to execute a SQL query.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documented JavaScript variables on different templates made available for plugins 1083657868 | |
696302020 | https://github.com/simonw/datasette/issues/971#issuecomment-696302020 | https://api.github.com/repos/simonw/datasette/issues/971 | MDEyOklzc3VlQ29tbWVudDY5NjMwMjAyMA== | simonw 9599 | 2020-09-21T18:49:09Z | 2020-09-21T18:49:09Z | OWNER | ... made harder to work on because I apparently don't have the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support the dbstat table 705827457 | |
1068445412 | https://github.com/simonw/datasette/issues/1509#issuecomment-1068445412 | https://api.github.com/repos/simonw/datasette/issues/1509 | IC_kwDOBm6k_c4_ry7k | simonw 9599 | 2022-03-15T20:37:50Z | 2022-03-15T20:38:56Z | OWNER | ... maybe Datasette itself should include interactive API documentation, in addition to documenting it in the manual?
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette 1.0 JSON API (and documentation) 1054243511 | |
1185931417 | https://github.com/simonw/datasette/issues/1770#issuecomment-1185931417 | https://api.github.com/repos/simonw/datasette/issues/1770 | IC_kwDOBm6k_c5Gr-CZ | simonw 9599 | 2022-07-15T20:59:25Z | 2022-07-15T20:59:25Z | OWNER | ... maybe it should take |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`handle_exception` plugin hook for custom error handling 1306492437 | |
719810533 | https://github.com/simonw/datasette/issues/1072#issuecomment-719810533 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgxMDUzMw== | simonw 9599 | 2020-10-30T21:34:38Z | 2020-10-30T21:34:38Z | OWNER | ... no wait, my comments above assume that I'm just building the This may mean I need to delay the whole feature. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
586109238 | https://github.com/simonw/datasette/pull/672#issuecomment-586109238 | https://api.github.com/repos/simonw/datasette/issues/672 | MDEyOklzc3VlQ29tbWVudDU4NjEwOTIzOA== | simonw 9599 | 2020-02-14T05:51:12Z | 2020-02-14T05:51:12Z | OWNER | ... or maybe I can cheat and wrap the access to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
--dirs option for scanning directories for SQLite databases 565064079 | |
1291111357 | https://github.com/simonw/sqlite-utils/issues/503#issuecomment-1291111357 | https://api.github.com/repos/simonw/sqlite-utils/issues/503 | IC_kwDOCGYnMM5M9Mu9 | simonw 9599 | 2022-10-25T20:36:06Z | 2022-10-25T20:36:06Z | OWNER | ... or maybe Windows doesn't like attempts to remove a file that the process has opened? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
test_recreate failing on Windows Python 3.11 1423000702 | |
1291232589 | https://github.com/simonw/datasette/issues/1852#issuecomment-1291232589 | https://api.github.com/repos/simonw/datasette/issues/1852 | IC_kwDOBm6k_c5M9qVN | simonw 9599 | 2022-10-25T23:08:37Z | 2022-10-25T23:08:37Z | OWNER | ... so maybe there's a way to create a token that inherits the exact permissions of the actor that created the token? That could even be a default mode for tokens, with an option to then further restrict permissions if desired. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default API token authentication mechanism 1421552095 | |
813134386 | https://github.com/simonw/datasette/issues/1293#issuecomment-813134386 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzEzNDM4Ng== | simonw 9599 | 2021-04-05T01:20:28Z | 2021-08-13T00:42:30Z | OWNER | ... that output might also provide a better way to extract variables than the current mechanism using a regular expression, by looking for the [UPDATE: it did indeed do that, see #1421] |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
880153069 | https://github.com/simonw/datasette/issues/268#issuecomment-880153069 | https://api.github.com/repos/simonw/datasette/issues/268 | MDEyOklzc3VlQ29tbWVudDg4MDE1MzA2OQ== | simonw 9599 | 2021-07-14T19:31:00Z | 2021-07-14T19:31:00Z | OWNER | ... though interestingly I can't replicate that error on That's running https://latest.datasette.io/-/versions SQLite 3.35.4 whereas https://www.niche-museums.com/-/versions is running 3.27.2 (the most recent version available with Vercel) - but there's nothing in the SQLite changelog between those two versions that suggests changes to how the FTS5 parser works. https://www.sqlite.org/changes.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for ranking results from SQLite full-text search 323718842 | |
782747878 | https://github.com/simonw/datasette/issues/782#issuecomment-782747878 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDc4Mjc0Nzg3OA== | simonw 9599 | 2021-02-20T20:53:11Z | 2021-02-20T20:53:11Z | OWNER | ... though thinking about this further, I could re-implement the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
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 | |
1072907680 | https://github.com/simonw/datasette/issues/1228#issuecomment-1072907680 | https://api.github.com/repos/simonw/datasette/issues/1228 | IC_kwDOBm6k_c4_80Wg | simonw 9599 | 2022-03-19T00:55:48Z | 2022-03-19T00:55:48Z | OWNER | ... unless your data had a column called |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
500 error caused by faceting if a column called `n` exists 810397025 | |
1324531750 | https://github.com/simonw/datasette/issues/1863#issuecomment-1324531750 | https://api.github.com/repos/simonw/datasette/issues/1863 | IC_kwDOBm6k_c5O8sAm | simonw 9599 | 2022-11-23T04:20:47Z | 2022-11-23T04:20:47Z | OWNER | ... which does imply that I'm going to do an extra layer of validation over what SQLite provides. SQLite will happily allow a text string to be added to a supposedly integer column. I'm not going to allow that - I'll return a validation error instead, unless the string can be safely coerced to the correct type. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update a single record in an existing table 1425029242 | |
381799408 | https://github.com/simonw/datasette/issues/216#issuecomment-381799408 | https://api.github.com/repos/simonw/datasette/issues/216 | MDEyOklzc3VlQ29tbWVudDM4MTc5OTQwOA== | simonw 9599 | 2018-04-17T01:22:30Z | 2018-04-17T01:22:30Z | OWNER | ... which is VERY surprising, because |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bug: Sort by column with NULL in next_page URL 314665147 | |
1730259871 | https://github.com/simonw/datasette/issues/2194#issuecomment-1730259871 | https://api.github.com/repos/simonw/datasette/issues/2194 | IC_kwDOBm6k_c5nIauf | simonw 9599 | 2023-09-21T20:34:09Z | 2023-09-21T20:34:09Z | OWNER | ... which raises the challenge that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Deploy failing with "plugins/alternative_route.py: Not a directory" 1907695234 | |
548055544 | https://github.com/simonw/datasette/issues/607#issuecomment-548055544 | https://api.github.com/repos/simonw/datasette/issues/607 | MDEyOklzc3VlQ29tbWVudDU0ODA1NTU0NA== | simonw 9599 | 2019-10-30T18:37:44Z | 2019-10-30T18:37:52Z | OWNER | .Hi @zeluspudding You're running your search queries using the "contains" filter, which uses a SQL Instead, you should take a look at SQLite's FTS - full text indexing feature. You can build a FTS index against a column and dramatically speed up searches for words within that column. This documentation should help get you started: https://datasette.readthedocs.io/en/stable/full_text_search.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ways to improve fuzzy search speed on larger data sets? 512996469 | |
1730388418 | https://github.com/simonw/datasette/issues/2189#issuecomment-1730388418 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5nI6HC | simonw 9599 | 2023-09-21T22:26:19Z | 2023-09-21T22:26:19Z | OWNER | 1.0a7 is out with this fix as well now: https://docs.datasette.io/en/1.0a7/changelog.html#a7-2023-09-21 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Server hang on parallel execution of queries to named in-memory databases 1901416155 | |
905900807 | https://github.com/simonw/datasette/issues/859#issuecomment-905900807 | https://api.github.com/repos/simonw/datasette/issues/859 | IC_kwDOBm6k_c41_vMH | simonw 9599 | 2021-08-25T21:51:10Z | 2021-08-25T21:51:10Z | OWNER | 10-20 minutes to populate I may have to rethink the I need to get my own stress testing rig setup for this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
1668720671 | https://github.com/simonw/datasette/pull/2118#issuecomment-1668720671 | https://api.github.com/repos/simonw/datasette/issues/2118 | IC_kwDOBm6k_c5jdqgf | simonw 9599 | 2023-08-07T23:58:21Z | 2023-08-07T23:58:21Z | OWNER | 11 tests left:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New JSON design for query views 1823352380 | |
1668578107 | https://github.com/simonw/datasette/pull/2118#issuecomment-1668578107 | https://api.github.com/repos/simonw/datasette/issues/2118 | IC_kwDOBm6k_c5jdHs7 | simonw 9599 | 2023-08-07T21:06:50Z | 2023-08-07T21:06:50Z | OWNER | 15:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New JSON design for query views 1823352380 | |
1668568445 | https://github.com/simonw/datasette/pull/2118#issuecomment-1668568445 | https://api.github.com/repos/simonw/datasette/issues/2118 | IC_kwDOBm6k_c5jdFV9 | simonw 9599 | 2023-08-07T20:57:46Z | 2023-08-07T20:57:46Z | OWNER | 17 failing tests now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New JSON design for query views 1823352380 | |
752759885 | https://github.com/simonw/datasette/issues/983#issuecomment-752759885 | https://api.github.com/repos/simonw/datasette/issues/983 | MDEyOklzc3VlQ29tbWVudDc1Mjc1OTg4NQ== | simonw 9599 | 2020-12-30T21:11:52Z | 2020-12-30T21:14:00Z | OWNER | 262 bytes if I remove the parameter introspection code, instead requiring plugin authors to specify the arguments they take:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
JavaScript plugin hooks mechanism similar to pluggy 712260429 | |
1668781558 | https://github.com/simonw/datasette/pull/2118#issuecomment-1668781558 | https://api.github.com/repos/simonw/datasette/issues/2118 | IC_kwDOBm6k_c5jd5X2 | simonw 9599 | 2023-08-08T01:34:42Z | 2023-08-08T01:34:42Z | OWNER | 3 failures left:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New JSON design for query views 1823352380 | |
864594956 | https://github.com/simonw/sqlite-utils/issues/286#issuecomment-864594956 | https://api.github.com/repos/simonw/sqlite-utils/issues/286 | MDEyOklzc3VlQ29tbWVudDg2NDU5NDk1Ng== | simonw 9599 | 2021-06-20T18:38:05Z | 2021-06-20T18:38:05Z | OWNER | 3.10 is out in Homebrew now (they turn that around so fast): https://formulae.brew.sh/formula/sqlite-utils |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add installation instructions 925487946 | |
771975941 | https://github.com/simonw/datasette/issues/1212#issuecomment-771975941 | https://api.github.com/repos/simonw/datasette/issues/1212 | MDEyOklzc3VlQ29tbWVudDc3MTk3NTk0MQ== | simonw 9599 | 2021-02-02T20:52:36Z | 2021-02-02T20:52:36Z | OWNER | 37 minutes, wow! They're a little slow for me (4-5 minutes perhaps) but not nearly that bad. Thanks for running that profile. I think you're right: figuring out how to use more session scopes would definitely help. The Note that I'd be delighted if you explored this issue further, especially the option of using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tests are very slow. 797651831 | |
852706970 | https://github.com/simonw/datasette/issues/619#issuecomment-852706970 | https://api.github.com/repos/simonw/datasette/issues/619 | MDEyOklzc3VlQ29tbWVudDg1MjcwNjk3MA== | simonw 9599 | 2021-06-02T04:15:54Z | 2021-06-02T04:15:54Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Invalid SQL" page should let you edit the SQL 520655983 | ||
997262475 | https://github.com/simonw/datasette/issues/1555#issuecomment-997262475 | https://api.github.com/repos/simonw/datasette/issues/1555 | IC_kwDOBm6k_c47cQSL | simonw 9599 | 2021-12-18T18:34:18Z | 2021-12-18T18:34:18Z | OWNER | Using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Optimize all those calls to index_list and foreign_key_list 1079149656 | |
803777724 | https://github.com/simonw/datasette/issues/1268#issuecomment-803777724 | https://api.github.com/repos/simonw/datasette/issues/1268 | MDEyOklzc3VlQ29tbWVudDgwMzc3NzcyNA== | simonw 9599 | 2021-03-22T05:42:50Z | 2021-03-22T05:43:23Z | OWNER | If I want to avoid counting virtual tables, I need to detect which tables are virtual tables. The safest way to do this is probably to pull the This would catch things like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out why SpatiaLite 5.0 hangs the database page on Linux 837308703 | |
603599677 | https://github.com/simonw/datasette/issues/705#issuecomment-603599677 | https://api.github.com/repos/simonw/datasette/issues/705 | MDEyOklzc3VlQ29tbWVudDYwMzU5OTY3Nw== | simonw 9599 | 2020-03-25T02:08:11Z | 2020-03-25T02:08:11Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
latest.datasette.io is no longer updating 585626199 | ||
544648863 | https://github.com/dogsheep/genome-to-sqlite/issues/1#issuecomment-544648863 | https://api.github.com/repos/dogsheep/genome-to-sqlite/issues/1 | MDEyOklzc3VlQ29tbWVudDU0NDY0ODg2Mw== | simonw 9599 | 2019-10-21T18:36:03Z | 2019-10-21T18:36:03Z | MEMBER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out some interesting example SQL queries 496415321 | ||
651293559 | https://github.com/simonw/datasette/issues/875#issuecomment-651293559 | https://api.github.com/repos/simonw/datasette/issues/875 | MDEyOklzc3VlQ29tbWVudDY1MTI5MzU1OQ== | simonw 9599 | 2020-06-29T18:43:50Z | 2020-06-29T18:43:50Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Logged in as: XXX - logout" navigation item 647103735 | ||
346682905 | https://github.com/simonw/datasette/issues/146#issuecomment-346682905 | https://api.github.com/repos/simonw/datasette/issues/146 | MDEyOklzc3VlQ29tbWVudDM0NjY4MjkwNQ== | simonw 9599 | 2017-11-23T18:55:08Z | 2017-11-23T18:55:08Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish gcloud 276455748 | ||
346691243 | https://github.com/simonw/datasette/issues/86#issuecomment-346691243 | https://api.github.com/repos/simonw/datasette/issues/86 | MDEyOklzc3VlQ29tbWVudDM0NjY5MTI0Mw== | simonw 9599 | 2017-11-23T20:07:15Z | 2017-11-23T20:07:15Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Filter UI on table page 273703829 | ||
703928029 | https://github.com/simonw/datasette/issues/993#issuecomment-703928029 | https://api.github.com/repos/simonw/datasette/issues/993 | MDEyOklzc3VlQ29tbWVudDcwMzkyODAyOQ== | simonw 9599 | 2020-10-05T22:42:45Z | 2020-10-05T22:42:59Z | OWNER | The |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Column action menu should show column type 715072935 | |
339866724 | https://github.com/simonw/datasette/issues/41#issuecomment-339866724 | https://api.github.com/repos/simonw/datasette/issues/41 | MDEyOklzc3VlQ29tbWVudDMzOTg2NjcyNA== | simonw 9599 | 2017-10-27T04:04:52Z | 2017-10-27T04:04:52Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Homepage should show summary of databases 268590777 | ||
1097068474 | https://github.com/simonw/datasette/issues/1712#issuecomment-1097068474 | https://api.github.com/repos/simonw/datasette/issues/1712 | IC_kwDOBm6k_c5BY--6 | simonw 9599 | 2022-04-12T18:38:18Z | 2022-04-12T18:38:18Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make "<Binary: 2427344 bytes>" easier to read 1202227104 | ||
346902583 | https://github.com/simonw/datasette/issues/133#issuecomment-346902583 | https://api.github.com/repos/simonw/datasette/issues/133 | MDEyOklzc3VlQ29tbWVudDM0NjkwMjU4Mw== | simonw 9599 | 2017-11-24T22:30:32Z | 2017-11-24T22:30:32Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
If view is filtered, search should apply within those filtered rows 275176006 | ||
622999623 | https://github.com/simonw/datasette/issues/750#issuecomment-622999623 | https://api.github.com/repos/simonw/datasette/issues/750 | MDEyOklzc3VlQ29tbWVudDYyMjk5OTYyMw== | simonw 9599 | 2020-05-02T19:05:07Z | 2020-05-02T19:05:07Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add notlike table filter 611252244 | ||
344786528 | https://github.com/simonw/datasette/issues/96#issuecomment-344786528 | https://api.github.com/repos/simonw/datasette/issues/96 | MDEyOklzc3VlQ29tbWVudDM0NDc4NjUyOA== | simonw 9599 | 2017-11-16T01:32:41Z | 2017-11-16T01:32:41Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
UI for editing named parameters 274001453 | ||
1646686675 | https://github.com/simonw/sqlite-utils/pull/573#issuecomment-1646686675 | https://api.github.com/repos/simonw/sqlite-utils/issues/573 | IC_kwDOCGYnMM5iJnHT | simonw 9599 | 2023-07-22T22:54:38Z | 2023-07-22T22:54:38Z | OWNER | Glitch in the rendered documentation from https://sqlite-utils--573.org.readthedocs.build/en/573/plugins.html#prepare-connection-conn |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
feat: Implement a prepare_connection plugin hook 1816917522 | |
346900554 | https://github.com/simonw/datasette/issues/147#issuecomment-346900554 | https://api.github.com/repos/simonw/datasette/issues/147 | MDEyOklzc3VlQ29tbWVudDM0NjkwMDU1NA== | simonw 9599 | 2017-11-24T22:02:22Z | 2017-11-24T22:02:22Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Tidy up design of the header of the table page 276476670 | ||
346701751 | https://github.com/simonw/datasette/issues/132#issuecomment-346701751 | https://api.github.com/repos/simonw/datasette/issues/132 | MDEyOklzc3VlQ29tbWVudDM0NjcwMTc1MQ== | simonw 9599 | 2017-11-23T21:51:51Z | 2017-11-23T21:51:51Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Row view is not currently expanding foreign keys 275175929 | ||
733247101 | https://github.com/simonw/datasette/issues/1106#issuecomment-733247101 | https://api.github.com/repos/simonw/datasette/issues/1106 | MDEyOklzc3VlQ29tbWVudDczMzI0NzEwMQ== | simonw 9599 | 2020-11-24T21:35:29Z | 2020-11-24T21:36:04Z | OWNER | https://docs.datasette.io/en/latest/config.html isn't redirecting though, even after I tried running a rebuild of the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rebrand and redirect config.rst as settings.rst 749983857 | |
344048656 | https://github.com/simonw/datasette/issues/69#issuecomment-344048656 | https://api.github.com/repos/simonw/datasette/issues/69 | MDEyOklzc3VlQ29tbWVudDM0NDA0ODY1Ng== | simonw 9599 | 2017-11-13T20:32:47Z | 2017-11-13T20:32:47Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Enforce pagination (or at least limits) for arbitrary custom SQL 273248366 | ||
343709217 | https://github.com/simonw/datasette/issues/65#issuecomment-343709217 | https://api.github.com/repos/simonw/datasette/issues/65 | MDEyOklzc3VlQ29tbWVudDM0MzcwOTIxNw== | simonw 9599 | 2017-11-12T02:36:37Z | 2017-11-12T02:36:37Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Re-implement ?sql= mode 273191608 | ||
682312736 | https://github.com/simonw/datasette/issues/954#issuecomment-682312736 | https://api.github.com/repos/simonw/datasette/issues/954 | MDEyOklzc3VlQ29tbWVudDY4MjMxMjczNg== | simonw 9599 | 2020-08-28T04:05:01Z | 2020-08-28T04:05:10Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove old register_output_renderer dict mechanism in Datasette 1.0 687694947 | |
718078447 | https://github.com/simonw/datasette/pull/1059#issuecomment-718078447 | https://api.github.com/repos/simonw/datasette/issues/1059 | MDEyOklzc3VlQ29tbWVudDcxODA3ODQ0Nw== | simonw 9599 | 2020-10-28T17:07:59Z | 2020-10-28T17:08:14Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update aiofiles requirement from <0.6,>=0.4 to >=0.4,<0.7 731445447 | ||
1060065736 | https://github.com/simonw/datasette/pull/1648#issuecomment-1060065736 | https://api.github.com/repos/simonw/datasette/issues/1648 | IC_kwDOBm6k_c4_L1HI | simonw 9599 | 2022-03-06T23:43:00Z | 2022-03-06T23:43:11Z | OWNER |
Yes, I'm going to do this. At the moment if a DB file is called |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use dash encoding for table names and row primary keys in URLs 1160432941 | |
974575512 | https://github.com/simonw/datasette/issues/1522#issuecomment-974575512 | https://api.github.com/repos/simonw/datasette/issues/1522 | IC_kwDOBm6k_c46FteY | simonw 9599 | 2021-11-20T02:09:20Z | 2021-11-20T02:09:20Z | OWNER |
That eventually failed, but I did get these in the build logs: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Deploy a live instance of demos/apache-proxy 1058896236 | |
619591380 | https://github.com/simonw/datasette/issues/648#issuecomment-619591380 | https://api.github.com/repos/simonw/datasette/issues/648 | MDEyOklzc3VlQ29tbWVudDYxOTU5MTM4MA== | simonw 9599 | 2020-04-26T17:33:04Z | 2020-04-26T17:33:04Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for adding arbitrary pages like /about 534492501 | |
619591533 | https://github.com/simonw/datasette/pull/737#issuecomment-619591533 | https://api.github.com/repos/simonw/datasette/issues/737 | MDEyOklzc3VlQ29tbWVudDYxOTU5MTUzMw== | simonw 9599 | 2020-04-26T17:33:48Z | 2020-04-26T17:33:48Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Custom pages mechanism, refs #648 607067303 | |
1690800641 | https://github.com/simonw/datasette/issues/2143#issuecomment-1690800641 | https://api.github.com/repos/simonw/datasette/issues/2143 | IC_kwDOBm6k_c5kx5IB | simonw 9599 | 2023-08-24T00:11:16Z | 2023-08-24T00:11:16Z | OWNER |
That's a neat example thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
De-tangling Metadata before Datasette 1.0 1855885427 | |
1017016553 | https://github.com/simonw/datasette/issues/1356#issuecomment-1017016553 | https://api.github.com/repos/simonw/datasette/issues/1356 | IC_kwDOBm6k_c48nnDp | simonw 9599 | 2022-01-20T01:06:37Z | 2022-01-20T01:06:37Z | OWNER |
I figured out a neat pattern for streaming JSON arrays in this TIL: https://til.simonwillison.net/python/output-json-array-streaming |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research: syntactic sugar for using --get with SQL queries, maybe "datasette query" 910092577 | |
1646657324 | https://github.com/simonw/sqlite-utils/issues/565#issuecomment-1646657324 | https://api.github.com/repos/simonw/sqlite-utils/issues/565 | IC_kwDOCGYnMM5iJf8s | simonw 9599 | 2023-07-22T19:39:06Z | 2023-07-22T19:39:06Z | OWNER |
I think |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table renaming: db.rename_table() and sqlite-utils rename-table 1786258502 | |
1045075207 | https://github.com/simonw/datasette/issues/1439#issuecomment-1045075207 | https://api.github.com/repos/simonw/datasette/issues/1439 | IC_kwDOBm6k_c4-SpUH | simonw 9599 | 2022-02-18T19:39:35Z | 2022-02-18T19:40:13Z | OWNER |
Here's what those look like with the updated version of
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink how .ext formats (v.s. ?_format=) works before 1.0 973139047 | |
1684488526 | https://github.com/simonw/datasette/issues/2143#issuecomment-1684488526 | https://api.github.com/repos/simonw/datasette/issues/2143 | IC_kwDOBm6k_c5kZ0FO | simonw 9599 | 2023-08-18T22:18:39Z | 2023-08-18T22:18:39Z | OWNER |
I'm not a fan of that. I feel like software history is full of examples of projects that implemented configuration-as-code and then later regretted it - the most recent example is I don't think having people dynamically generate JSON/YAML for their configuration is a big burden. I'd have to see some very compelling use-cases to convince me otherwise. That said, I do really like a bias towards settings that can be changed at runtime. Datasette has suffered a bit from some settings that can't be easily changed at runtime already - hence my gnarly https://github.com/simonw/datasette-remote-metadata plugin. For things like Datasette Cloud for example the more people can configure without rebooting their container the better! I don't think live reconfiguration at runtime is incompatible with JSON/YAML configuration though. Caddy is one of my favourite examples of software that can be entirely re-configured at runtime by POSTING a big blob of JSON to it: https://caddyserver.com/docs/quick-starts/api |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
De-tangling Metadata before Datasette 1.0 1855885427 | |
974683220 | https://github.com/simonw/datasette/issues/1522#issuecomment-974683220 | https://api.github.com/repos/simonw/datasette/issues/1522 | IC_kwDOBm6k_c46GHxU | simonw 9599 | 2021-11-20T17:29:12Z | 2021-11-20T17:29:12Z | OWNER |
That's a great idea. I'll try running on a non-Knative host too (probably Fly - though they actually run containers using Firecracker which ends up being completely different). Cloud Run are the only Knative host I've used, know of any others aside from Scaleway? They look like they're worth getting familiar with. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Deploy a live instance of demos/apache-proxy 1058896236 | |
850583584 | https://github.com/simonw/datasette/pull/1296#issuecomment-850583584 | https://api.github.com/repos/simonw/datasette/issues/1296 | MDEyOklzc3VlQ29tbWVudDg1MDU4MzU4NA== | simonw 9599 | 2021-05-28T18:06:11Z | 2021-05-28T18:06:11Z | OWNER |
That's a huge surprise to me! And most welcome. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile: use Ubuntu 20.10 as base 855446829 | |
797158641 | https://github.com/simonw/datasette/issues/670#issuecomment-797158641 | https://api.github.com/repos/simonw/datasette/issues/670 | MDEyOklzc3VlQ29tbWVudDc5NzE1ODY0MQ== | simonw 9599 | 2021-03-12T00:59:49Z | 2021-03-12T00:59:49Z | OWNER |
It looks like the answer to this is yes - I'll need users to setup read-only credentials. Here's a TIL about that: https://til.simonwillison.net/postgresql/read-only-postgresql-user |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Prototoype for Datasette on PostgreSQL 564833696 | |
705926445 | https://github.com/simonw/datasette/pull/1000#issuecomment-705926445 | https://api.github.com/repos/simonw/datasette/issues/1000 | MDEyOklzc3VlQ29tbWVudDcwNTkyNjQ0NQ== | simonw 9599 | 2020-10-09T02:15:38Z | 2020-10-09T02:15:38Z | OWNER |
That one is caused by |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.client internal requests mechanism 717746043 | |
782748093 | https://github.com/simonw/datasette/issues/782#issuecomment-782748093 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDc4Mjc0ODA5Mw== | simonw 9599 | 2021-02-20T20:54:52Z | 2021-02-20T20:54:52Z | OWNER |
Adding a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
846660103 | https://github.com/simonw/datasette/issues/615#issuecomment-846660103 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjY2MDEwMw== | simonw 9599 | 2021-05-24T00:47:00Z | 2021-05-24T00:47:00Z | OWNER |
Removing the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
1539109587 | https://github.com/simonw/sqlite-utils/issues/520#issuecomment-1539109587 | https://api.github.com/repos/simonw/sqlite-utils/issues/520 | IC_kwDOCGYnMM5bvPLT | simonw 9599 | 2023-05-08T22:00:46Z | 2023-05-08T22:00:46Z | OWNER |
Yes it is, good catch! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
rows_from_file() raises confusing error if file-like object is not in binary mode 1516644980 | |
869071790 | https://github.com/simonw/datasette/issues/1384#issuecomment-869071790 | https://api.github.com/repos/simonw/datasette/issues/1384 | MDEyOklzc3VlQ29tbWVudDg2OTA3MTc5MA== | simonw 9599 | 2021-06-26T23:04:12Z | 2021-06-26T23:04:12Z | OWNER |
Answering my own question: here's how Brandon implements it in his That's using a completely separate SQLite connection (actually wrapped in This is a pragmatic solution, which works - and likely performs just fine, because SQL queries like this against a small database are so fast that not running them asynchronously isn't actually a problem. But... it's weird. Everywhere else in Datasette land uses |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for dynamic metadata 930807135 | |
1696709110 | https://github.com/simonw/datasette/pull/2162#issuecomment-1696709110 | https://api.github.com/repos/simonw/datasette/issues/2162 | IC_kwDOBm6k_c5lIbn2 | simonw 9599 | 2023-08-29T03:20:40Z | 2023-08-29T03:22:47Z | OWNER |
I'm completely happy for the I don't think it causes any harm, and it could even be quite useful to have them visible on disk - other applications could read the Having those tables stick around in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add new `--internal internal.db` option, deprecate legacy `_internal` database 1870672704 | |
1006294777 | https://github.com/simonw/sqlite-utils/pull/361#issuecomment-1006294777 | https://api.github.com/repos/simonw/sqlite-utils/issues/361 | IC_kwDOCGYnMM47-tb5 | simonw 9599 | 2022-01-06T05:24:54Z | 2022-01-06T05:24:54Z | OWNER |
That turned out to be a bad idea because it meant exhausting the iterator early for the check - before we got to the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
--lines and --text and --convert and --import 1094890366 | |
389579762 | https://github.com/simonw/datasette/issues/266#issuecomment-389579762 | https://api.github.com/repos/simonw/datasette/issues/266 | MDEyOklzc3VlQ29tbWVudDM4OTU3OTc2Mg== | simonw 9599 | 2018-05-16T16:21:12Z | 2018-05-16T16:21:12Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Export to CSV 323681589 | |
1317797044 | https://github.com/simonw/datasette/pull/1893#issuecomment-1317797044 | https://api.github.com/repos/simonw/datasette/issues/1893 | IC_kwDOBm6k_c5Oi_y0 | simonw 9599 | 2022-11-16T23:08:34Z | 2022-11-16T23:08:34Z | OWNER |
Yeah, push that up. I'm happy to wire in the query right after we land this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Upgrade to CodeMirror 6, add SQL autocomplete 1450363982 | |
968451954 | https://github.com/simonw/sqlite-utils/issues/329#issuecomment-968451954 | https://api.github.com/repos/simonw/sqlite-utils/issues/329 | IC_kwDOCGYnMM45uWdy | simonw 9599 | 2021-11-15T02:05:29Z | 2021-11-15T02:05:29Z | OWNER |
I'm not going to do this, it's unnecessary extra complexity and it means the function that fixes the column names needs to have access to the current |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink approach to [ and ] in column names (currently throws error) 1005891028 | |
1407568923 | https://github.com/simonw/datasette/pull/2008#issuecomment-1407568923 | https://api.github.com/repos/simonw/datasette/issues/2008 | IC_kwDOBm6k_c5T5cwb | simonw 9599 | 2023-01-29T05:47:36Z | 2023-01-29T05:47:36Z | OWNER |
We don't have any performance tests yet - would be a useful thing to add, I've not built anything like that before (at least not in CI, I've always done as-hoc performance testing using something like Locust) so I don't have a great feel for how it could work. I see not having to change the tests at all for this change as a really positive sign. If you find any behaviour differences between this and the previous that's a sign we should add a mother test or two specifying the behaviour we want. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
array facet: don't materialize unnecessary columns 1560982210 | |
876616414 | https://github.com/simonw/datasette/issues/268#issuecomment-876616414 | https://api.github.com/repos/simonw/datasette/issues/268 | MDEyOklzc3VlQ29tbWVudDg3NjYxNjQxNA== | simonw 9599 | 2021-07-08T17:29:04Z | 2021-07-08T17:29:04Z | OWNER |
That's a deliberate feature (albeit controversial, see #759) - part of the main problem here is that it's easy to construct a SQLite full-text search string which results in a database error. This is a bad user-experience! You can opt-in to raw SQL queries by appending But maybe there should be an option for turning that on by default without needing the query string? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for ranking results from SQLite full-text search 323718842 | |
974701788 | https://github.com/simonw/datasette/issues/1519#issuecomment-974701788 | https://api.github.com/repos/simonw/datasette/issues/1519 | IC_kwDOBm6k_c46GMTc | simonw 9599 | 2021-11-20T19:42:29Z | 2021-11-20T19:42:29Z | OWNER |
On further thought I'm not going to do this. Having Datasette work behind a proxy the way it does right now is clearly easy for people to deploy (now that I've fixed the bugs) and I trust my improved tests to catch problems in the future. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base_url is omitted in JSON and CSV views 1058790545 | |
1029335225 | https://github.com/simonw/sqlite-utils/pull/385#issuecomment-1029335225 | https://api.github.com/repos/simonw/sqlite-utils/issues/385 | IC_kwDOCGYnMM49Wmi5 | simonw 9599 | 2022-02-03T19:39:40Z | 2022-02-03T19:39:40Z | OWNER |
Yeah that's too clever. You know what? I'm pretty confident we are both massively over-thinking this. We should put the methods on |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add new spatialite helper methods 1102899312 | |
1355319541 | https://github.com/simonw/datasette/pull/1960#issuecomment-1355319541 | https://api.github.com/repos/simonw/datasette/issues/1960 | IC_kwDOBm6k_c5QyIj1 | simonw 9599 | 2022-12-16T17:58:24Z | 2022-12-16T17:58:46Z | OWNER |
It did not: I'm still seeing those same failures. Frustrating: https://github.com/simonw/datasette/actions/runs/3715317653/jobs/6300336884
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Port as many tests as possible to async def tests against ds_client 1499150951 | |
698178101 | https://github.com/simonw/sqlite-utils/issues/172#issuecomment-698178101 | https://api.github.com/repos/simonw/sqlite-utils/issues/172 | MDEyOklzc3VlQ29tbWVudDY5ODE3ODEwMQ== | simonw 9599 | 2020-09-24T07:48:57Z | 2020-09-24T07:49:20Z | OWNER |
Thu Sep 24 00:48:20 PDT 2020 Thu Sep 24 00:48:24 PDT 2020 Thu Sep 24 00:48:28 PDT 2020 Thu Sep 24 00:48:32 PDT 2020 ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Improve performance of extract operations 707427200 | |
877717262 | https://github.com/simonw/datasette/issues/1388#issuecomment-877717262 | https://api.github.com/repos/simonw/datasette/issues/1388 | MDEyOklzc3VlQ29tbWVudDg3NzcxNzI2Mg== | simonw 9599 | 2021-07-10T23:37:54Z | 2021-07-10T23:37:54Z | OWNER |
I'm going to hold off on implementing this until someone asks for it. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Serve using UNIX domain socket 939051549 | |
1689207309 | https://github.com/simonw/datasette/issues/2123#issuecomment-1689207309 | https://api.github.com/repos/simonw/datasette/issues/2123 | IC_kwDOBm6k_c5kr0IN | simonw 9599 | 2023-08-23T03:07:27Z | 2023-08-23T03:07:27Z | OWNER |
Yes please! What an odd bug. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette serve when invoked with --reload interprets the serve command as a file 1825007061 | |
846482057 | https://github.com/simonw/datasette/issues/1331#issuecomment-846482057 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0NjQ4MjA1Nw== | simonw 9599 | 2021-05-23T00:39:55Z | 2021-05-23T00:39:55Z | OWNER |
Bumped that dependency in b64d87204612a84663616e075f542499a5d82a03 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
1317449610 | https://github.com/simonw/datasette/pull/1893#issuecomment-1317449610 | https://api.github.com/repos/simonw/datasette/issues/1893 | IC_kwDOBm6k_c5Ohq-K | simonw 9599 | 2022-11-16T18:14:28Z | 2022-11-16T18:14:28Z | OWNER |
Huh, yeah we should definitely have |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Upgrade to CodeMirror 6, add SQL autocomplete 1450363982 | |
1462921890 | https://github.com/simonw/datasette/pull/2031#issuecomment-1462921890 | https://api.github.com/repos/simonw/datasette/issues/2031 | IC_kwDOBm6k_c5XMmqi | simonw 9599 | 2023-03-09T22:35:30Z | 2023-03-09T22:35:30Z | OWNER |
Sure, let's merge that one too - it can go out in the next |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Expand foreign key references in row view as well 1605481359 | |
650842514 | https://github.com/simonw/datasette/issues/864#issuecomment-650842514 | https://api.github.com/repos/simonw/datasette/issues/864 | MDEyOklzc3VlQ29tbWVudDY1MDg0MjUxNA== | simonw 9599 | 2020-06-29T00:12:59Z | 2020-06-29T00:12:59Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.add_message() doesn't work inside plugins 644309017 | |
691526719 | https://github.com/simonw/datasette/issues/262#issuecomment-691526719 | https://api.github.com/repos/simonw/datasette/issues/262 | MDEyOklzc3VlQ29tbWVudDY5MTUyNjcxOQ== | simonw 9599 | 2020-09-12T18:19:50Z | 2020-09-12T18:19:50Z | OWNER |
I built a version of that a while ago as the |
{ "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 | |
599127453 | https://github.com/simonw/sqlite-utils/issues/92#issuecomment-599127453 | https://api.github.com/repos/simonw/sqlite-utils/issues/92 | MDEyOklzc3VlQ29tbWVudDU5OTEyNzQ1Mw== | simonw 9599 | 2020-03-14T19:50:08Z | 2020-03-14T19:50:08Z | OWNER |
I currently treat those as |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.columns_dict doesn't work for all possible column types 581339961 | |
974559176 | https://github.com/simonw/datasette/issues/1519#issuecomment-974559176 | https://api.github.com/repos/simonw/datasette/issues/1519 | IC_kwDOBm6k_c46FpfI | simonw 9599 | 2021-11-20T00:42:08Z | 2021-11-20T00:42:08Z | OWNER |
This worked, I managed to get the tests to fail! Here's the change I made: ```diff diff --git a/tests/test_html.py b/tests/test_html.py index f24165b..dbdfe59 100644 --- a/tests/test_html.py +++ b/tests/test_html.py @@ -1614,12 +1614,19 @@ def test_metadata_sort_desc(app_client): "/fixtures/compound_three_primary_keys/a,a,a", "/fixtures/paginated_view", "/fixtures/facetable", + "/fixtures?sql=select+1", ], ) -def test_base_url_config(app_client_base_url_prefix, path): +@pytest.mark.parametrize("use_prefix", (True, False)) +def test_base_url_config(app_client_base_url_prefix, path, use_prefix): client = app_client_base_url_prefix - response = client.get("/prefix/" + path.lstrip("/")) + path_to_get = path + if use_prefix: + path_to_get = "/prefix/" + path.lstrip("/") + response = client.get(path_to_get) soup = Soup(response.body, "html.parser") + if path == "/fixtures?sql=select+1": + assert False for el in soup.findAll(["a", "link", "script"]): if "href" in el.attrs: href = el["href"] @@ -1642,11 +1649,12 @@ def test_base_url_config(app_client_base_url_prefix, path): # If this has been made absolute it may start http://localhost/ if href.startswith("http://localhost/"): href = href[len("http://localost/") :] - assert href.startswith("/prefix/"), { + assert href.startswith("/prefix/"), json.dumps({ "path": path, + "path_to_get": path_to_get, "href_or_src": href, "element_parent": str(el.parent), - } + }, indent=4, default=repr) def test_base_url_affects_metadata_extra_css_urls(app_client_base_url_prefix): ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base_url is omitted in JSON and CSV views 1058790545 | |
1238873948 | https://github.com/simonw/sqlite-utils/issues/471#issuecomment-1238873948 | https://api.github.com/repos/simonw/sqlite-utils/issues/471 | IC_kwDOCGYnMM5J17dc | simonw 9599 | 2022-09-07T03:46:26Z | 2022-09-07T03:46:26Z | OWNER |
Not sure what you mean here? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils query --functions mechanism for registering extra functions 1352932716 | |
392606418 | https://github.com/simonw/datasette/issues/179#issuecomment-392606418 | https://api.github.com/repos/simonw/datasette/issues/179 | MDEyOklzc3VlQ29tbWVudDM5MjYwNjQxOA== | simonw 9599 | 2018-05-28T21:32:37Z | 2018-05-28T21:32:37Z | OWNER |
That's now covered by the plugins mechanism - you can create plugins that define custom template functions: http://datasette.readthedocs.io/en/stable/plugins.html#prepare-jinja2-environment-env |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
More metadata options for template authors 288438570 | |
1059652538 | https://github.com/simonw/sqlite-utils/issues/412#issuecomment-1059652538 | https://api.github.com/repos/simonw/sqlite-utils/issues/412 | IC_kwDOCGYnMM4_KQO6 | simonw 9599 | 2022-03-05T02:13:17Z | 2022-03-05T02:13:17Z | OWNER |
Shows a DateFrame``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Optional Pandas integration 1160182768 | |
389626715 | https://github.com/simonw/datasette/issues/266#issuecomment-389626715 | https://api.github.com/repos/simonw/datasette/issues/266 | MDEyOklzc3VlQ29tbWVudDM4OTYyNjcxNQ== | simonw 9599 | 2018-05-16T18:50:46Z | 2018-05-16T18:50:46Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Export to CSV 323681589 | |
1045024276 | https://github.com/simonw/datasette/issues/1439#issuecomment-1045024276 | https://api.github.com/repos/simonw/datasette/issues/1439 | IC_kwDOBm6k_c4-Sc4U | simonw 9599 | 2022-02-18T19:01:42Z | 2022-02-18T19:55:24Z | OWNER |
def dash_decode(s): return s.replace("-/", "/").replace("-.", ".").replace("--", "-") ``` ```pycon
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rethink how .ext formats (v.s. ?_format=) works before 1.0 973139047 | |
901475812 | https://github.com/simonw/datasette/issues/1293#issuecomment-901475812 | https://api.github.com/repos/simonw/datasette/issues/1293 | IC_kwDOBm6k_c41u23k | simonw 9599 | 2021-08-18T22:41:19Z | 2021-08-18T22:41:19Z | OWNER |
I'm going to do this, and call the Python library |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
997502242 | https://github.com/simonw/sqlite-utils/issues/163#issuecomment-997502242 | https://api.github.com/repos/simonw/sqlite-utils/issues/163 | IC_kwDOCGYnMM47dK0i | simonw 9599 | 2021-12-20T00:56:45Z | 2021-12-20T00:56:52Z | OWNER |
I implemented that in: - #251 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Idea: conversions= could take Python functions 706001517 | |
782747743 | https://github.com/simonw/datasette/issues/782#issuecomment-782747743 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDc4Mjc0Nzc0Mw== | simonw 9599 | 2021-02-20T20:52:10Z | 2021-02-20T20:52:10Z | OWNER |
The problem there is that https://latest-with-plugins.datasette.io/github?sql=select+*+from+commits - Datasette returns 1,000 results, and shows a "Custom SQL query returning more than 1,000 rows" message at the top. That's the I find myself using This is only really a concern for arbitrary SQL queries though - for table pages such as https://latest-with-plugins.datasette.io/github/commits?_size=10 adding |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
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 | |
999870282 | https://github.com/simonw/datasette/issues/1518#issuecomment-999870282 | https://api.github.com/repos/simonw/datasette/issues/1518 | IC_kwDOBm6k_c47mM9K | simonw 9599 | 2021-12-22T20:45:56Z | 2021-12-22T20:46:08Z | OWNER |
I wrote code to execute those in parallel using ```diff diff --git a/datasette/views/table.py b/datasette/views/table.py index 9808fd2..ec9db64 100644 --- a/datasette/views/table.py +++ b/datasette/views/table.py @@ -1,3 +1,4 @@ +import asyncio import urllib import itertools import json @@ -615,44 +616,37 @@ class TableView(RowTableShared): if request.args.get("_timelimit"): extra_args["custom_time_limit"] = int(request.args.get("_timelimit"))
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Complete refactor of TableView and table.html template 1058072543 | |
855428601 | https://github.com/simonw/datasette/issues/1362#issuecomment-855428601 | https://api.github.com/repos/simonw/datasette/issues/1362 | MDEyOklzc3VlQ29tbWVudDg1NTQyODYwMQ== | simonw 9599 | 2021-06-06T16:55:33Z | 2021-06-06T16:55:33Z | OWNER |
Hah, of course! Thanks for the correction. So the nonce mechanism would actually be pretty great here, especially for the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider using CSP to protect against future XSS 912864936 | |
905021933 | https://github.com/simonw/sqlite-utils/issues/319#issuecomment-905021933 | https://api.github.com/repos/simonw/sqlite-utils/issues/319 | IC_kwDOCGYnMM418Ynt | simonw 9599 | 2021-08-24T22:36:04Z | 2021-08-24T22:36:04Z | OWNER |
I thought about supporting those different policies (with something like ``` Error: Could not read file '/Users/simon/Dropbox/Development/sqlite-utils/data.txt' as text 'utf-8' codec can't decode byte 0xe3 in position 83: invalid continuation byte The input you provided uses a character encoding other than utf-8. You can fix this by passing the --encoding= option with the encoding of the file. If you do not know the encoding, running 'file filename.csv' may tell you. It's often worth trying: --encoding=latin-1
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
[Enhancement] Please allow 'insert-files' to insert content as text. 976399638 | |
855369819 | https://github.com/simonw/datasette/issues/283#issuecomment-855369819 | https://api.github.com/repos/simonw/datasette/issues/283 | MDEyOklzc3VlQ29tbWVudDg1NTM2OTgxOQ== | simonw 9599 | 2021-06-06T09:40:18Z | 2021-06-06T09:40:18Z | OWNER |
That issue is fixed in #1276. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Support cross-database joins 325958506 | |
650593122 | https://github.com/simonw/datasette/issues/842#issuecomment-650593122 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY1MDU5MzEyMg== | simonw 9599 | 2020-06-27T18:03:02Z | 2020-06-27T18:03:10Z | OWNER |
This is an open security hole in https://github.com/simonw/datasette/commit/94c1315f0030fd58ce46a9294052c5c9d9d181c7 - it's useful for testing, but I need to remove it before I land that branch. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
618775631 | https://github.com/simonw/datasette/issues/648#issuecomment-618775631 | https://api.github.com/repos/simonw/datasette/issues/648 | MDEyOklzc3VlQ29tbWVudDYxODc3NTYzMQ== | simonw 9599 | 2020-04-24T03:03:35Z | 2020-04-24T03:03:35Z | OWNER |
I think I could do that with a custom template function - if that function is called during the render then we follow those instructions instead of returning the rendered HTML. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for adding arbitrary pages like /about 534492501 |
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]);
issue >30