issues
204 rows where comments = 2, repo = 107914493 and user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: milestone, created_at (date), updated_at (date), closed_at (date)
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1898927976 | I_kwDOBm6k_c5xL1do | 2186 | Mechanism for register_output_renderer hooks to access full count | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 2 | 2023-09-15T18:57:54Z | 2023-09-15T19:27:59Z | OWNER | The cause of this bug: - https://github.com/simonw/datasette-export-notebook/issues/17 Is that That field is no longer available by default - the It would be useful if plugins like this could access the total count on demand, should they need to. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2186/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1846076261 | I_kwDOBm6k_c5uCONl | 2139 | border-color: ##ff0000 bug - two hashes | simonw 9599 | closed | 0 | Datasette 1.0a-next 8755003 | 2 | 2023-08-11T01:22:58Z | 2023-08-11T05:16:24Z | 2023-08-11T05:16:24Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2139/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1844213115 | I_kwDOBm6k_c5t7HV7 | 2138 | on_success_message_sql option for writable canned queries | simonw 9599 | closed | 0 | Datasette 1.0a-next 8755003 | 2 | 2023-08-10T00:20:14Z | 2023-08-10T00:39:40Z | 2023-08-10T00:34:26Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2138/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1840329615 | I_kwDOBm6k_c5tsTOP | 2130 | Render plugin mechanism needs `error` and `truncated` fields | simonw 9599 | closed | 0 | Datasette 1.0a3 9700784 | 2 | 2023-08-07T23:19:19Z | 2023-08-08T01:51:54Z | 2023-08-08T01:47:42Z | OWNER | While working on: - https://github.com/simonw/datasette/pull/2118 It became clear that the Needs to grow the ability to be told if an error occurred (an |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2130/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1808215339 | I_kwDOBm6k_c5rxy0r | 2104 | Tables starting with an underscore should be treated as hidden | simonw 9599 | open | 0 | 2 | 2023-07-17T17:13:53Z | 2023-07-18T22:41:37Z | OWNER | Plugins can then take advantage of this pattern, for example: - https://github.com/simonw/datasette-auth-tokens/pull/8 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2104/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1765870617 | I_kwDOBm6k_c5pQQwZ | 2087 | `--settings settings.json` option | simonw 9599 | open | 0 | 2 | 2023-06-20T17:48:45Z | 2023-07-14T17:02:03Z | OWNER | https://discord.com/channels/823971286308356157/823971286941302908/1120705940728066080
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2087/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1781047747 | I_kwDOBm6k_c5qKKHD | 2092 | test_homepage intermittent failure | simonw 9599 | closed | 0 | 2 | 2023-06-29T15:20:37Z | 2023-06-29T15:26:28Z | 2023-06-29T15:24:13Z | OWNER | e.g. in https://github.com/simonw/datasette/actions/runs/5413590227/jobs/9839373852 ``` =================================== FAILURES =================================== _____ testhomepage _______ [gw0] linux -- Python 3.7.17 /opt/hostedtoolcache/Python/3.7.17/x64/bin/python ds_client = <datasette.app.DatasetteClient object at 0x7f85d271ef50>
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2092/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1781005740 | I_kwDOBm6k_c5qJ_2s | 2090 | Adopt ruff for linting | simonw 9599 | open | 0 | 2 | 2023-06-29T14:56:43Z | 2023-06-29T15:05:04Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2090/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||||
1708030220 | I_kwDOBm6k_c5lznkM | 2073 | Faceting doesn't work against integer columns in views | simonw 9599 | open | 0 | 2 | 2023-05-12T18:20:10Z | 2023-05-12T18:24:07Z | OWNER | Spotted this issue here: https://til.simonwillison.net/datasette/baseline I had to do this workaround:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2073/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1702354223 | I_kwDOBm6k_c5ld90v | 2070 | Mechanism for deploying a preview of a branch using Vercel | simonw 9599 | closed | 0 | 2 | 2023-05-09T16:21:45Z | 2023-05-09T16:25:00Z | 2023-05-09T16:24:31Z | OWNER | I prototyped that here: https://github.com/simonw/one-off-actions/blob/main/.github/workflows/deploy-datasette-branch-preview.yml It deployed the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2070/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1633077183 | I_kwDOBm6k_c5hVse_ | 2041 | Remove obsolete table POST code | simonw 9599 | closed | 0 | Datasette 1.0a-next 8755003 | 2 | 2023-03-21T01:01:40Z | 2023-03-21T01:17:44Z | 2023-03-21T01:17:43Z | OWNER | Spotted this in: - #1999
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2041/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1618249044 | I_kwDOBm6k_c5gdIVU | 2038 | Consider a `strict_templates` setting | simonw 9599 | open | 0 | 2 | 2023-03-10T02:09:13Z | 2023-03-10T02:11:06Z | OWNER | A setting which turns on Jinja strict mode, so any templates that access undefined variables raise a hard error. Prototype here:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2038/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1612296210 | I_kwDOBm6k_c5gGbAS | 2033 | `datasette install -r requirements.txt` | simonw 9599 | closed | 0 | 2 | 2023-03-06T22:17:17Z | 2023-03-06T22:54:52Z | 2023-03-06T22:27:34Z | OWNER | Would be useful for cases where you want to install a whole set of plugins in one go, e.g. when running tutorials in GitHub Codespaces. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2033/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1186696202 | I_kwDOBm6k_c5Gu4wK | 1696 | Show foreign key label when filtering | simonw 9599 | open | 0 | 2 | 2022-03-30T16:18:54Z | 2023-01-29T20:56:20Z | OWNER | For example here: 3 corresponds to "Human Related: Other" - it would be neat to display this in this area of the page somehow. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1696/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1558644003 | I_kwDOBm6k_c5c5wUj | 2006 | Teach `datasette publish` to pin to `datasette<1.0` in a 0.x release | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 2 | 2023-01-26T19:17:40Z | 2023-01-26T19:20:53Z | OWNER | I just realized that when I ship Datasette 1.0 there may be automated deployments out there which could deploy the 1.0 version by accident, potentially breaking any customizations that aren't compatible with the 1.0 changes. I can hopefully help avoid that by shipping one last entry in the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2006/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1551113681 | I_kwDOBm6k_c5cdB3R | 1998 | `datasette --version` should also show the SQLite version | simonw 9599 | open | 0 | 2 | 2023-01-20T16:11:30Z | 2023-01-20T18:19:06Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1998/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||||
1524867951 | I_kwDOBm6k_c5a46Nv | 1980 | "Cannot sort table by id" when sortable_columns is used | simonw 9599 | open | 0 | 2 | 2023-01-09T03:21:33Z | 2023-01-09T03:23:53Z | OWNER | I had an instance with this in
It sent me to
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1980/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1515182998 | I_kwDOBm6k_c5aT9uW | 1970 | Path "None" in _internal database table | simonw 9599 | closed | 0 | 2 | 2022-12-31T18:51:05Z | 2022-12-31T19:22:58Z | 2022-12-31T18:52:49Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1970/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
1501713288 | I_kwDOBm6k_c5ZglOI | 1963 | 0.63.3 bugfix release | simonw 9599 | closed | 0 | 2 | 2022-12-18T02:48:15Z | 2022-12-18T03:26:55Z | 2022-12-18T03:26:55Z | OWNER | I'm going to ship a release which back-ports these two fixes: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1963/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1495821607 | I_kwDOBm6k_c5ZKG0n | 1953 | Release notes for Datasette 1.0a2 | simonw 9599 | closed | 0 | Datasette 1.0a2 8711695 | 2 | 2022-12-14T06:26:40Z | 2022-12-15T02:02:15Z | 2022-12-15T02:01:08Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1953/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
855296937 | MDU6SXNzdWU4NTUyOTY5Mzc= | 1295 | Errors should have links to further information | simonw 9599 | open | 0 | 2 | 2021-04-11T12:39:12Z | 2022-12-14T23:28:49Z | OWNER | Inspired by this tweet: https://twitter.com/willmcgugan/status/1381186384510255104
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1295/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1483320357 | I_kwDOBm6k_c5Yaawl | 1937 | /db/-/create API should require insert-rows permission to use row: or rows: option | simonw 9599 | closed | 0 | Datasette 1.0a2 8711695 | 2 | 2022-12-08T01:33:09Z | 2022-12-14T20:21:26Z | 2022-12-14T20:21:26Z | OWNER | Otherwise someone with |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1937/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1497288666 | I_kwDOBm6k_c5ZPs_a | 1956 | Handle abbreviations properly in permission_allowed_actor_restrictions | simonw 9599 | closed | 0 | Datasette 1.0a2 8711695 | 2 | 2022-12-14T19:54:21Z | 2022-12-14T20:04:29Z | 2022-12-14T20:04:28Z | OWNER | This code currently assumes abbreviations are:
That's no longer correct, they are now registered by the new plugin hook: - #1939 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1956/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1495241162 | I_kwDOBm6k_c5ZH5HK | 1950 | Bad ?_sort returns a 500 error, should be a 400 | simonw 9599 | closed | 0 | 2 | 2022-12-13T22:08:16Z | 2022-12-13T22:23:22Z | 2022-12-13T22:23:22Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1950/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
1200649124 | I_kwDOBm6k_c5HkHOk | 1708 | Datasette 1.0 alpha upcoming release notes | simonw 9599 | open | 0 | Datasette 1.0a-next 8755003 | 2 | 2022-04-11T22:57:12Z | 2022-12-13T05:29:06Z | OWNER | I'm going to try writing the release notes first, to see if that helps unblock me. ⚠️ Any release notes in this issue are a draft, and should not be treated as the real thing ⚠️ |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1708/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1493339206 | I_kwDOBm6k_c5ZAoxG | 1946 | `datasette --get` mechanism for sending tokens | simonw 9599 | closed | 0 | Datasette 1.0a2 8711695 | 2 | 2022-12-13T04:25:05Z | 2022-12-13T04:36:57Z | 2022-12-13T04:36:57Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1855#issuecomment-1347731288 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1946/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1483250004 | I_kwDOBm6k_c5YaJlU | 1936 | Fix /db/table/-/upsert in the API explorer | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 2 | 2022-12-08T00:59:34Z | 2022-12-08T01:36:02Z | OWNER | Split from: - #1931 - #1878 This is a bit tricky because the code needs to figure out what the primary keys are for an item, and whether or not |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1936/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1469043836 | I_kwDOBm6k_c5Xj9R8 | 1917 | Don't allow writable API to edit the `_memory` database | simonw 9599 | closed | 0 | Datasette 1.0a1 7867486 | 2 | 2022-11-30T04:51:59Z | 2022-11-30T05:07:56Z | 2022-11-30T05:07:55Z | OWNER | It shows up on https://latest.datasette.io/-/api (once you are signed in as root) - but there's no point in creating tables in it because they likely won't persist from one request to the next, as it's not a shared named database. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1917/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1468519699 | I_kwDOBm6k_c5Xh9UT | 1911 | `/db/-/create` should support creating tables with compound primary keys | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 2 | 2022-11-29T18:30:47Z | 2022-11-29T18:50:58Z | 2022-11-29T18:48:05Z | OWNER | Found myself needing this to write the tests for: - #1864 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1911/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1455928469 | I_kwDOBm6k_c5Wx7SV | 1903 | Refactor all error classes into a datasette.exceptions module | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 2 | 2022-11-18T22:44:45Z | 2022-11-20T22:35:01Z | OWNER | While working on this issue: - #1896 I realized that Datasette has error classes scattered around a fair bit, including some in the I should clean these up. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1903/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1447388809 | I_kwDOBm6k_c5WRWaJ | 1887 | Add a confirm step to the drop table API | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 2 | 2022-11-14T04:59:53Z | 2022-11-15T19:59:59Z | 2022-11-14T05:18:51Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1871#issuecomment-1313097057 Added drop table API in: - #1874 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1887/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1431786951 | I_kwDOBm6k_c5VV1XH | 1876 | SQL query should wrap on SQL interrupted screen | simonw 9599 | closed | 0 | 2 | 2022-11-01T17:14:01Z | 2022-11-01T17:22:33Z | 2022-11-01T17:22:33Z | OWNER | Just saw this: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1876/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1420055377 | I_kwDOBm6k_c5UpFNR | 1847 | Both _local_metadata and _metadata_local? | simonw 9599 | closed | 0 | 2 | 2022-10-24T01:43:08Z | 2022-10-24T01:53:13Z | 2022-10-24T01:53:13Z | OWNER | Spotted this in the debugger against the
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1847/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1397193691 | I_kwDOBm6k_c5TR3vb | 1832 | __bool__ method on Results | simonw 9599 | closed | 0 | 2 | 2022-10-05T04:18:12Z | 2022-10-05T04:32:33Z | 2022-10-05T04:32:33Z | OWNER | Wrote this code today: https://github.com/simonw/datasette-public/blob/1401bfae50e71c1dfd2bfb6954f2e86d5a7ab21b/datasette_public/init.py#L41
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1832/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1393903845 | I_kwDOBm6k_c5TFUjl | 1828 | word-wrap: anywhere resulting in weird display | simonw 9599 | closed | 0 | 2 | 2022-10-02T21:25:03Z | 2022-10-02T23:01:17Z | 2022-10-02T23:01:17Z | OWNER | e.g. on https://github-to-sqlite.dogsheep.net/github/commits This is from a change introduced here: https://github.com/simonw/datasette/commit/bf8d84af5422606597be893cedd375020cb2b369 in #1805 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1828/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1122427321 | I_kwDOBm6k_c5C5uG5 | 1624 | Index page `/` has no CORS headers | simonw 9599 | open | 0 | 2 | 2022-02-02T21:56:10Z | 2022-09-28T16:54:22Z | OWNER | Compare the following: ``` % curl -I 'https://latest.datasette.io/fixtures' HTTP/1.1 200 OK link: https://latest.datasette.io/fixtures.json; rel="alternate"; type="application/json+datasette" cache-control: max-age=5 referrer-policy: no-referrer access-control-allow-origin: * access-control-allow-headers: Authorization access-control-expose-headers: Link content-type: text/html; charset=utf-8 x-databases: _memory, _internal, fixtures, extra_database Date: Wed, 02 Feb 2022 21:55:49 GMT Server: Google Frontend Transfer-Encoding: chunked % curl -I 'https://latest.datasette.io/' |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1624/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1378640768 | I_kwDOBm6k_c5SLGOA | 1816 | Validate settings.json on startup in configuration directory mode | simonw 9599 | closed | 0 | 2 | 2022-09-19T23:35:18Z | 2022-09-20T01:15:48Z | 2022-09-20T01:15:48Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1814#issuecomment-1251677554 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1816/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
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 | |||||
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 | ||||||
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 } |
||||||||
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 } |
||||||||
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 } |
||||||||
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 } |
||||||||
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 | ||||||
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 | |||||
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 | |||||
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 } |
||||||||
1161937073 | I_kwDOBm6k_c5FQcCx | 1653 | Mechanism to default a table to sorting by multiple columns | simonw 9599 | open | 0 | 2 | 2022-03-07T21:20:11Z | 2022-03-07T21:23:39Z | OWNER | Discussed in https://github.com/simonw/datasette/discussions/1652
<sup>Originally posted by **zaneselvans** March 7, 2022</sup>
It's easy to tell datasette to sort tables using a single column, as [described in the docs](https://docs.datasette.io/en/stable/metadata.html#setting-a-default-sort-order):
```yaml
databases:
ferc1:
tables:
f1_edcfu_epda:
sort: created_time
```
But is there some way to tell it to sort using a composite key, like you would in an `ORDER BY` clause instead? For example, the way it's being done **[in this query](https://data.catalyst.coop/ferc1?sql=select%0D%0A++rowid%2C%0D%0A++respondent_id%2C%0D%0A++report_year%2C%0D%0A++spplmnt_num%2C%0D%0A++row_number%2C%0D%0A++row_seq%2C%0D%0A++row_prvlg%2C%0D%0A++acct_num%2C%0D%0A++depr_plnt_base%2C%0D%0A++est_avg_srvce_lf%2C%0D%0A++net_salvage%2C%0D%0A++apply_depr_rate%2C%0D%0A++mrtlty_crv_typ%2C%0D%0A++avg_remaining_lf%2C%0D%0A++report_prd%0D%0Afrom%0D%0A++f1_edcfu_epda%0D%0Awhere%0D%0A++respondent_id+%3D+210%0D%0A++AND+report_year+%3D+2020%0D%0Aorder+by%0D%0A++report_year%2C+report_prd%2C+respondent_id%2C+spplmnt_num%2C+row_number%0D%0Alimit%0D%0A++1000)** on our Datasette?
```sql
SELECT
respondent_id,
report_year,
spplmnt_num,
row_number,
row_seq,
row_prvlg,
acct_num,
depr_plnt_base,
est_avg_srvce_lf,
net_salvage,
apply_depr_rate,
mrtlty_crv_typ,
avg_remaining_lf,
report_prd
FROM
f1_edcfu_epda
WHERE
respondent_id = 210
AND report_year = 2020
ORDER BY
report_year, report_prd, respondent_id, spplmnt_num, row_number
LIMIT
1000
```
The problem here is that by default it's using `rowid` (the SQLite assigned autoincrementing integer key) to order the records, but the table **should** have a natural composite primary key, but the original database that this data is being migrated from doesn't enforce unique primary keys, so there are dupes, and we don't want to drop those rows, and the records are somehow getting jumbled in the database (the `rowid` ordering isn't lined up with the expected ordering based on the composite primary key, though it's close) and this jumbling is confusing to users that expect to see the data ordered based on the natural primary key.
I've tried setting the `sort` metadata parameter to a list of column names, a tuple of column names, a quoted string of comma-separated column names, a quoted string of a tuple of column names...
```yaml
databases:
ferc1:
tables:
f1_edcfu_epda:
sort: "(report_year, report_prd, respondent_id, spplmnt_num, row_number)"
```
and they all give me server errors like:
```
Cannot sort table by (report_year, report_prd, respondent_id, spplmnt_num, row_number)
``` |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1653/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1109783030 | I_kwDOBm6k_c5CJfH2 | 1607 | More detailed information about installed SpatiaLite version | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 2 | 2022-01-20T21:28:03Z | 2022-02-09T06:42:02Z | 2022-02-09T06:32:28Z | OWNER | https://www.gaia-gis.it/gaia-sins/spatialite-sql-5.0.0.html#version has a whole bunch of interesting functions for things like These could be shown on the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1607/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
842416110 | MDU6SXNzdWU4NDI0MTYxMTA= | 1278 | SpatiaLite timezones demo is broken | simonw 9599 | closed | 0 | 2 | 2021-03-27T04:45:27Z | 2022-01-20T21:29:43Z | 2021-03-27T16:17:13Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1278/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
443040665 | MDU6SXNzdWU0NDMwNDA2NjU= | 466 | Move "no such module: VirtualSpatialIndex" code elsewhere | simonw 9599 | closed | 0 | 0.28 4305096 | 2 | 2019-05-11T22:09:00Z | 2022-01-20T21:29:41Z | 2019-05-11T22:57:22Z | OWNER | We currently show a useful warning (from #331) when the user tries to open a spatialite database without first loading the module: This code is part of |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/466/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
563347679 | MDU6SXNzdWU1NjMzNDc2Nzk= | 668 | Make it easier to load SpatiaLite | simonw 9599 | closed | 0 | 2 | 2020-02-11T17:03:43Z | 2022-01-20T21:29:41Z | 2021-01-04T20:18:39Z | OWNER | ``` $ datasette spatial.db Serve! files=('spatial.db',) (immutables=()) on port 8001 ERROR: conn=<sqlite3.Connection object at 0x11e388f10>, sql = 'PRAGMA table_info(SpatialIndex);', params = None: no such module: VirtualSpatialIndex Usage: datasette serve [OPTIONS] [FILES]... Error: It looks like you're trying to load a SpatiaLite database without first loading the SpatiaLite module. Read more: https://datasette.readthedocs.io/en/latest/spatialite.html
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/668/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1097040427 | I_kwDOBm6k_c5BY4Ir | 1587 | Add `sqlite_stat1`(-4) tables to hidden table list | simonw 9599 | closed | 0 | 2 | 2022-01-08T21:28:20Z | 2022-01-20T04:12:59Z | 2022-01-20T04:12:59Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1587/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
991467558 | MDU6SXNzdWU5OTE0Njc1NTg= | 1466 | Add Datasette Desktop to installation documentation | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 2 | 2021-09-08T19:41:27Z | 2022-01-13T22:28:28Z | 2022-01-13T21:55:18Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1466/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1083921371 | I_kwDOBm6k_c5Am1Pb | 1570 | Separate db.execute_write() into three methods | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 2 | 2021-12-18T18:45:54Z | 2022-01-13T22:27:38Z | 2021-12-18T18:57:25Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1555#issuecomment-997267416 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1570/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1083895395 | I_kwDOBm6k_c5Amu5j | 1569 | db.execute_write(..., executescript=True) parameter | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 2 | 2021-12-18T18:20:47Z | 2022-01-13T22:27:27Z | 2021-12-18T18:34:18Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1555#issuecomment-997248364 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1569/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1083726550 | I_kwDOBm6k_c5AmFrW | 1568 | Trace should show queries on the write connection too | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 2 | 2021-12-18T02:34:12Z | 2022-01-13T22:27:23Z | 2021-12-18T02:42:34Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1555#issuecomment-997128508 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1568/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1083573206 | I_kwDOBm6k_c5AlgPW | 1563 | Datasette(... files=) should not be a required argument | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 2 | 2021-12-17T19:54:18Z | 2022-01-13T22:27:18Z | 2021-12-18T02:19:40Z | OWNER | ```pycon
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1563/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
712202333 | MDU6SXNzdWU3MTIyMDIzMzM= | 982 | SQL editor should allow execution of write queries, if you have permission | simonw 9599 | open | 0 | 2 | 2020-09-30T19:04:35Z | 2022-01-13T22:21:29Z | OWNER | The UI concept: if you have write permission then the existing SQL editor gets an "execute write" checkbox underneath it. JavaScript can spot if you appear to be trying to execute an UPDATE or INSERT or DELETE query and check that checkbox for you. If you link to a query page with a non-SELECT then that query will be displayed in the box ready for you to POST submit it. The page will also then get "cannot be embedded" headers to protect against clickjacking. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/982/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1077628073 | I_kwDOBm6k_c5AO0yp | 1550 | Research option for returning all rows from arbitrary query | simonw 9599 | open | 0 | 2 | 2021-12-11T19:31:11Z | 2021-12-11T23:43:24Z | OWNER | Inspired by thinking about #1549 - returning ALL rows from an arbitrary query is a lot easier if you just run that query and keep iterating over the cursor. I've avoided doing that in the past because it could tie up a connection for a long time - but in private instances this wouldn't be such a problem. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1550/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1073712378 | I_kwDOBm6k_c4__4z6 | 1544 | Code that detects the label column for a table is case-sensitive | simonw 9599 | closed | 0 | 2 | 2021-12-07T20:01:25Z | 2021-12-07T20:03:43Z | 2021-12-07T20:03:43Z | OWNER | I just noticed that a column called |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1544/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1057996111 | I_kwDOBm6k_c4_D71P | 1517 | Let `register_routes()` over-ride default routes within Datasette | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 2 | 2021-11-19T00:22:15Z | 2021-11-19T03:20:00Z | 2021-11-19T03:07:27Z | OWNER | See https://github.com/simonw/datasette/issues/878#issuecomment-973554024_ - right now It would be neat if plugins could do this - especially if there was a neat documented way for them to then re-dispatch to the original route code after making some kind of modification. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1517/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1021550542 | I_kwDOBm6k_c4845_O | 1482 | Support Python 3.10 | simonw 9599 | closed | 0 | 2 | 2021-10-09T00:30:52Z | 2021-10-24T22:21:40Z | 2021-10-24T22:19:55Z | OWNER | I started work on this in #1481 where I found a Python 3.10 bug that needs a workaround in Janus, see: This is a tracking issue for anything else that shows up. This is also needed for the Homebrew package to upgrade to 3.10: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1482/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
994450961 | MDU6SXNzdWU5OTQ0NTA5NjE= | 1469 | Column cog shows "facet by this" when already default faceted | simonw 9599 | closed | 0 | 2 | 2021-09-13T04:51:26Z | 2021-10-13T21:20:07Z | 2021-10-13T21:20:07Z | OWNER | e.g. on https://covid-19.datasettes.com/covid/economist_excess_deaths But if you add The logic that decides if the "Facet by this" item is shown does not take default |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1469/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
969548935 | MDU6SXNzdWU5Njk1NDg5MzU= | 1429 | UI for setting `?_size=max` on table page | simonw 9599 | open | 0 | 2 | 2021-08-12T20:52:09Z | 2021-08-13T04:37:41Z | OWNER | It defaults to 100 per page, but you can increase that to 1000 per page using But... that's only available to people who know how to hack URLs. Solution: add a link that sets that option to the pagination block at the bottom of the table: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1429/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
959284434 | MDExOlB1bGxSZXF1ZXN0NzAyNDIyMjYz | 1418 | Spelling corrections plus CI job for codespell | simonw 9599 | closed | 0 | 2 | 2021-08-03T16:21:19Z | 2021-08-03T16:36:39Z | 2021-08-03T16:36:38Z | OWNER | simonw/datasette/pulls/1418 | Refs #1417. |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1418/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
957298475 | MDU6SXNzdWU5NTcyOTg0NzU= | 1407 | OSError: AF_UNIX path too long in ds_unix_domain_socket_server | simonw 9599 | closed | 0 | 2 | 2021-07-31T18:36:06Z | 2021-07-31T19:03:44Z | 2021-07-31T19:03:44Z | OWNER | Got this exception while working on #1406. ``` @pytest.fixture(scope="session") def ds_unix_domain_socket_server(tmp_path_factory): socket_folder = tmp_path_factory.mktemp("uds") uds = str(socket_folder / "datasette.sock") ds_proc = subprocess.Popen( ["datasette", "--memory", "--uds", uds], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=tempfile.gettempdir(), ) # Give the server time to start time.sleep(1.5) # Check it started successfully
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1407/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
957302085 | MDU6SXNzdWU5NTczMDIwODU= | 1408 | Review places in codebase that use os.chdir(), in particularly relating to tests | simonw 9599 | open | 0 | 2 | 2021-07-31T18:57:06Z | 2021-07-31T19:00:32Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1406#issuecomment-890390198 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1408/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
792652391 | MDU6SXNzdWU3OTI2NTIzOTE= | 1199 | Experiment with PRAGMA mmap_size=N | simonw 9599 | open | 0 | 2 | 2021-01-23T21:24:09Z | 2021-07-17T17:39:17Z | OWNER | https://sqlite.org/mmap.html - SQLite supports memory-mapped I/O but it's disabled by default. The It would be very interesting to understand the impact this could have on Datasette performance for various different shapes of data. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1199/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
940891698 | MDU6SXNzdWU5NDA4OTE2OTg= | 1390 | Mention restarting systemd in documentation | simonw 9599 | closed | 0 | 2 | 2021-07-09T16:05:15Z | 2021-07-09T16:32:57Z | 2021-07-09T16:32:33Z | OWNER | https://docs.datasette.io/en/stable/deploying.html#running-datasette-using-systemd Need to clarify that if you add a new database or change metadata you need to restart systemd. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1390/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
503190241 | MDU6SXNzdWU1MDMxOTAyNDE= | 584 | Codec error in some CSV exports | simonw 9599 | closed | 0 | 2 | 2019-10-07T01:15:34Z | 2021-06-17T18:13:20Z | 2019-10-18T05:23:16Z | OWNER | Got this exploring my Swarm checkins:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/584/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
516748849 | MDU6SXNzdWU1MTY3NDg4NDk= | 612 | CSV export is broken for tables with null foreign keys | simonw 9599 | closed | 0 | 2 | 2019-11-02T22:52:47Z | 2021-06-17T18:13:20Z | 2019-11-02T23:12:53Z | OWNER | Following on from #406 - this CSV export appears to be broken: https://14da705.datasette.io/fixtures/foreign_key_references.csv?_labels=on&_size=max
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/612/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
736365306 | MDU6SXNzdWU3MzYzNjUzMDY= | 1083 | Advanced CSV export for arbitrary queries | simonw 9599 | open | 0 | 2 | 2020-11-04T19:23:05Z | 2021-06-17T18:12:31Z | OWNER | There's no link to download the CSV file - the table page has that as an advanced export option, but this is missing from the query page. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1083/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
759695780 | MDU6SXNzdWU3NTk2OTU3ODA= | 1133 | Option to omit header row in CSV export | simonw 9599 | closed | 0 | 2 | 2020-12-08T18:54:46Z | 2021-06-17T18:12:31Z | 2020-12-10T23:28:51Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1133/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
913809802 | MDU6SXNzdWU5MTM4MDk4MDI= | 1366 | Get rid of this `restore_working_directory` hack entirely | simonw 9599 | open | 0 | 2 | 2021-06-07T18:01:21Z | 2021-06-07T18:03:03Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1361#issuecomment-855308811 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1366/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
912464443 | MDU6SXNzdWU5MTI0NjQ0NDM= | 1360 | Security flaw, to be fixed in 0.56.1 and 0.57 | simonw 9599 | closed | 0 | 2 | 2021-06-05T21:53:51Z | 2021-06-05T22:23:23Z | 2021-06-05T22:22:06Z | OWNER | See security advisory here for details: https://github.com/simonw/datasette/security/advisories/GHSA-xw7c-jx9m-xh5g - the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1360/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
828811618 | MDU6SXNzdWU4Mjg4MTE2MTg= | 1257 | Table names containing single quotes break things | simonw 9599 | closed | 0 | 2 | 2021-03-11T06:29:38Z | 2021-06-02T03:28:29Z | 2021-06-02T03:28:29Z | OWNER | e.g. I found a table called It threw an error inside the
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1257/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
906977719 | MDU6SXNzdWU5MDY5Nzc3MTk= | 1350 | ?_nofacets=1 query string argument for disabling facets and suggested facets | simonw 9599 | closed | 0 | 2 | 2021-05-31T02:22:29Z | 2021-06-01T16:19:38Z | 2021-05-31T02:39:18Z | OWNER | This is needed as an internal option for #1349. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1350/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
908446997 | MDU6SXNzdWU5MDg0NDY5OTc= | 1353 | ?_nocount=1 for opting out of table counts | simonw 9599 | closed | 0 | 2 | 2021-06-01T15:53:27Z | 2021-06-01T16:18:54Z | 2021-06-01T16:17:04Z | OWNER | Running a trace against a CSV streaming export with the new This is inefficient - a new |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1353/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
842862708 | MDU6SXNzdWU4NDI4NjI3MDg= | 1280 | Ability to run CI against multiple SQLite versions | simonw 9599 | open | 0 | 2 | 2021-03-28T23:54:50Z | 2021-05-10T19:07:46Z | OWNER | Issue #1276 happened because I didn't run tests against a SQLite version prior to 3.16.0 (released 2017-01-02). Glitch is a deployment target and runs SQLite 3.11.0 from 2016-02-15. If CI ran against that version of SQLite this bug could have been avoided. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1280/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
576722115 | MDU6SXNzdWU1NzY3MjIxMTU= | 696 | Single failing unit test when run inside the Docker image | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 2 | 2020-03-06T06:16:36Z | 2021-03-29T17:04:19Z | 2021-03-07T07:41:18Z | OWNER |
It was for
Originally posted by @simonw in https://github.com/simonw/datasette/issues/695#issuecomment-595614469 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/696/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
279547886 | MDU6SXNzdWUyNzk1NDc4ODY= | 163 | Document the querystring argument for setting a different time limit | simonw 9599 | closed | 0 | 2 | 2017-12-05T22:05:08Z | 2021-03-23T02:44:33Z | 2017-12-06T15:06:57Z | OWNER | http://datasette.readthedocs.io/en/latest/sql_queries.html#query-limits Need to explain why this is useful too. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/163/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
837348479 | MDU6SXNzdWU4MzczNDg0Nzk= | 1269 | Don't attempt to run count(*) against virtual tables | simonw 9599 | closed | 0 | 2 | 2021-03-22T05:57:43Z | 2021-03-22T17:40:42Z | 2021-03-22T17:40:41Z | OWNER | Counting the rows in a virtual table doesn't seem very interesting to me, and it's the cause of at least one crashing bug with SpatiaLite 5.0 on Linux, see https://github.com/simonw/datasette/issues/1268 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1269/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
824067604 | MDU6SXNzdWU4MjQwNjc2MDQ= | 1250 | Research: Plugin hook for alternative database connections | simonw 9599 | closed | 0 | 2 | 2021-03-08T00:28:15Z | 2021-03-12T01:01:25Z | 2021-03-12T01:01:17Z | OWNER | The The real win would be if this could lead to running Datasette against PostgreSQL. I made some initial explorations in that direction a while ago in #670. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1250/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
818430405 | MDU6SXNzdWU4MTg0MzA0MDU= | 1247 | datasette.add_memory_database() method | simonw 9599 | closed | 0 | 2 | 2021-03-01T03:48:38Z | 2021-03-01T04:02:26Z | 2021-03-01T04:02:26Z | OWNER | I just wrote this code: It would be nice if you didn't have to separately instantiate a database object here. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1247/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
811589344 | MDU6SXNzdWU4MTE1ODkzNDQ= | 1235 | Upgrade Python version used by official Datasette Docker image | simonw 9599 | closed | 0 | 2 | 2021-02-19T00:47:40Z | 2021-02-19T01:48:31Z | 2021-02-19T01:48:30Z | OWNER | Currently uses 3.7.2: https://github.com/simonw/datasette/blob/73bed175631a79e13a521eee82f8451dd0477eb3/Dockerfile#L1 There's a security fix for Python which it would be good to ship in this image (even though I'm reasonably confident it doesn't affect Datasette): https://bugs.python.org/issue42938 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1235/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
792890765 | MDU6SXNzdWU3OTI4OTA3NjU= | 1200 | ?_size=10 option for the arbitrary query page would be useful | simonw 9599 | open | 0 | 2 | 2021-01-24T20:55:35Z | 2021-02-11T03:13:59Z | OWNER | https://latest.datasette.io/fixtures?sql=select+*+from+compound_three_primary_keys&_size=10 - Would also be good if it persisted in a hidden form field. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1200/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
803929694 | MDU6SXNzdWU4MDM5Mjk2OTQ= | 1219 | Try profiling Datasette using scalene | simonw 9599 | open | 0 | 2 | 2021-02-08T20:37:06Z | 2021-02-08T22:13:00Z | OWNER | https://github.com/emeryberger/scalene looks like an interesting profiling tool. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1219/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
771208009 | MDU6SXNzdWU3NzEyMDgwMDk= | 1154 | Documentation for new _internal database and tables | simonw 9599 | closed | 0 | Datasette 0.54 6346396 | 2 | 2020-12-18T22:34:52Z | 2021-01-25T00:09:22Z | 2021-01-25T00:08:41Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1150#issuecomment-748352106 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1154/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
792931244 | MDU6SXNzdWU3OTI5MzEyNDQ= | 1202 | Documentation convention for marking unstable APIs. | simonw 9599 | closed | 0 | Datasette 0.54 6346396 | 2 | 2021-01-24T23:47:18Z | 2021-01-25T00:01:02Z | 2021-01-25T00:01:02Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1154#issuecomment-766462197 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1202/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
782708469 | MDU6SXNzdWU3ODI3MDg0Njk= | 1183 | Take advantage of sqlite-utils cached table counts, if available | simonw 9599 | open | 0 | 2 | 2021-01-09T23:51:48Z | 2021-01-12T02:42:08Z | OWNER | sqlite-utils 3.2 now has a mechanism for creating a https://sqlite-utils.datasette.io/en/stable/python-api.html#cached-table-counts-using-triggers |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1183/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
780767542 | MDU6SXNzdWU3ODA3Njc1NDI= | 1180 | Lazily evaluated arguments for call_with_supported_arguments | simonw 9599 | open | 0 | 2 | 2021-01-06T18:43:34Z | 2021-01-07T18:56:24Z | OWNER | While building https://github.com/simonw/datasette-export-notebook I thought it would be nice to be able to show a count of exported records on the page "This will stream 10,422 records to your notebook". None of the documented arguments on https://docs.datasette.io/en/0.53/plugin_hooks.html#register-output-renderer-datasette expose the count. The closest is So, idea: if your defined render function takes a To implement this I would need to teach the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1180/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
450032134 | MDU6SXNzdWU0NTAwMzIxMzQ= | 495 | facet_m2m gets confused by multiple relationships | simonw 9599 | open | 0 | 2 | 2019-05-29T21:37:28Z | 2020-12-17T05:08:22Z | OWNER | I got this for a database I was playing with: I think this is because of these three tables: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/495/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
750330029 | MDU6SXNzdWU3NTAzMzAwMjk= | 1110 | datasette publish option for installing extra apt-get packages | simonw 9599 | closed | 0 | Datasette 0.52 6055094 | 2 | 2020-11-25T03:03:43Z | 2020-11-28T23:28:56Z | 2020-11-25T03:05:41Z | OWNER | I ran into a need for this while playing with https://github.com/simonw/datasette-ripgrep - I need to install the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1110/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
749982022 | MDU6SXNzdWU3NDk5ODIwMjI= | 1105 | Rebrand config as settings | simonw 9599 | closed | 0 | Datasette 0.52 6055094 | 2 | 2020-11-24T19:35:12Z | 2020-11-24T21:40:28Z | 2020-11-24T21:40:28Z | OWNER | I realized I need a tracking ticket for this. I want to start splitting things like plugin configuration and default facets / sort order out of |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1105/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
749981663 | MDU6SXNzdWU3NDk5ODE2NjM= | 1104 | config.json in directory config mode should be settings.json | simonw 9599 | closed | 0 | Datasette 0.52 6055094 | 2 | 2020-11-24T19:34:38Z | 2020-11-24T20:37:42Z | 2020-11-24T20:37:41Z | OWNER | Another knock-on effect of #992. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1104/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
749979454 | MDU6SXNzdWU3NDk5Nzk0NTQ= | 1103 | Rename /-/config to /-/settings | simonw 9599 | closed | 0 | Datasette 0.52 6055094 | 2 | 2020-11-24T19:31:00Z | 2020-11-24T20:19:20Z | 2020-11-24T20:19:19Z | OWNER | As part of rebranding config to settings, see also #992. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1103/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
315738696 | MDU6SXNzdWUzMTU3Mzg2OTY= | 226 | Unit tests for installable plugins | simonw 9599 | closed | 0 | 2 | 2018-04-19T06:05:32Z | 2020-11-24T19:52:51Z | 2020-11-24T19:52:46Z | OWNER | I'd like more thorough unit test coverage of the plugins mechanism - in particular for installable plugins. I think I can do this while still having the code live in the same repo, by creating a subdirectory in tests/example_plugin with its own setup.py and then running I imagine I will need to bump the version number every time I change the plugin in case someone runs the test again in the same virtual environment. If that doesn't work I can instead ship a datasette-plugins-tests two to PyPI and add that as a tests_require dependency. Refs #14 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/226/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]);