issues
1,454 rows where repo = 107914493 and user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at ▲ | closed_at | author_association | pull_request | body | repo | type | active_lock_reason | performed_via_github_app | reactions | draft | state_reason |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1362567197 | PR_kwDOBm6k_c4-ZxWD | 1803 | Workaround for test failure: RuntimeError: There is no current event loop | simonw 9599 | closed | 0 | 1 | 2022-09-06T00:31:06Z | 2022-09-06T00:40:19Z | 2022-09-06T00:40:19Z | OWNER | simonw/datasette/pulls/1803 | Closes #1802 :books: Documentation preview :books:: https://datasette--1803.org.readthedocs.build/en/1803/ |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1803/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
903986178 | MDU6SXNzdWU5MDM5ODYxNzg= | 1344 | Test Datasette Docker images built for different architectures | simonw 9599 | open | 0 | 10 | 2021-05-27T16:52:29Z | 2022-09-06T00:07:58Z | OWNER | Continuing on from #1319 - now that we have the ability to build Datasette's Docker image against multiple architectures we should test that it works. We can do this with QEMU emulation, see https://twitter.com/nevali/status/1397958044571602945 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1344/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1362363685 | I_kwDOBm6k_c5RNAUl | 1800 | Remove upper bound dependencies as a default policy | simonw 9599 | closed | 0 | 3 | 2022-09-05T18:23:45Z | 2022-09-05T18:39:52Z | 2022-09-05T18:35:41Z | OWNER | https://iscinumpy.dev/post/bound-version-constraints/ has convinced me not to use upper bound dependencies unless I'm certain they are needed. Relevant PR: - https://github.com/simonw/datasette/pull/1799 Also: https://github.com/simonw/datasette/blob/ba35105eee2d3ba620e4f230028a02b2e2571df2/setup.py#L45-L46 https://github.com/simonw/datasette/blob/ba35105eee2d3ba620e4f230028a02b2e2571df2/setup.py#L48-L49 https://github.com/simonw/datasette/blob/ba35105eee2d3ba620e4f230028a02b2e2571df2/setup.py#L51-L55 https://github.com/simonw/datasette/blob/ba35105eee2d3ba620e4f230028a02b2e2571df2/setup.py#L57-L59 https://github.com/simonw/datasette/blob/ba35105eee2d3ba620e4f230028a02b2e2571df2/setup.py#L75-L78 https://github.com/simonw/datasette/blob/ba35105eee2d3ba620e4f230028a02b2e2571df2/setup.py#L81-L82 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1800/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1362367821 | PR_kwDOBm6k_c4-ZGW6 | 1801 | Don't use upper bound dependencies, refs #1800 | simonw 9599 | closed | 0 | 1 | 2022-09-05T18:29:28Z | 2022-09-05T18:35:41Z | 2022-09-05T18:35:41Z | OWNER | simonw/datasette/pulls/1801 | See https://iscinumpy.dev/post/bound-version-constraints/ :books: Documentation preview :books:: https://datasette--1801.org.readthedocs.build/en/1801/ |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1801/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
849978964 | MDU6SXNzdWU4NDk5Nzg5NjQ= | 1293 | Show column metadata plus links for foreign keys on arbitrary query results | simonw 9599 | open | 0 | 51 | 2021-04-04T22:59:42Z | 2022-09-02T17:34:09Z | OWNER | Related to #620. It would be really cool if Datasette could magically detect the source of the data displayed in an arbitrary query and, if that data represents a foreign key, display it as a hyperlink. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1293/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
reopened | |||||||
1353088849 | I_kwDOBm6k_c5Qpn9R | 1795 | Consider automatically cleaning up curly quotes in searches | simonw 9599 | open | 0 | 0 | 2022-08-27T16:35:25Z | 2022-08-27T16:35:25Z | OWNER | If your phone helpfully adds curly quotes for you then phrase searches against FTS won't work: “Rebecca Sugar” In regular (not |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1795/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1348394901 | PR_kwDOBm6k_c49qmC2 | 1792 | Test `--load-extension` in GitHub Actions | simonw 9599 | closed | 0 | 3 | 2022-08-23T18:43:29Z | 2022-08-24T00:11:46Z | 2022-08-24T00:11:45Z | OWNER | simonw/datasette/pulls/1792 | Refs: - #1789 :books: Documentation preview :books:: https://datasette--1792.org.readthedocs.build/en/1792/ |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1792/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1345561209 | I_kwDOBm6k_c5QM6J5 | 1790 | A better HTML title for canned query pages | simonw 9599 | open | 0 | 0 | 2022-08-21T18:27:46Z | 2022-08-21T18:27:46Z | OWNER | https://scotrail.datasette.io/scotrail/assemble_sentence?terms=This+train+is+formed+of%2Cbomb+which Current title is:
I think a better title would be:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1790/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1343732788 | I_kwDOBm6k_c5QF7w0 | 1788 | Make it more obvious that Datasette publish can publish multiple databases | simonw 9599 | closed | 0 | 0 | 2022-08-18T22:57:51Z | 2022-08-18T23:06:16Z | 2022-08-18T23:06:16Z | OWNER | Feedback initially for |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1788/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1343422749 | I_kwDOBm6k_c5QEwEd | 1787 | Move "datasette --get" from Getting Started to CLI Reference | simonw 9599 | closed | 0 | 5 | 2022-08-18T17:53:39Z | 2022-08-18T21:57:09Z | 2022-08-18T21:56:21Z | OWNER | It really shouldn't be here: https://docs.datasette.io/en/0.62/getting_started.html#datasette-get |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1787/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1340900019 | I_kwDOBm6k_c5P7IKz | 1785 | Can't use cog menu to facet by first column in a view | simonw 9599 | open | 0 | 0 | 2022-08-16T21:27:23Z | 2022-08-16T21:27:23Z | OWNER | https://latest.datasette.io/fixtures/paginated_view Compare with: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1785/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1339444565 | I_kwDOBm6k_c5P1k1V | 1783 | Better guidance as to what to do after you've installed Datasette | simonw 9599 | open | 0 | 2 | 2022-08-15T20:11:06Z | 2022-08-15T20:14:01Z | OWNER | Feedback from Discord:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1783/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1338278056 | I_kwDOBm6k_c5PxICo | 1782 | Release notes for Datasette 0.62 | simonw 9599 | closed | 0 | Datasette 0.62 8303187 | 2 | 2022-08-14T15:26:45Z | 2022-08-14T17:40:45Z | 2022-08-14T17:32:54Z | OWNER | I've written a lot of these already for the alphas: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1782/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1223527226 | I_kwDOBm6k_c5I7Ys6 | 1738 | "Cannot use _sort and _sort_desc at the same time" | simonw 9599 | closed | 0 | Datasette 0.62 8303187 | 2 | 2022-05-03T01:06:24Z | 2022-08-14T16:13:55Z | 2022-08-14T16:13:55Z | OWNER | Triggered this error while playing with the sort desc checkbox and the apply button that are only visible on this page at mobile screen width: https://latest.datasette.io/fixtures/compound_three_primary_keys?_sort_desc=pk1 Navigate to that page (with the browser narrow enough to show the box), un-check the box and click Apply: Also notable: I managed to get to a page with |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1738/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1318907685 | I_kwDOBm6k_c5OnO8l | 1773 | 500 error if sorted by a column not in the ?_col= list | simonw 9599 | closed | 0 | Datasette 0.62 8303187 | 4 | 2022-07-27T01:20:27Z | 2022-08-14T16:06:25Z | 2022-08-14T15:44:05Z | OWNER | For example: https://latest.datasette.io/fixtures/sortable?_sort_desc=sortable&_col=sortable_with_nulls That's |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1773/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1296222572 | I_kwDOBm6k_c5NQsls | 1768 | Upgrade to 3.10.6-slim-bullseye Docker base image | simonw 9599 | closed | 0 | Datasette 0.62 8303187 | 5 | 2022-07-06T18:37:49Z | 2022-08-14T15:54:36Z | 2022-08-14T15:54:11Z | OWNER | For the package published to Docker Hub and also the containers used by |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1768/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1306492437 | I_kwDOBm6k_c5N334V | 1770 | `handle_exception` plugin hook for custom error handling | simonw 9599 | closed | 0 | Datasette 0.62 8303187 | 14 | 2022-07-15T20:52:49Z | 2022-08-14T15:25:51Z | 2022-08-14T15:25:51Z | OWNER | I need this for a couple of plugins, both of which are broken at the moment: - https://github.com/simonw/datasette-sentry/issues/1 - https://github.com/simonw/datasette-show-errors/issues/2 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1770/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1338137350 | I_kwDOBm6k_c5PwlsG | 1781 | Ensure Datasette Lite is promoted in docs and README | simonw 9599 | closed | 0 | Datasette 0.62 8303187 | 1 | 2022-08-14T05:12:35Z | 2022-08-14T15:24:40Z | 2022-08-14T15:24:40Z | OWNER | As of 0.62 https://lite.datasette.io is a supported piece of the overall Datasette ecosystem. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1781/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
838245338 | MDU6SXNzdWU4MzgyNDUzMzg= | 1272 | Unit tests for the Dockerfile | simonw 9599 | open | 0 | 3 | 2021-03-23T01:36:29Z | 2022-07-29T10:22:59Z | OWNER | Working on the Dockerfile in #1249 made me wish for automated tests - to confirm that it boots up correctly, can run SpatiaLite and doesn't have weird bugs like the These could run in CI too, but maybe only if the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1272/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
779156520 | MDU6SXNzdWU3NzkxNTY1MjA= | 1175 | Use structlog for logging | simonw 9599 | open | 0 | 4 | 2021-01-05T15:11:36Z | 2022-07-26T12:52:10Z | OWNER | To solve #241 JSON logging. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1175/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
663145122 | MDU6SXNzdWU2NjMxNDUxMjI= | 903 | Add temporary plugin testing pattern to the testing docs | simonw 9599 | closed | 0 | 1 | 2020-07-21T16:22:34Z | 2022-07-18T21:34:33Z | 2022-07-18T21:31:22Z | OWNER | https://til.simonwillison.net/pytest/registering-plugins-in-tests Would be useful to include this pattern on https://datasette.readthedocs.io/en/stable/testing_plugins.html |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/903/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
728905098 | MDU6SXNzdWU3Mjg5MDUwOTg= | 1048 | Documentation and unit tests for urls.row() urls.row_blob() methods | simonw 9599 | open | 0 | 7 | 2020-10-25T00:13:53Z | 2022-07-10T16:23:57Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1048/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||||
1294641696 | I_kwDOBm6k_c5NKqog | 1767 | Ability to set a custom favicon | simonw 9599 | open | 0 | 9 | 2022-07-05T18:41:12Z | 2022-07-05T18:56:43Z | OWNER | If you're running a website on Datasette, like https://www.niche-museums.com/ or https://til.simonwillison.net/ - you should have the ability to easily specify a custom favicon. Currently the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1767/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1203943272 | I_kwDOBm6k_c5Hwrdo | 1713 | Datasette feature for publishing snapshots of query results | simonw 9599 | open | 0 | 5 | 2022-04-14T01:42:00Z | 2022-07-04T05:16:35Z | OWNER | https://twitter.com/simonw/status/1514392335718645760
A lot of people said they would find this useful. Probably going to build this as a plugin. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1713/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1266329095 | I_kwDOBm6k_c5LeqYH | 1756 | Mechanism for creating databases in WAL mode | simonw 9599 | open | 0 | 0 | 2022-06-09T15:39:28Z | 2022-06-09T15:39:28Z | OWNER | The It turns out WAL mode is useful for databases that are accepting writes! I think a |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1756/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1251739062 | I_kwDOBm6k_c5KnAW2 | 1752 | Research if I can drop Janus | simonw 9599 | open | 0 | 0 | 2022-05-28T22:46:52Z | 2022-05-28T22:46:52Z | OWNER |
Comment here: https://lobste.rs/s/fki4tj/architecture_notes_datasette#c_a2ihon |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1752/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1243498298 | I_kwDOBm6k_c5KHkc6 | 1746 | Switch documentation theme to Furo | simonw 9599 | closed | 0 | 21 | 2022-05-20T18:42:17Z | 2022-05-20T21:28:29Z | 2022-05-20T21:28:29Z | OWNER | https://github.com/pradyunsg/furo I just did this for |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1746/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1243517592 | I_kwDOBm6k_c5KHpKY | 1748 | Add copy buttons next to code examples in the documentation | simonw 9599 | closed | 0 | 2 | 2022-05-20T19:09:00Z | 2022-05-20T19:15:00Z | 2022-05-20T19:11:32Z | OWNER | Similar to the ones in |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1748/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1243512344 | I_kwDOBm6k_c5KHn4Y | 1747 | Add tutorials to the getting started guide | simonw 9599 | closed | 0 | 1 | 2022-05-20T19:01:52Z | 2022-05-20T19:12:30Z | 2022-05-20T19:05:34Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1747/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
1239008850 | I_kwDOBm6k_c5J2cZS | 1744 | `--nolock` feature for opening locked databases | simonw 9599 | closed | 0 | 7 | 2022-05-17T18:25:16Z | 2022-05-17T19:46:38Z | 2022-05-17T19:40:30Z | OWNER | The getting started docs currently suggest you try this to browse your Chrome history:
But if Chrome is running you will likely get this error:
Turns out there's a workaround for this which I just spotted on the SQLite forum:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1744/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1239080102 | I_kwDOBm6k_c5J2tym | 1745 | Documentation on running cog | simonw 9599 | closed | 0 | 1 | 2022-05-17T19:41:06Z | 2022-05-17T19:45:51Z | 2022-05-17T19:43:45Z | OWNER | Noticed that |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1745/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1237871948 | I_kwDOBm6k_c5JyG1M | 1743 | `datasette.utils.to_css_class()` should be a documented internal | simonw 9599 | open | 0 | 0 | 2022-05-16T23:57:26Z | 2022-05-16T23:57:26Z | OWNER | Because I'm using it in this plugin: - https://github.com/simonw/datasette-upload-dbs/issues/1 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1743/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1237586379 | I_kwDOBm6k_c5JxBHL | 1742 | ?_trace=1 fails with datasette-geojson for some reason | simonw 9599 | open | 0 | 4 | 2022-05-16T19:06:05Z | 2022-05-16T19:42:13Z | OWNER | view-source:https://calands.datasettes.com/calands/CPAD_2020a_SuperUnits.geojson?_sort=id&id__exact=4&_labels=on&_trace=1 is showing me a blank page. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1742/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
607223136 | MDU6SXNzdWU2MDcyMjMxMzY= | 741 | Replace "datasette publish --extra-options" with "--setting" | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 9 | 2020-04-27T04:29:04Z | 2022-05-12T19:21:16Z | OWNER | See https://github.com/simonw/datasette-publish-now/issues/9#issuecomment-618155764 - the
A neater design would be to support
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/741/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1223699280 | I_kwDOBm6k_c5I8CtQ | 1739 | .db downloads should be served with an ETag | simonw 9599 | closed | 0 | 6 | 2022-05-03T05:11:21Z | 2022-05-04T18:21:18Z | 2022-05-03T14:59:51Z | OWNER | I noticed that my Pyodide Datasette prototype is downloading the same database file every single time rather than browser caching it: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1739/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1223234932 | I_kwDOBm6k_c5I6RV0 | 1733 | Get Datasette compatible with Pyodide | simonw 9599 | closed | 0 | 9 | 2022-05-02T19:01:58Z | 2022-05-04T15:14:01Z | 2022-05-02T20:15:27Z | OWNER | I've already got this working as a prototype. Here are the changes I had to make:
TODO:
Goal is to be able to do the following directly in https://pyodide.org/en/stable/console.html
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1733/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1223459734 | I_kwDOBm6k_c5I7IOW | 1737 | Automated test for Pyodide compatibility | simonw 9599 | closed | 0 | 4 | 2022-05-02T23:24:25Z | 2022-05-02T23:40:50Z | 2022-05-02T23:40:50Z | OWNER | Refs: - #1733 Need something in the test suite such that if Datasette breaks against Pyodide in the future we hear about it. I'm thinking this is an opportunity to use shot-scraper javascript. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1737/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1223241647 | I_kwDOBm6k_c5I6S-v | 1734 | Remove python-baseconv dependency | simonw 9599 | closed | 0 | 3 | 2022-05-02T19:08:37Z | 2022-05-02T23:25:49Z | 2022-05-02T19:39:20Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1733#issuecomment-1115258737 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1734/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1223263540 | I_kwDOBm6k_c5I6YU0 | 1735 | Datasette setting to disable threading (for Pyodide) | simonw 9599 | closed | 0 | 1 | 2022-05-02T19:31:08Z | 2022-05-02T23:25:49Z | 2022-05-02T20:13:52Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1733#issuecomment-1115278325 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1735/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1223312279 | PR_kwDOBm6k_c43MIU0 | 1736 | Clean up compatibility with Pyodide | simonw 9599 | closed | 0 | 0 | 2022-05-02T20:14:38Z | 2022-05-02T20:15:28Z | 2022-05-02T20:15:27Z | OWNER | simonw/datasette/pulls/1736 | Closes #1735, closes #1733 |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1736/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1219398983 | I_kwDOBm6k_c5Iro1H | 1730 | SQL tracing should much more closely track the SQL query execution | simonw 9599 | open | 0 | 0 | 2022-04-28T22:41:04Z | 2022-04-28T22:41:10Z | OWNER | In #1727 I realized that the SQL tracing was measuring a whole bunch of stuff outside of the SQL query itself. I started experimenting with this fix for that but it didn't work - I got back an empty JSON array of traces for some reason: ```diff diff --git a/datasette/database.py b/datasette/database.py index ba594a8..d7f9172 100644 --- a/datasette/database.py +++ b/datasette/database.py @@ -7,7 +7,7 @@ import sys import threading import uuid -from .tracer import trace +from .tracer import trace, trace_child_tasks from .utils import ( detect_fts, detect_primary_keys, @@ -207,30 +207,31 @@ class Database: time_limit_ms = custom_time_limit
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1727#issuecomment-1111602802 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1730/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1065432388 | I_kwDOBm6k_c4_gTVE | 1534 | Maybe return JSON from HTML pages if `Accept: application/json` is sent | simonw 9599 | closed | 0 | 4 | 2021-11-28T20:48:09Z | 2022-04-27T21:59:34Z | 2022-02-02T23:39:33Z | OWNER | Relates to #1533 - and to the work I've been doing on the https://github.com/simonw/datasette-table Web Component. It would be useful to support users pasting in a URL to a Datasette table or query without first having to add the (There is weird logic deep in Datasette that says that you add [Update: I removed that confusing feature here: https://simonwillison.net/2022/Mar/19/weeknotes/] |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1534/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1216508080 | I_kwDOBm6k_c5IgnCw | 1723 | Research running SQL in table view in parallel using `asyncio.gather()` | simonw 9599 | closed | 0 | 5 | 2022-04-26T21:42:48Z | 2022-04-27T18:53:44Z | 2022-04-26T22:19:09Z | OWNER | Spun off from: - #1715 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1723/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1217014076 | I_kwDOBm6k_c5Iiik8 | 1726 | Security page in the documentation | simonw 9599 | open | 0 | 0 | 2022-04-27T08:43:30Z | 2022-04-27T08:43:30Z | OWNER | A page talking about how to run Datasette securely, and security concerns to take into account. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1726/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1216619276 | I_kwDOBm6k_c5IhCMM | 1724 | ?_trace=1 doesn't work on Global Power Plants demo | simonw 9599 | closed | 0 | 3 | 2022-04-27T00:15:02Z | 2022-04-27T06:15:14Z | 2022-04-27T00:18:30Z | OWNER | https://global-power-plants.datasettes.com/global-power-plants/global-power-plants?_trace=1 is not showing the trace JSON at the bottom of the page. Confirmed that Possibly related: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1724/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1216622905 | I_kwDOBm6k_c5IhDE5 | 1725 | Performance question - what is happening in this gap? | simonw 9599 | open | 0 | 0 | 2022-04-27T00:21:11Z | 2022-04-27T00:21:11Z | OWNER | Trace from https://latest-with-plugins.datasette.io/github/commits?_facet=repo&_trace=1&_facet=committer What's going on in that gap? Can I improve the tracing output to show some non-SQL queries to figure that out? |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1725/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1216479167 | I_kwDOBm6k_c5Igf-_ | 1722 | `db.primary_keys()` and `db.table_columns()` don't show up in traces | simonw 9599 | open | 0 | 0 | 2022-04-26T21:08:36Z | 2022-04-26T21:08:36Z | OWNER | Noticed this while working on: - #1715 This code here isn't showing up in traces: https://github.com/simonw/datasette/blob/579f59dcec43a91dd7d404e00b87a00afd8515f2/datasette/views/table.py#L218-L220 Because those functions don't use the regular trace-instrumented |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1722/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1213683988 | I_kwDOBm6k_c5IV1kU | 1718 | Code examples in the documentation should be formatted with Black | simonw 9599 | closed | 0 | 12 | 2022-04-24T15:22:50Z | 2022-04-24T16:24:14Z | 2022-04-24T16:18:03Z | OWNER | For example on this page: https://docs.datasette.io/en/stable/writing_plugins.html#packaging-a-plugin I wonder if there's an easy way for me to enforce this for Sphinx documentation? |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1718/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1212838949 | I_kwDOBm6k_c5ISnQl | 1716 | Configure git blame to ignore Black commit | simonw 9599 | closed | 0 | 1 | 2022-04-22T21:56:37Z | 2022-04-22T22:02:19Z | 2022-04-22T22:02:19Z | OWNER | GitHub can support this in blame views now too: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1716/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1202227104 | I_kwDOBm6k_c5HqIeg | 1712 | Make "<Binary: 2427344 bytes>" easier to read | simonw 9599 | closed | 0 | 3 | 2022-04-12T18:17:07Z | 2022-04-12T19:12:22Z | 2022-04-12T18:44:20Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1712/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1200649889 | I_kwDOBm6k_c5HkHah | 1710 | Guide for plugin authors to upgrade their plugins for 1.0 | simonw 9599 | closed | 0 | 1 | 2022-04-11T22:58:25Z | 2022-04-11T23:04:01Z | 2022-04-11T23:03:25Z | OWNER | I'll also encourage testing against both Datasette 0.x and Datasette 1.0 using a GitHub Actions matrix. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1710/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1197925865 | I_kwDOBm6k_c5HZuXp | 1704 | File PRs against incompatible plugins pinning to datasette<1.0 | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 0 | 2022-04-08T23:15:30Z | 2022-04-08T23:15:30Z | OWNER | As part of the preparation for the 1.0 release, test all existing known plugins against the alpha. For any that break, submit a PR suggesting they pin to a version <1.0 - and include a link to the documentation on how to upgrade the plugin for 1.0. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1704/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1196327155 | I_kwDOBm6k_c5HToDz | 1702 | Be more consistent with column quoting | simonw 9599 | open | 0 | 0 | 2022-04-07T16:59:20Z | 2022-04-07T16:59:20Z | OWNER | This tutorial made me notice that Datasette is pretty inconsistent with how column quoting works: https://datasette.io/tutorials/learn-sql It has examples of each of Datasette should generate SQL as consistently as possible to support learners. That tutorial should also provide a tiny bit of extra information about what's going on here. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1702/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1194790504 | I_kwDOBm6k_c5HNw5o | 1701 | Use + for spaces instead of ~20 | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 0 | 2022-04-06T15:40:48Z | 2022-04-06T15:55:10Z | 2022-04-06T15:55:05Z | OWNER | Tilde encoding introduced in #1657 means that database files with spaces in the name - e.g. the Apple Mail
I think this would be prettier:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1701/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1190828163 | I_kwDOBm6k_c5G-piD | 1698 | Add a warning about bots and Cloud Run | simonw 9599 | closed | 0 | 1 | 2022-04-03T05:57:17Z | 2022-04-03T06:10:24Z | 2022-04-03T06:10:24Z | OWNER | Recommend the https://github.com/simonw/datasette-block-robots plugin if you are going to run a large database in Cloud Run (one with a lot of rows). |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1698/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1189113609 | I_kwDOBm6k_c5G4G8J | 1697 | `Request.fake(..., url_vars={})` | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 1 | 2022-04-01T01:48:40Z | 2022-04-01T02:02:18Z | 2022-04-01T02:02:10Z | OWNER | I just created an alternative
``` |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1697/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1185868354 | I_kwDOBm6k_c5GrupC | 1695 | Option to un-filter facet not shown for `?col__exact=value` | simonw 9599 | open | 0 | 2 | 2022-03-30T04:44:02Z | 2022-03-30T04:46:18Z | OWNER | Spotted this on a page with With |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1695/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1182143895 | I_kwDOBm6k_c5GdhWX | 1691 | Bug in pytest-httpx example | simonw 9599 | closed | 0 | 0 | 2022-03-26T22:45:30Z | 2022-03-26T22:46:09Z | 2022-03-26T22:46:09Z | OWNER |
https://github.com/Colin-b/pytest_httpx/blob/v0.20.0/README.md#reply-with-custom-body |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1691/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1182141761 | I_kwDOBm6k_c5Gdg1B | 1690 | Idea: `datasette.set_actor_cookie(response, actor)` | simonw 9599 | open | 0 | 2 | 2022-03-26T22:41:52Z | 2022-03-26T22:43:00Z | OWNER | I just wrote this code in a plugin and it felt like it could benefit from an abstraction: https://github.com/simonw/datasette-auth0/blob/152e6eb21e96e9b73bd9c205f9749a1297d0ef0b/datasette_auth0/init.py#L79-L92
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1690/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1182065616 | I_kwDOBm6k_c5GdOPQ | 1689 | datasette.add_message() documentation is incorrect | simonw 9599 | closed | 0 | 1 | 2022-03-26T20:49:42Z | 2022-03-26T21:35:57Z | 2022-03-26T20:51:21Z | OWNER |
But in the code it's: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1689/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1181364043 | I_kwDOBm6k_c5Gai9L | 1687 | Make show_json.html or a similar mechanism stable for plugins | simonw 9599 | open | 0 | 0 | 2022-03-25T23:42:45Z | 2022-03-25T23:42:45Z | OWNER | I used It would be useful if it (or something like it) was documented and stable for plugins to use. Also relevant: - #878 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1687/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1179998071 | I_kwDOBm6k_c5GVVd3 | 1684 | Mechanism for disabling faceting on large tables only | simonw 9599 | open | 0 | 1 | 2022-03-24T20:06:11Z | 2022-03-24T20:13:19Z | OWNER | Forest turned off faceting on https://labordata.bunkum.us/ because it was causing performance problems on some of the huge tables - but it would be nice if it could still be an option on smaller tables such as https://labordata.bunkum.us/voluntary_recognitions-4421085/voluntary_recognitions One option: a new setting that automatically disables faceting (and facet suggestion) for tables that have either more than X rows or that are so big that the count could not be completed within the time limit. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1684/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1179928510 | I_kwDOBm6k_c5GVEe- | 1683 | allow_facet: False should be respected by column cog menu | simonw 9599 | closed | 0 | 0 | 2022-03-24T19:05:06Z | 2022-03-24T19:16:36Z | 2022-03-24T19:16:36Z | OWNER | The column cog menu currently shows "Facet by this" even if faceting is disabled for the Datasette instance. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1683/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1178521513 | I_kwDOBm6k_c5GPs-p | 1682 | SQL queries against databases with different routes are broken | simonw 9599 | closed | 0 | 1 | 2022-03-23T18:42:57Z | 2022-03-23T18:48:16Z | 2022-03-23T18:48:16Z | OWNER | 500 error on https://datasette-hashed-urls-preview.vercel.app/fixtures-09f8f95?sql=select+*+from+facetable Here's the trace:
Originally posted by @simonw in https://github.com/simonw/datasette-hashed-urls/issues/13#issuecomment-1076693667 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1682/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1174423568 | I_kwDOBm6k_c5GAEgQ | 1670 | Ship Datasette 0.61 | simonw 9599 | closed | 0 | 6 | 2022-03-20T02:47:54Z | 2022-03-23T18:32:32Z | 2022-03-23T18:32:03Z | OWNER | Let the alpha bake for a while, since #1668 is a big last-minute change. After shipping, release a new |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1670/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1177101697 | I_kwDOBm6k_c5GKSWB | 1681 | Potential bug in numeric handling where_clause for filters | simonw 9599 | open | 0 | 2 | 2022-03-22T17:43:50Z | 2022-03-22T17:49:09Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1671#issuecomment-1075432283 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1681/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
953218043 | MDU6SXNzdWU5NTMyMTgwNDM= | 1403 | Labels explaining what hidden tables are for | simonw 9599 | open | 0 | 0 | 2021-07-26T19:29:22Z | 2022-03-21T22:20:37Z | OWNER | A reasonable question: "What are those hidden tables for?" This could be answered by adding a small piece of explanatory text to each table - based on if it's related to FTS or to SpatiaLite or configured to be hidden for some other reason. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1403/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1175854982 | I_kwDOBm6k_c5GFh-G | 1679 | Research: how much overhead does the n=1 time limit have? | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 11 | 2022-03-21T19:27:46Z | 2022-03-21T21:55:57Z | 2022-03-21T21:55:56Z | OWNER | https://github.com/simonw/datasette/blob/1a7750eb29fd15dd2eea3b9f6e33028ce441b143/datasette/utils/init.py#L181-L200 ```python @contextmanager def sqlite_timelimit(conn, ms): deadline = time.perf_counter() + (ms / 1000) # n is the number of SQLite virtual machine instructions that will be # executed between each check. It's hard to know what to pick here. # After some experimentation, I've decided to go with 1000 by default and # 1 for time limits that are less than 50ms n = 1000 if ms < 50: n = 1
``` How often do I set a time limit of 50 or less? How much slower does it go thanks to this code? |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1679/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1175894898 | I_kwDOBm6k_c5GFrty | 1680 | Consider simplifying permissions for 1.0 | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 0 | 2022-03-21T20:17:29Z | 2022-03-21T20:17:29Z | OWNER | Permission checks right now can express one of three opinions:
But... there's also a concept of a "default" for a given permission check, which might be I worry this is too complicated. Could this be simplified before 1.0? In particular the default concept. See also: - #1676 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1680/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1170144879 | I_kwDOBm6k_c5Fvv5v | 1660 | Refactor and simplify Datasette routing and views | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 8 | 2022-03-15T19:56:56Z | 2022-03-21T19:19:12Z | 2022-03-21T19:19:01Z | OWNER | While working on: - https://github.com/simonw/datasette/issues/1657 - https://github.com/simonw/datasette/issues/1439 It became very clear that the least maintainable part of Datasette at the moment is the way routing to the database, table and row views work - in particular the subclassing mechanism with BaseView and DataView, but also the complex variety of ways in which the URL routes capture different named regular expression groups. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1660/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1175715988 | I_kwDOBm6k_c5GFACU | 1678 | Make `check_visibility()` a documented API | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 1 | 2022-03-21T17:30:34Z | 2022-03-21T19:04:03Z | 2022-03-21T19:01:46Z | OWNER | Spotted this while working on: - #1677 https://github.com/simonw/datasette/blob/e627510b760198ccedba9e5af47a771e847785c9/datasette/utils/init.py#L1005-L1021 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1678/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1175694248 | I_kwDOBm6k_c5GE6uo | 1677 | Remove `check_permission()` from `BaseView` | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 1 | 2022-03-21T17:18:18Z | 2022-03-21T18:45:04Z | 2022-03-21T18:45:03Z | OWNER | Follow-on from: - #1675 Refs: - #1660 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1677/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1175648453 | I_kwDOBm6k_c5GEvjF | 1675 | Extract out `check_permissions()` from `BaseView | simonw 9599 | closed | 0 | 7 | 2022-03-21T16:39:46Z | 2022-03-21T17:14:31Z | 2022-03-21T17:13:21Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1660#issuecomment-1074136176 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1675/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
780153562 | MDU6SXNzdWU3ODAxNTM1NjI= | 1177 | Ability to stream all rows as newline-delimited JSON | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 1 | 2021-01-06T07:10:48Z | 2022-03-21T15:08:52Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1177/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1174717287 | I_kwDOBm6k_c5GBMNn | 1674 | Tweak design of /.json | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 1 | 2022-03-20T22:58:01Z | 2022-03-20T22:58:40Z | OWNER | https://latest.datasette.io/.json Currently:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1674/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
910088936 | MDU6SXNzdWU5MTAwODg5MzY= | 1355 | datasette --get should efficiently handle streaming CSV | simonw 9599 | open | 0 | 2 | 2021-06-03T04:40:40Z | 2022-03-20T22:38:53Z | OWNER | It would be great if you could use Current implementation looks like it loads the entire result into memory first: https://github.com/simonw/datasette/blob/f78ebdc04537a6102316d6dbbf6c887565806078/datasette/cli.py#L546-L552 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1355/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1174708375 | I_kwDOBm6k_c5GBKCX | 1673 | Streaming CSV spends a lot of time in `table_column_details` | simonw 9599 | open | 0 | 1 | 2022-03-20T22:25:28Z | 2022-03-20T22:34:06Z | OWNER | At least I think it does. I tried running
While investigating: - #1355 And spotted this: ``` datasette covid.db --get /covid/ny_times_us_counties.csv?_size=10&_stream=on' (python v3.10.2) Total Samples 5800 GIL: 71.00%, Active: 98.00%, Threads: 4 %Own %Total OwnTime TotalTime Function (filename:line) |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1673/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1174697144 | I_kwDOBm6k_c5GBHS4 | 1672 | Refactor CSV handling code out of DataView | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 1 | 2022-03-20T21:47:00Z | 2022-03-20T21:52:39Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1660#issuecomment-1073355032 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1672/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1174306154 | I_kwDOBm6k_c5F_n1q | 1668 | Introduce concept of a database `route`, separate from its name | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 20 | 2022-03-19T16:48:28Z | 2022-03-20T16:43:16Z | 2022-03-20T16:43:16Z | OWNER | Some issues came up in the new
All three of these could be addressed by making the "path" concept for a database (the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1668/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1174404647 | I_kwDOBm6k_c5F__4n | 1669 | Release 0.61 alpha | simonw 9599 | closed | 0 | 2 | 2022-03-20T00:35:35Z | 2022-03-20T01:24:36Z | 2022-03-20T01:24:36Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1668#issuecomment-1073136896 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1669/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1174302994 | I_kwDOBm6k_c5F_nES | 1667 | Make route matched pattern groups more consistent | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 3 | 2022-03-19T16:32:35Z | 2022-03-19T20:37:42Z | 2022-03-19T20:37:41Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1666#issuecomment-1073039670 Part of: - #1660 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1667/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1174162781 | I_kwDOBm6k_c5F_E1d | 1666 | Refactor URL routing to enable testing | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 3 | 2022-03-19T03:52:29Z | 2022-03-19T16:32:03Z | 2022-03-19T16:32:03Z | OWNER | I ran into some bugs earlier with URL routing - having more robust testing around this (especially since they are defined using regular expressions) would be really useful.
Related: - #1660 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1666/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
648435885 | MDU6SXNzdWU2NDg0MzU4ODU= | 878 | New pattern for views that return either JSON or HTML, available for plugins | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 26 | 2020-06-30T19:26:13Z | 2022-03-19T16:19:30Z | OWNER | Can be part of #870 - refactoring existing views to use
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/878/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
531755959 | MDU6SXNzdWU1MzE3NTU5NTk= | 647 | Move hashed URL mode out to a plugin | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 9 | 2019-12-03T06:29:03Z | 2022-03-19T11:56:05Z | 2022-03-15T23:13:06Z | OWNER | They used to be the default until #418. Since making them optional I haven't felt the need to use them even once. That suggests to me that they should be removed. I think their effect could be entirely handled by an ASGI wrapping plugin. https://datasette.readthedocs.io/en/0.32/performance.html#hashed-url-mode |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/647/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1161584460 | I_kwDOBm6k_c5FPF9M | 1651 | Get rid of the no-longer necessary ?_format=json hack for tables called x.json | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 8 | 2022-03-07T15:40:42Z | 2022-03-19T04:04:50Z | 2022-03-15T18:25:42Z | OWNER | Tidy up from: - #1439 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1651/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1169840669 | I_kwDOBm6k_c5Fulod | 1658 | Revert main to version that passes tests | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 1 | 2022-03-15T15:37:02Z | 2022-03-19T04:04:50Z | 2022-03-15T15:42:58Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1657#issuecomment-1068125636 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1658/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1170554975 | I_kwDOBm6k_c5FxUBf | 1663 | Document the internals that were used in datasette-hashed-urls | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 2 | 2022-03-16T05:17:08Z | 2022-03-19T04:04:50Z | 2022-03-17T21:32:38Z | OWNER | The https://github.com/simonw/datasette-hashed-urls used a couple of currently undocumented features:
- |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1663/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1108235694 | I_kwDOBm6k_c5CDlWu | 1603 | A proper favicon | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 19 | 2022-01-19T15:24:55Z | 2022-03-19T04:04:49Z | 2022-01-20T06:07:31Z | OWNER | Tips here: https://adamj.eu/tech/2022/01/18/how-to-add-a-favicon-to-your-django-site/ - I think a PNG served at Relevant code: https://github.com/simonw/datasette/blob/cb29119db9115b1f40de2fb45263ed77e3bfbb3e/datasette/app.py#L182-L183 I can reuse the icon for https://datasette.io/desktop |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1603/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1122413719 | I_kwDOBm6k_c5C5qyX | 1621 | Test against Python 3.11 dev version | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 0 | 2022-02-02T21:38:57Z | 2022-03-19T04:04:49Z | 2022-02-02T21:58:54Z | OWNER | To avoid another surprise like we got with 3.10: https://simonwillison.net/2021/Oct/9/finding-and-reporting-a-bug/ From a quick GitHub code search it looks like |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1621/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1122416919 | I_kwDOBm6k_c5C5rkX | 1623 | /-/patterns returns link: alternate JSON header to 404 | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 2 | 2022-02-02T21:42:49Z | 2022-03-19T04:04:49Z | 2022-02-02T21:48:56Z | OWNER | Bug from: - #1620
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1623/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1126604194 | I_kwDOBm6k_c5DJp2i | 1632 | datasette one.db one.db opens database twice, as one and one_2 | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 6 | 2022-02-07T23:14:47Z | 2022-03-19T04:04:49Z | 2022-02-07T23:50:01Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette-publish-fly/pull/12#issuecomment-1032029874 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1632/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1170355774 | I_kwDOBm6k_c5FwjY- | 1661 | Remove Hashed URL mode | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 10 | 2022-03-15T23:13:56Z | 2022-03-19T00:37:37Z | 2022-03-19T00:37:36Z | OWNER | It's now handled by a plugin instead: - #647 - https://github.com/simonw/datasette-hashed-urls/issues/3 https://github.com/simonw/datasette-hashed-urls Sub-tasks:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1661/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1173017980 | PR_kwDOBm6k_c40oRq- | 1664 | Remove hashed URL mode | simonw 9599 | closed | 0 | 7 | 2022-03-17T23:19:10Z | 2022-03-19T00:12:04Z | 2022-03-19T00:12:04Z | OWNER | simonw/datasette/pulls/1664 | Refs #1661. |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1664/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1065429936 | I_kwDOBm6k_c4_gSuw | 1532 | Use datasette-table Web Component to guide the design of the JSON API for 1.0 | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 4 | 2021-11-28T20:37:18Z | 2022-03-16T20:13:34Z | OWNER | I realized that one of the reasons I'm having trouble committing to nailing down the JSON API for 1.0 is that I don't use it much myself - I use the As an experiment I built a Web Component for embedding Datasette tables on pages - https://github.com/simonw/datasette-table - and I think it's actually going to be a really useful tool for helping me dog food the v1.0 API design. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1532/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
973139047 | MDU6SXNzdWU5NzMxMzkwNDc= | 1439 | Rethink how .ext formats (v.s. ?_format=) works before 1.0 | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 48 | 2021-08-17T23:32:51Z | 2022-03-15T20:51:26Z | 2022-03-15T20:51:26Z | OWNER | Datasette currently has surprising special behaviour for if a table name ends in https://latest.datasette.io/fixtures/table%2Fwith%2Fslashes.csv illustrates this behaviour: it links to
Where normally Datasette would add the The problem with this mechanism is that it's pretty surprising. Anyone writing external code to Datasette who wants to get back the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1439/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
626593402 | MDU6SXNzdWU2MjY1OTM0MDI= | 780 | Internals documentation for datasette.metadata() method | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 2 | 2020-05-28T15:14:22Z | 2022-03-15T20:50:34Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/780/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1054243511 | I_kwDOBm6k_c4-1nq3 | 1509 | Datasette 1.0 JSON API (and documentation) | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 3 | 2021-11-15T23:22:45Z | 2022-03-15T20:38:56Z | OWNER | The new JSON API in a stable, documented form. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1509/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
646737558 | MDU6SXNzdWU2NDY3Mzc1NTg= | 870 | Refactor default views to use register_routes | simonw 9599 | open | 0 | 10 | 2020-06-27T18:53:12Z | 2022-03-15T20:07:18Z | OWNER | It would be much cleaner if Datasette's default views were all registered using the new
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/870/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1058072543 | I_kwDOBm6k_c4_EOff | 1518 | Complete refactor of TableView and table.html template | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 45 | 2021-11-19T02:55:16Z | 2022-03-15T18:35:49Z | OWNER | Split from #878. The current In #878 I started exploring a new pattern for building views. In doing so it became clear that I've been trying to build this as a I also know that I want to have a fully documented template context for All of this adds up to the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1518/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1168995756 | I_kwDOBm6k_c5FrXWs | 1657 | Tilde encoding: use ~ instead of - for dash-encoding | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 12 | 2022-03-14T22:55:17Z | 2022-03-15T18:25:11Z | 2022-03-15T18:01:58Z | OWNER | Refs #1439 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1657/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issues] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [state] TEXT, [locked] INTEGER, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [comments] INTEGER, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [author_association] TEXT, [pull_request] TEXT, [body] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [type] TEXT , [active_lock_reason] TEXT, [performed_via_github_app] TEXT, [reactions] TEXT, [draft] INTEGER, [state_reason] TEXT); CREATE INDEX [idx_issues_repo] ON [issues] ([repo]); CREATE INDEX [idx_issues_milestone] ON [issues] ([milestone]); CREATE INDEX [idx_issues_assignee] ON [issues] ([assignee]); CREATE INDEX [idx_issues_user] ON [issues] ([user]);