issue_comments
10,495 rows sorted by issue descending
This data as json, CSV (advanced)
issue >30
- Redesign default .json format 55
- Show column metadata plus links for foreign keys on arbitrary query results 51
- ?_extra= support (draft) 49
- Rethink how .ext formats (v.s. ?_format=) works before 1.0 48
- Upgrade to CodeMirror 6, add SQL autocomplete 48
- JavaScript plugin hooks mechanism similar to pluggy 47
- Updated Dockerfile with SpatiaLite version 5.0 45
- Complete refactor of TableView and table.html template 45
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- invoke_startup() is not run in some conditions, e.g. gunicorn/uvicorn workers, breaking lots of things 36
- Deploy a live instance of demos/apache-proxy 34
- await datasette.client.get(path) mechanism for executing internal requests 33
- Maintain an in-memory SQLite table of connected databases and their tables 32
- Research: demonstrate if parallel SQL queries are worthwhile 32
- Ability to sort (and paginate) by column 31
- Default API token authentication mechanism 30
- Port as many tests as possible to async def tests against ds_client 29
- link_or_copy_directory() error - Invalid cross-device link 28
- Add ?_extra= mechanism for requesting extra properties in JSON 27
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 27
- Optimize all those calls to index_list and foreign_key_list 27
- Support cross-database joins 26
- Ability for a canned query to write to the database 26
- table.transform() method for advanced alter table 26
- New pattern for views that return either JSON or HTML, available for plugins 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- WIP: Add Gmail takeout mbox import 25
- …
id | html_url | issue_url | node_id | user | created_at | updated_at | author_association | body | reactions | issue ▲ | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
1724083324 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724083324 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mw2x8 | simonw 9599 | 2023-09-18T17:46:21Z | 2023-09-18T17:46:21Z | OWNER | Sometimes it takes a few clicks for the bug to occur, but it does seem to always be within the in-memory database. |
{ "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 | |
1724084199 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724084199 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mw2_n | simonw 9599 | 2023-09-18T17:47:01Z | 2023-09-18T17:47:01Z | OWNER | I managed to trigger it by loading |
{ "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 | |
1724089666 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724089666 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mw4VC | simonw 9599 | 2023-09-18T17:49:24Z | 2023-09-18T17:49:24Z | OWNER | I switched that particular implementation to using an on-disk database instead of an in-memory database and could no longer recreate the bug. |
{ "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 | |
1724157182 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724157182 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxIz- | simonw 9599 | 2023-09-18T18:30:30Z | 2023-09-18T18:30:30Z | OWNER | OK, I can trigger the bug like this:
|
{ "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 | |
1724159882 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724159882 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxJeK | simonw 9599 | 2023-09-18T18:32:29Z | 2023-09-18T18:32:29Z | OWNER | This worked, including on macOS even though GPT-4 thought !/bin/bashRun the command with a timeout of 5 secondstimeout 5s datasette pottery2.db -p 8045 --get /airtable_refs/airtable_refs Check the exit code from timeoutif [ $? -eq 124 ]; then echo "Error: Command timed out after 5 seconds." exit 1 fi ``` |
{ "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 | |
1724257290 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724257290 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxhQK | simonw 9599 | 2023-09-18T19:39:27Z | 2023-09-18T19:44:26Z | OWNER | I'm now trying this test script: ```bash !/bin/bashport=8064 Start datasette server in the background and get its PIDdatasette pottery2.db -p $port & server_pid=$! Wait for a moment to ensure the server has time to start upsleep 2 Initialize counters and parametersretry_count=0 max_retries=3 success_count=0 path="/airtable_refs/airtable_refs" Function to run curl with a timeoutfunction test_curl { # Run the curl command with a timeout of 3 seconds timeout 3s curl -s "http://localhost:${port}${path}" > /dev/null if [ $? -eq 0 ]; then # Curl was successful ((success_count++)) fi } Try three parallel curl requestswhile [[ $retry_count -lt $max_retries ]]; do # Reset the success counter success_count=0
done Kill the datasette serverecho "Killing datasette server with PID $server_pid" kill -9 $server_pid sleep 2 Print resultif [[ $success_count -eq 3 ]]; then
echo "All three curls succeeded."
exit 0
else
echo "Error: Not all curls succeeded after $retry_count attempts."
exit 1
fi
|
{ "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 | |
1724258279 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724258279 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxhfn | simonw 9599 | 2023-09-18T19:40:13Z | 2023-09-18T19:40:13Z | OWNER | Output while it is running looks like this:
|
{ "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 | |
1724259229 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724259229 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxhud | simonw 9599 | 2023-09-18T19:40:56Z | 2023-09-18T19:40:56Z | OWNER | I tried it with a path of |
{ "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 | |
1724263390 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724263390 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxive | simonw 9599 | 2023-09-18T19:44:03Z | 2023-09-18T19:44:03Z | OWNER | I knocked it down to 1 retry just to see what happened. |
{ "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 | |
1724276917 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724276917 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxmC1 | simonw 9599 | 2023-09-18T19:54:23Z | 2023-09-18T19:54:23Z | OWNER | Turned out I wasn't running the FIxed that with Now I'm seeing some passes, which look like this:
|
{ "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 | |
1724278386 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724278386 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxmZy | simonw 9599 | 2023-09-18T19:55:32Z | 2023-09-18T19:55:32Z | OWNER | OK it looks like it found it! ``` 942411ef946e9a34a2094944d3423cddad27efd3 is the first bad commit commit Author: Simon Willison swillison@gmail.com Date: Tue Apr 26 15:48:56 2022 -0700
datasette/views/table.py | 93 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 67 insertions(+), 26 deletions(-) bisect found first bad commit ``` https://github.com/simonw/datasette/commit/942411ef946e9a34a2094944d3423cddad27efd3 does look like the cause of this problem. |
{ "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 | |
1724281824 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724281824 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxnPg | simonw 9599 | 2023-09-18T19:58:06Z | 2023-09-18T19:58:06Z | OWNER | I also confirmed that |
{ "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 | |
1724298817 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724298817 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxrZB | simonw 9599 | 2023-09-18T20:11:26Z | 2023-09-18T20:11:26Z | OWNER | Now that I've confirmed that parallel query execution of the kind introduced in https://github.com/simonw/datasette/commit/942411ef946e9a34a2094944d3423cddad27efd3 can cause hangs (presumably some kind of locking issue) against in-memory databases, some options:
The parallel execution work is something I was playing with last year in the hope of speeding up Datasette pages like the table page which need to execute a bunch of queries - one for each facet, plus one for each column to see if it should be suggested as a facet. I wrote about this at the time here: https://simonwillison.net/2022/May/6/weeknotes/ My hope was that despite Python's GIL this optimization would still help, because the SQLite C module releases the GIL once it gets to SQLite. But... that didn't hold up. It looked like enough work was happening in Python land with the GIL that the optimization didn't improve things. Running the ... which it now has! But it will still be a year or two before it fully lands: https://discuss.python.org/t/a-steering-council-notice-about-pep-703-making-the-global-interpreter-lock-optional-in-cpython/30474 So I'm not particularly concerned about dropping the parallel execution. If I do drop it though do I leave the potentially complex code in that relates to it? |
{ "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 | |
1724305169 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724305169 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxs8R | simonw 9599 | 2023-09-18T20:16:22Z | 2023-09-18T20:16:36Z | OWNER | Looking again at this code:
Python docs at https://docs.python.org/3/library/sqlite3.html
I think I'm playing with fire by allowing multiple threads to access the same connection without doing my own serialization of those requests. I do do that using the write connection - and in this particular case the bug isn't coming from write queries, it's coming from read queries - but perhaps SQLite has issues with threading for reads, too. |
{ "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 | |
1724315591 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724315591 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxvfH | simonw 9599 | 2023-09-18T20:24:30Z | 2023-09-18T20:24:30Z | OWNER | Using SQLite In Multi-Threaded Applications That indicates that there's a SQLite option for "Serialized" mode where it's safe to access anything SQLite provides from multiple threads, but as far as I can tell Python doesn't give you an option to turn that mode on or off for a connection - you can read On my Mac |
{ "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 | |
1724317367 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724317367 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxv63 | simonw 9599 | 2023-09-18T20:25:44Z | 2023-09-18T20:25:44Z | OWNER | My current hunch is that SQLite gets unhappy if multiple threads access the same underlying C object - which sometimes happens with in-memory connections and Datasette presumably because they are faster than file-backed databases. I'm going to remove the |
{ "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 | |
1724325068 | https://github.com/simonw/datasette/issues/2189#issuecomment-1724325068 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5mxxzM | simonw 9599 | 2023-09-18T20:29:41Z | 2023-09-18T20:29:41Z | OWNER | The one other thing affected by this change is this documentation, which suggests a not-actually-safe pattern: https://github.com/simonw/datasette/blob/6ed7908580fa2ba9297c3225d85c56f8b08b9937/docs/internals.rst#L1292-L1321 |
{ "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 | |
1726749355 | https://github.com/simonw/datasette/issues/2189#issuecomment-1726749355 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5m7Bqr | simonw 9599 | 2023-09-20T01:28:16Z | 2023-09-20T01:28:16Z | OWNER | Added a note to that example in the documentation: https://github.com/simonw/datasette/blob/4e6a34179eaedec44c1263275d7592fd83d7e2ac/docs/internals.rst?plain=1#L1320 |
{ "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 | |
1728192688 | https://github.com/simonw/datasette/issues/2189#issuecomment-1728192688 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5nAiCw | yozlet 173848 | 2023-09-20T17:53:31Z | 2023-09-20T17:53:31Z | NONE |
|
{ "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 | |
1730162283 | https://github.com/simonw/datasette/issues/2189#issuecomment-1730162283 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5nIC5r | simonw 9599 | 2023-09-21T19:19:47Z | 2023-09-21T19:19:47Z | OWNER | I'm going to release this in |
{ "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 | |
1730231404 | https://github.com/simonw/datasette/issues/2189#issuecomment-1730231404 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5nITxs | simonw 9599 | 2023-09-21T20:10:28Z | 2023-09-21T20:10:28Z | OWNER | Release 0.64.4: https://docs.datasette.io/en/stable/changelog.html#v0-64-4 |
{ "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 | |
1730232308 | https://github.com/simonw/datasette/issues/2189#issuecomment-1730232308 | https://api.github.com/repos/simonw/datasette/issues/2189 | IC_kwDOBm6k_c5nIT_0 | simonw 9599 | 2023-09-21T20:11:16Z | 2023-09-21T20:11:16Z | OWNER | We're planning a breaking change in Since that's a breaking change I'm going to ship 1.0a7 right now with this fix, then ship that breaking change as |
{ "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 | |
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 | |
1722662413 | https://github.com/simonw/datasette/issues/2188#issuecomment-1722662413 | https://api.github.com/repos/simonw/datasette/issues/2188 | IC_kwDOBm6k_c5mrb4N | simonw 9599 | 2023-09-18T02:01:34Z | 2023-09-18T02:01:34Z | OWNER | I'm not interested in these in Datasette core itself, but I think they have a ton of potential for plugins. I wonder what the best way to handle that would be? Right now it's possible to write a plugin that adds extra routes, so someone could build a If this could return JSON, they could add JavaScript to the Something that could make that more ergonomic might be the plugin hook that allows plugins to add extra HTML to different core database pages - e.g. adding a "Query this database using PRQL" button or link or even a full form at the top of that database page. That's this issue here:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin Hooks for "compile to SQL" languages 1900026059 | |
1722848454 | https://github.com/simonw/datasette/issues/2188#issuecomment-1722848454 | https://api.github.com/repos/simonw/datasette/issues/2188 | IC_kwDOBm6k_c5msJTG | asg017 15178711 | 2023-09-18T06:58:53Z | 2023-09-18T06:58:53Z | CONTRIBUTOR | Thinking about this more, here a list of things I imagine a "compile-to-sql" plugin would want to do:
1) and 2) would be difficult to do with current plugin hooks, unless we add the concept of "slots" and get the JS plugin support in. 3) could maybe be done with the So it really only sounds like extending the SQL editor will be the hard part. In #2094 I want to add JavaScript plugin hooks for extending the SQL editor, which may work here. If I get the time/motivation, I might try out a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin Hooks for "compile to SQL" languages 1900026059 | |
1721740872 | https://github.com/simonw/datasette/issues/2186#issuecomment-1721740872 | https://api.github.com/repos/simonw/datasette/issues/2186 | IC_kwDOBm6k_c5mn65I | simonw 9599 | 2023-09-15T19:26:51Z | 2023-09-15T19:27:19Z | OWNER | Here's where it's called at the moment: https://github.com/simonw/datasette/blob/16f0b6d8222d06682a31b904d0a402c391ae1c1c/datasette/views/base.py#L297-L313 And the docs: https://github.com/simonw/datasette/blob/1.0a6/docs/plugin_hooks.rst#register-output-renderer-datasette I'm tempted to add a
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for register_output_renderer hooks to access full count 1898927976 | |
1721742055 | https://github.com/simonw/datasette/issues/2186#issuecomment-1721742055 | https://api.github.com/repos/simonw/datasette/issues/2186 | IC_kwDOBm6k_c5mn7Ln | simonw 9599 | 2023-09-15T19:27:59Z | 2023-09-15T19:27:59Z | OWNER | This feels like it might be quite a nice pattern generally - providing optional arguments to plugins and views that can be |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for register_output_renderer hooks to access full count 1898927976 | |
1719468727 | https://github.com/simonw/datasette/pull/2185#issuecomment-1719468727 | https://api.github.com/repos/simonw/datasette/issues/2185 | IC_kwDOBm6k_c5mfQK3 | codecov[bot] 22429695 | 2023-09-14T13:36:07Z | 2023-09-19T13:42:35Z | NONE | Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2185 +/- ## ========================================== - Coverage 92.69% 92.66% -0.04% ========================================== Files 40 40 Lines 6039 6039 ========================================== - Hits 5598 5596 -2 - Misses 441 443 +2 ``` [see 1 file with indirect coverage changes](https://app.codecov.io/gh/simonw/datasette/pull/2185/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison):umbrella: View full report in Codecov by Sentry. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump the python-packages group with 3 updates 1896578249 | |
1714919806 | https://github.com/simonw/sqlite-utils/issues/594#issuecomment-1714919806 | https://api.github.com/repos/simonw/sqlite-utils/issues/594 | IC_kwDOCGYnMM5mN5l- | simonw 9599 | 2023-09-12T03:49:41Z | 2023-09-12T03:49:41Z | OWNER | Digging in a bit more: ```pycon
Right now I ignore those columns entirely: https://github.com/simonw/sqlite-utils/blob/622c3a5a7dd53a09c029e2af40c2643fe7579340/sqlite_utils/db.py#L1523-L1540 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Represent compound foreign keys in table.foreign_keys output 1891614971 | |
1714920708 | https://github.com/simonw/sqlite-utils/issues/594#issuecomment-1714920708 | https://api.github.com/repos/simonw/sqlite-utils/issues/594 | IC_kwDOCGYnMM5mN50E | simonw 9599 | 2023-09-12T03:51:13Z | 2023-09-12T03:51:13Z | OWNER | Changing this without breaking backwards compatibility (and forcing a 4.0 release) will be tricky, because I could swap it out for a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Represent compound foreign keys in table.foreign_keys output 1891614971 | |
1714544153 | https://github.com/simonw/datasette/pull/2183#issuecomment-1714544153 | https://api.github.com/repos/simonw/datasette/issues/2183 | IC_kwDOBm6k_c5mMd4Z | codecov[bot] 22429695 | 2023-09-11T20:37:52Z | 2023-09-13T20:58:51Z | NONE | Codecov ReportPatch coverage:
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2183 +/- ## ========================================== - Coverage 92.69% 92.66% -0.04% ========================================== Files 40 40 Lines 6025 6039 +14 ========================================== + Hits 5585 5596 +11 - Misses 440 443 +3 ``` | [Files Changed](https://app.codecov.io/gh/simonw/datasette/pull/2183?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/app.py](https://app.codecov.io/gh/simonw/datasette/pull/2183?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.19% <95.00%> (-0.24%)` | :arrow_down: |:umbrella: View full report in Codecov by Sentry. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`datasette.yaml` plugin support 1891212159 | |
1714699724 | https://github.com/simonw/datasette/pull/2183#issuecomment-1714699724 | https://api.github.com/repos/simonw/datasette/issues/2183 | IC_kwDOBm6k_c5mND3M | simonw 9599 | 2023-09-11T23:01:36Z | 2023-09-11T23:02:30Z | OWNER | On thinking about this further, I'm fine releasing it as another alpha provided it causes Datasette to error loudly with an explanatory message if you attempt to load Something like this:
For added usability points, let's have it suggest |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`datasette.yaml` plugin support 1891212159 | |
1716801971 | https://github.com/simonw/datasette/pull/2183#issuecomment-1716801971 | https://api.github.com/repos/simonw/datasette/issues/2183 | IC_kwDOBm6k_c5mVFGz | asg017 15178711 | 2023-09-13T01:34:01Z | 2023-09-13T01:34:01Z | CONTRIBUTOR | @simonw docs are finished, this is ready for review! One thing: I added "Configuration" as a top-level item in the documentation site, at the very bottom. Not sure if this is the best, maybe it can be named "datasette.yaml Configuration" or something similar? Mostly because "Configuration" by itself can mean many things, but adding "datasette.yaml" would make it pretty clear it's about that specific file, and is easier to scan. I'd also be fine with using "datasette.yaml" instead of "datasette.json", since writing in YAML is much more forgiving (and advanced users will know JSON is also supported) Also, maybe this is a chance to consolidate the docs a bit? I think "Settings", "Configuration", "Metadata", and "Authentication and permissions" should possibly be under the same section. Maybe even consolidate the different Plugin pages that exist? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`datasette.yaml` plugin support 1891212159 | |
1718316733 | https://github.com/simonw/datasette/pull/2183#issuecomment-1718316733 | https://api.github.com/repos/simonw/datasette/issues/2183 | IC_kwDOBm6k_c5ma269 | simonw 9599 | 2023-09-13T21:05:36Z | 2023-09-13T21:05:36Z | OWNER | I'm going to land this and make any further documentation tweaks on |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`datasette.yaml` plugin support 1891212159 | |
1719451803 | https://github.com/simonw/datasette/pull/2182#issuecomment-1719451803 | https://api.github.com/repos/simonw/datasette/issues/2182 | IC_kwDOBm6k_c5mfMCb | dependabot[bot] 49699333 | 2023-09-14T13:27:26Z | 2023-09-14T13:27:26Z | CONTRIBUTOR | Looks like these dependencies are updatable in another way, so this is no longer needed. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump the python-packages group with 2 updates 1890593563 | |
1710969448 | https://github.com/simonw/datasette/pull/2181#issuecomment-1710969448 | https://api.github.com/repos/simonw/datasette/issues/2181 | IC_kwDOBm6k_c5l-1Jo | simonw 9599 | 2023-09-08T01:53:27Z | 2023-09-08T01:53:27Z | OWNER | Documentation preview: - https://datasette--2181.org.readthedocs.build/en/2181/internals.html#await-actors-from-ids-actor-ids - https://datasette--2181.org.readthedocs.build/en/2181/plugin_hooks.html#plugin-hook-actors-from-ids |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
actors_from_ids plugin hook and datasette.actors_from_ids() method 1886812002 | |
1710972324 | https://github.com/simonw/datasette/pull/2181#issuecomment-1710972324 | https://api.github.com/repos/simonw/datasette/issues/2181 | IC_kwDOBm6k_c5l-12k | codecov[bot] 22429695 | 2023-09-08T01:58:44Z | 2023-09-08T03:43:43Z | NONE | Codecov ReportPatch coverage:
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2181 +/- ## ======================================= Coverage 92.68% 92.69% ======================================= Files 40 40 Lines 6017 6025 +8 ======================================= + Hits 5577 5585 +8 Misses 440 440 ``` | [Files Changed](https://app.codecov.io/gh/simonw/datasette/pull/2181?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/app.py](https://app.codecov.io/gh/simonw/datasette/pull/2181?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.43% <100.00%> (+0.03%)` | :arrow_up: | | [datasette/hookspecs.py](https://app.codecov.io/gh/simonw/datasette/pull/2181?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2hvb2tzcGVjcy5weQ==) | `100.00% <100.00%> (ø)` | |:umbrella: View full report in Codecov by Sentry. :loudspeaker: Have feedback on the report? Share it here. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
actors_from_ids plugin hook and datasette.actors_from_ids() method 1886812002 | |
1711054840 | https://github.com/simonw/datasette/pull/2181#issuecomment-1711054840 | https://api.github.com/repos/simonw/datasette/issues/2181 | IC_kwDOBm6k_c5l_J_4 | simonw 9599 | 2023-09-08T04:23:47Z | 2023-09-08T04:23:47Z | OWNER | I've implemented this hook once now in: - https://github.com/datasette/datasette-remote-actors And built and tested a debug tool for it in: - https://github.com/datasette/datasette-debug-actors-from-ids I'm now confident in the design of this plugin hook, I'm going to land it. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
actors_from_ids plugin hook and datasette.actors_from_ids() method 1886812002 | |
1710947637 | https://github.com/simonw/datasette/issues/2180#issuecomment-1710947637 | https://api.github.com/repos/simonw/datasette/issues/2180 | IC_kwDOBm6k_c5l-v01 | simonw 9599 | 2023-09-08T01:17:28Z | 2023-09-08T01:17:28Z | OWNER | I think this is both a plugin hook and a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook: `actors_from_ids()` 1886791100 | |
1710969339 | https://github.com/simonw/datasette/issues/2180#issuecomment-1710969339 | https://api.github.com/repos/simonw/datasette/issues/2180 | IC_kwDOBm6k_c5l-1H7 | simonw 9599 | 2023-09-08T01:53:16Z | 2023-09-08T01:53:16Z | OWNER | Documentation preview: - https://datasette--2181.org.readthedocs.build/en/2181/internals.html#await-actors-from-ids-actor-ids - https://datasette--2181.org.readthedocs.build/en/2181/plugin_hooks.html#plugin-hook-actors-from-ids |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook: `actors_from_ids()` 1886791100 | |
1711028355 | https://github.com/simonw/datasette/issues/2180#issuecomment-1711028355 | https://api.github.com/repos/simonw/datasette/issues/2180 | IC_kwDOBm6k_c5l_DiD | simonw 9599 | 2023-09-08T03:36:02Z | 2023-09-08T03:36:02Z | OWNER | I shipped the first version of When I land this plugin in a Datasette release I need to update that repo to depend on the new alpha. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook: `actors_from_ids()` 1886791100 | |
1711054624 | https://github.com/simonw/datasette/issues/2180#issuecomment-1711054624 | https://api.github.com/repos/simonw/datasette/issues/2180 | IC_kwDOBm6k_c5l_J8g | simonw 9599 | 2023-09-08T04:23:23Z | 2023-09-08T04:23:23Z | OWNER | I've implemented this hook once now in: - https://github.com/datasette/datasette-remote-actors And built and tested a debug tool for it in: - https://github.com/datasette/datasette-debug-actors-from-ids I'm now confident in the design of this plugin hook, I'm going to land it. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook: `actors_from_ids()` 1886791100 | |
1711057080 | https://github.com/simonw/datasette/issues/2180#issuecomment-1711057080 | https://api.github.com/repos/simonw/datasette/issues/2180 | IC_kwDOBm6k_c5l_Ki4 | simonw 9599 | 2023-09-08T04:28:03Z | 2023-09-08T04:28:03Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook: `actors_from_ids()` 1886791100 | ||
1712895084 | https://github.com/simonw/datasette/issues/2180#issuecomment-1712895084 | https://api.github.com/repos/simonw/datasette/issues/2180 | IC_kwDOBm6k_c5mGLRs | simonw 9599 | 2023-09-10T17:44:14Z | 2023-09-10T17:44:14Z | OWNER | Used by |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook: `actors_from_ids()` 1886791100 | |
1710939868 | https://github.com/simonw/sqlite-utils/pull/593#issuecomment-1710939868 | https://api.github.com/repos/simonw/sqlite-utils/issues/593 | IC_kwDOCGYnMM5l-t7c | codecov[bot] 22429695 | 2023-09-08T01:03:40Z | 2023-09-09T00:44:52Z | NONE | Codecov ReportPatch coverage:
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #593 +/- ## ======================================= Coverage 95.77% 95.77% ======================================= Files 8 8 Lines 2837 2840 +3 ======================================= + Hits 2717 2720 +3 Misses 120 120 ``` | [Files Changed](https://app.codecov.io/gh/simonw/sqlite-utils/pull/593?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [sqlite\_utils/db.py](https://app.codecov.io/gh/simonw/sqlite-utils/pull/593?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-c3FsaXRlX3V0aWxzL2RiLnB5) | `97.22% <100.00%> (+<0.01%)` | :arrow_up: |:umbrella: View full report in Codecov by Sentry. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() now preserves rowid values, refs #592 1886783150 | |
1710930934 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710930934 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-rv2 | simonw 9599 | 2023-09-08T00:47:57Z | 2023-09-08T00:47:57Z | OWNER | That's odd, I wrote a test for this just now and it passes already:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1710931605 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710931605 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-r6V | simonw 9599 | 2023-09-08T00:49:02Z | 2023-09-08T00:49:02Z | OWNER | I tried bumping that up to 10,000 rows instead of just 3 but the test still passed. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1710933716 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710933716 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-sbU | simonw 9599 | 2023-09-08T00:52:42Z | 2023-09-08T00:52:42Z | OWNER | I just noticed that the table where I encountered this bug wasn't actually a The reason the But I tried this test and it passed, too:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1710934448 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710934448 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-smw | simonw 9599 | 2023-09-08T00:54:03Z | 2023-09-08T00:54:03Z | OWNER | Oh! Maybe the row ID preservation here is a coincidence because the tables are created from scratch and count 1, 2, 3. If I delete a row from the table and then insert some more - breaking the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1710935270 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710935270 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-szm | simonw 9599 | 2023-09-08T00:55:30Z | 2023-09-08T00:55:30Z | OWNER | Yes! That recreated the bug: ```
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1712895580 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1712895580 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5mGLZc | simonw 9599 | 2023-09-10T17:46:41Z | 2023-09-10T17:46:41Z | OWNER | In working on this I learned that https://www.sqlite.org/lang_vacuum.html#how_vacuum_works
So this fix wasn't as valuable as I thought. I need to move away from ever assuming that a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1710565268 | https://github.com/simonw/datasette/issues/2178#issuecomment-1710565268 | https://api.github.com/repos/simonw/datasette/issues/2178 | IC_kwDOBm6k_c5l9SeU | simonw 9599 | 2023-09-07T17:58:04Z | 2023-09-07T17:59:06Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't show foreign key links to tables the user cannot access 1886350562 | ||
1710567329 | https://github.com/simonw/datasette/issues/2178#issuecomment-1710567329 | https://api.github.com/repos/simonw/datasette/issues/2178 | IC_kwDOBm6k_c5l9S-h | simonw 9599 | 2023-09-07T17:59:59Z | 2023-09-07T17:59:59Z | OWNER | Should I put the permission check in that undocumented |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't show foreign key links to tables the user cannot access 1886350562 | |
1710871095 | https://github.com/simonw/datasette/issues/2178#issuecomment-1710871095 | https://api.github.com/repos/simonw/datasette/issues/2178 | IC_kwDOBm6k_c5l-dI3 | simonw 9599 | 2023-09-07T23:07:16Z | 2023-09-07T23:07:16Z | OWNER | I ran this:
Against this YAML:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't show foreign key links to tables the user cannot access 1886350562 | |
1710878391 | https://github.com/simonw/datasette/issues/2178#issuecomment-1710878391 | https://api.github.com/repos/simonw/datasette/issues/2178 | IC_kwDOBm6k_c5l-e63 | simonw 9599 | 2023-09-07T23:19:05Z | 2023-09-07T23:19:05Z | OWNER | This fix didn't work on Datasette Cloud. I used Only checking |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't show foreign key links to tables the user cannot access 1886350562 | |
1710879239 | https://github.com/simonw/datasette/issues/2178#issuecomment-1710879239 | https://api.github.com/repos/simonw/datasette/issues/2178 | IC_kwDOBm6k_c5l-fIH | simonw 9599 | 2023-09-07T23:20:32Z | 2023-09-07T23:20:32Z | OWNER | To test that locally, use this YAML instead:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't show foreign key links to tables the user cannot access 1886350562 | |
1708777964 | https://github.com/simonw/datasette/issues/2177#issuecomment-1708777964 | https://api.github.com/repos/simonw/datasette/issues/2177 | IC_kwDOBm6k_c5l2eHs | simonw 9599 | 2023-09-06T17:04:30Z | 2023-09-06T17:04:30Z | OWNER | Here's the thinking: setting the You might run more than one instance at once (I often have 4 or 5 going). This would currently break, because they would over-write each other's catalog tables: The breaking wouldn't be obvious because the catalog tables aren't used by any features yet, but it's still bad. This convinced us that actually we should move those I think we move them to an in-memory So each instance of Datasette gets its own truly private An interesting thing that came up about a shared |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Move schema tables from _internal to _catalog 1884408624 | |
1708693020 | https://github.com/simonw/sqlite-utils/pull/591#issuecomment-1708693020 | https://api.github.com/repos/simonw/sqlite-utils/issues/591 | IC_kwDOCGYnMM5l2JYc | codecov[bot] 22429695 | 2023-09-06T16:14:03Z | 2023-11-04T00:54:25Z | NONE | Codecov ReportAll modified and coverable lines are covered by tests :white_check_mark:
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #591 +/- ## ======================================= Coverage 95.74% 95.74% ======================================= Files 8 8 Lines 2842 2842 ======================================= Hits 2721 2721 Misses 121 121 ```:umbrella: View full report in Codecov by Sentry. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test against Python 3.12 preview 1884335789 | |
1708695907 | https://github.com/simonw/sqlite-utils/pull/591#issuecomment-1708695907 | https://api.github.com/repos/simonw/sqlite-utils/issues/591 | IC_kwDOCGYnMM5l2KFj | simonw 9599 | 2023-09-06T16:15:59Z | 2023-09-06T16:19:14Z | OWNER | The test failure was while installing
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test against Python 3.12 preview 1884335789 | |
1793278279 | https://github.com/simonw/sqlite-utils/pull/591#issuecomment-1793278279 | https://api.github.com/repos/simonw/sqlite-utils/issues/591 | IC_kwDOCGYnMM5q40FH | simonw 9599 | 2023-11-04T00:58:03Z | 2023-11-04T00:58:03Z | OWNER | I'm going to abandon this PR and ship the 3.12 testing change directly to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test against Python 3.12 preview 1884335789 | |
1708699926 | https://github.com/simonw/datasette/pull/2174#issuecomment-1708699926 | https://api.github.com/repos/simonw/datasette/issues/2174 | IC_kwDOBm6k_c5l2LEW | codecov[bot] 22429695 | 2023-09-06T16:18:13Z | 2023-09-08T00:46:13Z | NONE | Codecov ReportPatch and project coverage have no change.
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2174 +/- ## ======================================= Coverage 92.68% 92.68% ======================================= Files 40 40 Lines 6012 6017 +5 ======================================= + Hits 5572 5577 +5 Misses 440 440 ``` | [Files Changed](https://app.codecov.io/gh/simonw/datasette/pull/2174?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/cli.py](https://app.codecov.io/gh/simonw/datasette/pull/2174?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2NsaS5weQ==) | `82.53% <ø> (ø)` | | ... and [1 file with indirect coverage changes](https://app.codecov.io/gh/simonw/datasette/pull/2174/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison):umbrella: View full report in Codecov by Sentry. :loudspeaker: Have feedback on the report? Share it here. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use $DATASETTE_INTERNAL in absence of --internal 1884330740 | |
1708727204 | https://github.com/simonw/datasette/pull/2174#issuecomment-1708727204 | https://api.github.com/repos/simonw/datasette/issues/2174 | IC_kwDOBm6k_c5l2Ruk | simonw 9599 | 2023-09-06T16:35:39Z | 2023-09-07T23:45:42Z | OWNER | We can use this here: https://click.palletsprojects.com/en/8.1.x/options/#values-from-environment-variables
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use $DATASETTE_INTERNAL in absence of --internal 1884330740 | |
1708728926 | https://github.com/simonw/datasette/pull/2174#issuecomment-1708728926 | https://api.github.com/repos/simonw/datasette/issues/2174 | IC_kwDOBm6k_c5l2SJe | simonw 9599 | 2023-09-06T16:36:56Z | 2023-09-06T16:36:56Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Use $DATASETTE_INTERNAL in absence of --internal 1884330740 | |
1707565495 | https://github.com/simonw/datasette/pull/2173#issuecomment-1707565495 | https://api.github.com/repos/simonw/datasette/issues/2173 | IC_kwDOBm6k_c5lx2G3 | simonw 9599 | 2023-09-06T02:33:56Z | 2023-09-06T02:33:56Z | OWNER | Running tests to see if Pyodide works - that was the reason I switched to my |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
click-default-group>=1.2.3 1883055640 | |
1707570044 | https://github.com/simonw/datasette/pull/2173#issuecomment-1707570044 | https://api.github.com/repos/simonw/datasette/issues/2173 | IC_kwDOBm6k_c5lx3N8 | codecov[bot] 22429695 | 2023-09-06T02:39:59Z | 2023-09-06T02:49:01Z | NONE | Codecov ReportPatch and project coverage have no change.
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2173 +/- ## ======================================= Coverage 92.68% 92.68% ======================================= Files 40 40 Lines 6012 6012 ======================================= Hits 5572 5572 Misses 440 440 ```:umbrella: View full report in Codecov by Sentry. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
click-default-group>=1.2.3 1883055640 | |
1707570378 | https://github.com/simonw/datasette/pull/2173#issuecomment-1707570378 | https://api.github.com/repos/simonw/datasette/issues/2173 | IC_kwDOBm6k_c5lx3TK | simonw 9599 | 2023-09-06T02:40:31Z | 2023-09-06T02:40:31Z | OWNER | Surprising error:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
click-default-group>=1.2.3 1883055640 | |
1704387161 | https://github.com/simonw/sqlite-utils/issues/590#issuecomment-1704387161 | https://api.github.com/repos/simonw/sqlite-utils/issues/590 | IC_kwDOCGYnMM5lluJZ | simonw 9599 | 2023-09-03T19:50:36Z | 2023-09-03T19:50:36Z | OWNER | Maybe just populate |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to tell if a Database is an in-memory one 1879214365 | |
1704383901 | https://github.com/simonw/sqlite-utils/issues/589#issuecomment-1704383901 | https://api.github.com/repos/simonw/sqlite-utils/issues/589 | IC_kwDOCGYnMM5lltWd | simonw 9599 | 2023-09-03T19:34:05Z | 2023-09-03T19:34:05Z | OWNER | For that particular case I realized I'd quite like to have a mechanism for applying functions for a block of code and then de-registering them at the end - a context manager. I played with this idea a bit:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for de-registering registered SQL functions 1879209560 | |
1704384111 | https://github.com/simonw/sqlite-utils/issues/589#issuecomment-1704384111 | https://api.github.com/repos/simonw/sqlite-utils/issues/589 | IC_kwDOCGYnMM5lltZv | simonw 9599 | 2023-09-03T19:35:03Z | 2023-09-03T19:35:03Z | OWNER | Normally in Python/ You can't do that with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for de-registering registered SQL functions 1879209560 | |
1704384393 | https://github.com/simonw/sqlite-utils/issues/589#issuecomment-1704384393 | https://api.github.com/repos/simonw/sqlite-utils/issues/589 | IC_kwDOCGYnMM5llteJ | simonw 9599 | 2023-09-03T19:36:34Z | 2023-09-03T19:36:34Z | OWNER | Here's a prototype: https://github.com/simonw/sqlite-utils/commit/62f673835c4a66f87cf6f949eaff43c8b014619b Still needs tests and documentation (and some more thought to make sure it's doing the right thing). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for de-registering registered SQL functions 1879209560 | |
1701823609 | https://github.com/simonw/datasette/issues/2168#issuecomment-1701823609 | https://api.github.com/repos/simonw/datasette/issues/2168 | IC_kwDOBm6k_c5lb8R5 | simonw 9599 | 2023-08-31T21:43:06Z | 2023-08-31T21:44:13Z | OWNER | Not sure what to call this. Maybe Or perhaps it's simpler than that, something like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider a request/response wrapping hook slightly higher level than asgi_wrapper() 1876353656 | |
1701826521 | https://github.com/simonw/datasette/issues/2168#issuecomment-1701826521 | https://api.github.com/repos/simonw/datasette/issues/2168 | IC_kwDOBm6k_c5lb8_Z | simonw 9599 | 2023-08-31T21:46:13Z | 2023-08-31T21:46:13Z | OWNER | This could even be a pair of hooks - Or could take a leaf from Django, which redesigned middleware to use this pattern instead:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider a request/response wrapping hook slightly higher level than asgi_wrapper() 1876353656 | |
1701828197 | https://github.com/simonw/datasette/issues/2168#issuecomment-1701828197 | https://api.github.com/repos/simonw/datasette/issues/2168 | IC_kwDOBm6k_c5lb9Zl | simonw 9599 | 2023-08-31T21:48:00Z | 2023-08-31T21:48:57Z | OWNER | A pattern like this could be interesting:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider a request/response wrapping hook slightly higher level than asgi_wrapper() 1876353656 | |
1701830241 | https://github.com/simonw/datasette/issues/2168#issuecomment-1701830241 | https://api.github.com/repos/simonw/datasette/issues/2168 | IC_kwDOBm6k_c5lb95h | simonw 9599 | 2023-08-31T21:50:18Z | 2023-08-31T21:50:18Z | OWNER | The hook could be called ```python @hookspec def register_middleware(datasette): """Register middleware: returns a list of async def middleware functions""" ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider a request/response wrapping hook slightly higher level than asgi_wrapper() 1876353656 | |
1701831013 | https://github.com/simonw/datasette/issues/2168#issuecomment-1701831013 | https://api.github.com/repos/simonw/datasette/issues/2168 | IC_kwDOBm6k_c5lb-Fl | simonw 9599 | 2023-08-31T21:51:12Z | 2023-08-31T21:52:15Z | OWNER | Need to make sure the design of this takes streaming responses into account. Those could be pretty tricky here. I nice thing about |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider a request/response wrapping hook slightly higher level than asgi_wrapper() 1876353656 | |
1712897194 | https://github.com/simonw/datasette/issues/2168#issuecomment-1712897194 | https://api.github.com/repos/simonw/datasette/issues/2168 | IC_kwDOBm6k_c5mGLyq | simonw 9599 | 2023-09-10T17:54:07Z | 2023-09-10T17:54:07Z | OWNER | This looks relevant: https://pluggy.readthedocs.io/en/stable/#wrappers
This could be the perfect mechanism for implementing this hook, although I still need to figure out how it interacts with streaming. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider a request/response wrapping hook slightly higher level than asgi_wrapper() 1876353656 | |
1701045404 | https://github.com/simonw/datasette/pull/2166#issuecomment-1701045404 | https://api.github.com/repos/simonw/datasette/issues/2166 | IC_kwDOBm6k_c5lY-Sc | codecov[bot] 22429695 | 2023-08-31T13:31:15Z | 2023-09-06T13:25:17Z | NONE | Codecov ReportPatch and project coverage have no change.
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2166 +/- ## ======================================= Coverage 92.68% 92.68% ======================================= Files 40 40 Lines 6012 6012 ======================================= Hits 5572 5572 Misses 440 440 ```:umbrella: View full report in Codecov by Sentry. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump the python-packages group with 1 update 1875519316 | |
1699802028 | https://github.com/simonw/datasette/pull/2165#issuecomment-1699802028 | https://api.github.com/repos/simonw/datasette/issues/2165 | IC_kwDOBm6k_c5lUOus | simonw 9599 | 2023-08-30T20:35:02Z | 2023-08-30T20:35:02Z | OWNER | Testing this is going to be a bit of a pain. I think I'll add a whole separate test block to CI which installs a couple of plugins and then exercises this feature using I'll use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336 | |
1699809688 | https://github.com/simonw/datasette/pull/2165#issuecomment-1699809688 | https://api.github.com/repos/simonw/datasette/issues/2165 | IC_kwDOBm6k_c5lUQmY | simonw 9599 | 2023-08-30T20:41:06Z | 2023-08-30T20:41:06Z | OWNER | Slight weirdness: I noticed that the output from the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336 | |
1699811810 | https://github.com/simonw/datasette/pull/2165#issuecomment-1699811810 | https://api.github.com/repos/simonw/datasette/issues/2165 | IC_kwDOBm6k_c5lURHi | simonw 9599 | 2023-08-30T20:42:41Z | 2023-08-30T20:42:41Z | OWNER | The
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336 | |
1699812599 | https://github.com/simonw/datasette/pull/2165#issuecomment-1699812599 | https://api.github.com/repos/simonw/datasette/issues/2165 | IC_kwDOBm6k_c5lURT3 | codecov[bot] 22429695 | 2023-08-30T20:43:19Z | 2023-08-30T22:05:05Z | NONE | Codecov ReportPatch coverage:
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2165 +/- ## ========================================== - Coverage 92.84% 92.68% -0.17% ========================================== Files 40 40 Lines 5998 6012 +14 ========================================== + Hits 5569 5572 +3 - Misses 429 440 +11 ``` | [Files Changed](https://app.codecov.io/gh/simonw/datasette/pull/2165?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/plugins.py](https://app.codecov.io/gh/simonw/datasette/pull/2165?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3BsdWdpbnMucHk=) | `64.58% <26.66%> (-17.77%)` | :arrow_down: |:umbrella: View full report in Codecov by Sentry. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336 | |
1699884314 | https://github.com/simonw/datasette/pull/2165#issuecomment-1699884314 | https://api.github.com/repos/simonw/datasette/issues/2165 | IC_kwDOBm6k_c5lUi0a | simonw 9599 | 2023-08-30T21:38:29Z | 2023-08-30T21:39:51Z | OWNER | Here's the reason for that name disparity: Note how the And that's looking things up in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336 | |
1699910555 | https://github.com/simonw/datasette/pull/2165#issuecomment-1699910555 | https://api.github.com/repos/simonw/datasette/issues/2165 | IC_kwDOBm6k_c5lUpOb | simonw 9599 | 2023-08-30T22:05:14Z | 2023-08-30T22:05:14Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins 1874327336 | ||
1699728102 | https://github.com/simonw/datasette/issues/2164#issuecomment-1699728102 | https://api.github.com/repos/simonw/datasette/issues/2164 | IC_kwDOBm6k_c5lT8rm | simonw 9599 | 2023-08-30T19:35:32Z | 2023-08-30T19:35:47Z | OWNER | Figured this out so far with the help of GPT-4: https://chat.openai.com/share/0e785865-621b-4fb3-ba05-7449e57c8496 Now this works:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to only load a specific list of plugins 1874255116 | |
1697818917 | https://github.com/simonw/datasette/issues/2163#issuecomment-1697818917 | https://api.github.com/repos/simonw/datasette/issues/2163 | IC_kwDOBm6k_c5lMqkl | simonw 9599 | 2023-08-29T16:56:20Z | 2023-08-29T16:56:20Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename core_X to catalog_X in the internals 1872043170 | ||
1696594855 | https://github.com/simonw/datasette/pull/2162#issuecomment-1696594855 | https://api.github.com/repos/simonw/datasette/issues/2162 | IC_kwDOBm6k_c5lH_un | codecov[bot] 22429695 | 2023-08-29T00:19:29Z | 2023-08-29T03:22:21Z | NONE | Codecov ReportPatch coverage:
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2162 +/- ## ========================================== - Coverage 92.82% 92.79% -0.03% ========================================== Files 40 40 Lines 5948 5953 +5 ========================================== + Hits 5521 5524 +3 - Misses 427 429 +2 ``` | [Files Changed](https://app.codecov.io/gh/simonw/datasette/pull/2162?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/default\_permissions.py](https://app.codecov.io/gh/simonw/datasette/pull/2162?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2RlZmF1bHRfcGVybWlzc2lvbnMucHk=) | `96.87% <ø> (-0.04%)` | :arrow_down: | | [datasette/app.py](https://app.codecov.io/gh/simonw/datasette/pull/2162?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.32% <100.00%> (+0.03%)` | :arrow_up: | | [datasette/cli.py](https://app.codecov.io/gh/simonw/datasette/pull/2162?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2NsaS5weQ==) | `82.53% <100.00%> (-0.06%)` | :arrow_down: | | [datasette/database.py](https://app.codecov.io/gh/simonw/datasette/pull/2162?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2RhdGFiYXNlLnB5) | `94.72% <100.00%> (+0.04%)` | :arrow_up: | | [datasette/utils/internal\_db.py](https://app.codecov.io/gh/simonw/datasette/pull/2162?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3V0aWxzL2ludGVybmFsX2RiLnB5) | `100.00% <100.00%> (ø)` | | | [datasette/views/database.py](https://app.codecov.io/gh/simonw/datasette/pull/2162?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3ZpZXdzL2RhdGFiYXNlLnB5) | `95.45% <100.00%> (ø)` | | | [datasette/views/special.py](https://app.codecov.io/gh/simonw/datasette/pull/2162?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3ZpZXdzL3NwZWNpYWwucHk=) | `94.06% <100.00%> (-0.85%)` | :arrow_down: |:umbrella: View full report in Codecov by Sentry. |
{ "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 | |
1696707458 | https://github.com/simonw/datasette/pull/2162#issuecomment-1696707458 | https://api.github.com/repos/simonw/datasette/issues/2162 | IC_kwDOBm6k_c5lIbOC | simonw 9599 | 2023-08-29T03:17:54Z | 2023-08-29T03:17:54Z | OWNER | Documentation preview: https://datasette--2162.org.readthedocs.build/en/2162/internals.html#datasette-s-internal-database |
{ "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 | |
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 | |
1696710911 | https://github.com/simonw/datasette/pull/2162#issuecomment-1696710911 | https://api.github.com/repos/simonw/datasette/issues/2162 | IC_kwDOBm6k_c5lIcD_ | simonw 9599 | 2023-08-29T03:23:44Z | 2023-08-29T03:23:44Z | OWNER | I'm going to merge this so we can see how it feels. |
{ "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 | |
1696267473 | https://github.com/simonw/datasette/pull/2161#issuecomment-1696267473 | https://api.github.com/repos/simonw/datasette/issues/2161 | IC_kwDOBm6k_c5lGvzR | codecov[bot] 22429695 | 2023-08-28T19:38:28Z | 2023-08-28T19:39:33Z | NONE | Codecov ReportPatch coverage:
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2161 +/- ## ========================================== + Coverage 92.76% 92.81% +0.05% ========================================== Files 40 40 Lines 5943 5944 +1 ========================================== + Hits 5513 5517 +4 + Misses 430 427 -3 ``` | [Files Changed](https://app.codecov.io/gh/simonw/datasette/pull/2161?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/cli.py](https://app.codecov.io/gh/simonw/datasette/pull/2161?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2NsaS5weQ==) | `82.37% <75.00%> (+1.02%)` | :arrow_up: |:umbrella: View full report in Codecov by Sentry. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
-s/--setting x y gets merged into datasette.yml, refs #2143, #2156 1870345352 | |
1695754277 | https://github.com/simonw/datasette/pull/2160#issuecomment-1695754277 | https://api.github.com/repos/simonw/datasette/issues/2160 | IC_kwDOBm6k_c5lEygl | codecov[bot] 22429695 | 2023-08-28T14:00:17Z | 2023-08-29T00:32:52Z | NONE | Codecov ReportPatch and project coverage have no change.
Additional details and impacted files```diff @@ Coverage Diff @@ ## main #2160 +/- ## ======================================= Coverage 92.82% 92.82% ======================================= Files 40 40 Lines 5948 5948 ======================================= Hits 5521 5521 Misses 427 427 ```:umbrella: View full report in Codecov by Sentry. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump sphinx, furo, blacken-docs dependencies 1869807874 | |
1696586213 | https://github.com/simonw/datasette/pull/2160#issuecomment-1696586213 | https://api.github.com/repos/simonw/datasette/issues/2160 | IC_kwDOBm6k_c5lH9nl | simonw 9599 | 2023-08-29T00:07:46Z | 2023-08-29T00:07:46Z | OWNER | I figured out why this was failing in: - https://github.com/simonw/datasette/pull/2148 It's because Sphinx dropped support for Python 3.8. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump sphinx, furo, blacken-docs dependencies 1869807874 | |
1696586767 | https://github.com/simonw/datasette/pull/2160#issuecomment-1696586767 | https://api.github.com/repos/simonw/datasette/issues/2160 | IC_kwDOBm6k_c5lH9wP | simonw 9599 | 2023-08-29T00:08:26Z | 2023-08-29T00:08:35Z | OWNER | https://github.com/simonw/datasette/issues/2148#issuecomment-1689177556
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump sphinx, furo, blacken-docs dependencies 1869807874 | |
1696592763 | https://github.com/simonw/datasette/pull/2160#issuecomment-1696592763 | https://api.github.com/repos/simonw/datasette/issues/2160 | IC_kwDOBm6k_c5lH_N7 | simonw 9599 | 2023-08-29T00:16:38Z | 2023-08-29T00:16:38Z | OWNER | Since this bumps Sphinx I'm manually reviewing the ReadTheDocs preview a bit, looks good to me: https://datasette--2160.org.readthedocs.build/en/2160/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump sphinx, furo, blacken-docs dependencies 1869807874 | |
1696595326 | https://github.com/simonw/datasette/pull/2160#issuecomment-1696595326 | https://api.github.com/repos/simonw/datasette/issues/2160 | IC_kwDOBm6k_c5lH_1- | simonw 9599 | 2023-08-29T00:20:08Z | 2023-08-29T00:20:08Z | OWNER | Cog failed! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump sphinx, furo, blacken-docs dependencies 1869807874 | |
1694823972 | https://github.com/simonw/sqlite-utils/issues/588#issuecomment-1694823972 | https://api.github.com/repos/simonw/sqlite-utils/issues/588 | IC_kwDOCGYnMM5lBPYk | simonw 9599 | 2023-08-28T00:41:54Z | 2023-08-28T00:41:54Z | OWNER | Tips on typing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.get(column=value)` option for retrieving things not by their primary key 1868713944 | |
1692465334 | https://github.com/simonw/datasette/issues/2157#issuecomment-1692465334 | https://api.github.com/repos/simonw/datasette/issues/2157 | IC_kwDOBm6k_c5k4Pi2 | simonw 9599 | 2023-08-24T21:54:09Z | 2023-08-24T21:54:09Z | OWNER | We discussed this in-person this morning and these notes reflect what we talked about perfectly. I've had so many bugs with plugins that I've written myself that have forgotten to special-case the Just one tiny disagreement: for Show me all rows in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Proposal: Make the `_internal` database persistent, customizable, and hidden 1865869205 | |
1692465763 | https://github.com/simonw/datasette/issues/2157#issuecomment-1692465763 | https://api.github.com/repos/simonw/datasette/issues/2157 | IC_kwDOBm6k_c5k4Ppj | simonw 9599 | 2023-08-24T21:54:29Z | 2023-08-24T21:54:29Z | OWNER | But yes, I'm a big +1 on this whole plan. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Proposal: Make the `_internal` database persistent, customizable, and hidden 1865869205 | |
1700291967 | https://github.com/simonw/datasette/issues/2157#issuecomment-1700291967 | https://api.github.com/repos/simonw/datasette/issues/2157 | IC_kwDOBm6k_c5lWGV_ | asg017 15178711 | 2023-08-31T02:45:56Z | 2023-08-31T02:45:56Z | CONTRIBUTOR | @simonw what do you think about adding a My rationale: some plugins may require, or strongly encourage, a persistent internal database ( |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Proposal: Make the `_internal` database persistent, customizable, and hidden 1865869205 | |
1692186522 | https://github.com/simonw/datasette/issues/2156#issuecomment-1692186522 | https://api.github.com/repos/simonw/datasette/issues/2156 | IC_kwDOBm6k_c5k3Lea | simonw 9599 | 2023-08-24T18:10:04Z | 2023-08-24T18:10:04Z | OWNER | I have an implementation in https://github.com/simonw/datasette/issues/2143#issuecomment-1690792514 too - I'm going to land that as a PR. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette -s/--setting option for setting nested configuration options 1865649347 |
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