issues
2,260 rows where state = "closed" sorted by node_id
This data as json, CSV (advanced)
Suggested facets: author_association, draft, state_reason, created_at (date), updated_at (date), closed_at (date)
milestone >30 ✖
- Datasette 1.0 60
- 0.51 53
- Ship first public release 49
- Datasette 0.44 39
- Datasette 0.45 25
- Datasette 0.60 24
- Datasette 1.0a0 23
- 0.28 22
- Custom templates edition 21
- Datasette 0.50 21
- Datasette 0.54 19
- 3.21 16
- Datasette 0.52 15
- Datasette 1.0a2 15
- Datasette 0.49 13
- Datasette 1.0a3 13
- Foreign key edition 11
- Datasette 0.29 11
- Datasette 0.43 11
- 3.29 10
- Datasette 0.39 8
- 2.20 8
- Datasette 0.62 8
- 0.23.1 7
- 1.0 7
- 3.0 7
- Datasette 1.0a1 6
- v1 stretch goals 5
- 1.0 4
- Datasette 0.46 4
- …
repo 13
state 1
- closed · 2,260 ✖
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1055469073 | I_kwDOBm6k_c4-6S4R | 1513 | Research: CTEs and union all to calculate facets AND query at the same time | simonw 9599 | closed | 0 | 12 | 2021-11-16T22:26:45Z | 2021-11-16T23:41:46Z | 2021-11-16T23:41:46Z | OWNER | Consider this page: https://global-power-plants.datasettes.com/global-power-plants/global-power-plants?_search=plant&_facet=owner&_facet=country_long&_facet=primary_fuel Datasette needs to run the main query for the rows on that page, a count query for the total query, then a separate query for each of those three specified facets. This is a Could running that query as a CTE and doing the other queries as part of the same large query produce significant speed improvements? |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1513/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1050163432 | I_kwDOBm6k_c4-mDjo | 1503 | `?_nocol=` removes that column from the filter interface | simonw 9599 | closed | 0 | 1 | 2021-11-10T18:22:50Z | 2021-11-14T05:08:27Z | 2021-11-14T04:53:07Z | OWNER | e.g. on https://latest.datasette.io/fixtures/sortable?_nocol=sortable This causes weird behaviour when you e.g. facet by a hidden column, since selecting facets and then re-submitting the form will clear the selected filter. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1503/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1052826038 | I_kwDOBm6k_c4-wNm2 | 1506 | Columns beginning with an underscore do not facet correctly | simonw 9599 | closed | 0 | 1 | 2021-11-14T02:20:32Z | 2021-11-14T04:45:21Z | 2021-11-14T04:45:21Z | OWNER | Datasette treats columns that start with an underscore as querystring parameters it should ignore! Discovered in https://github.com/simonw/git-history/issues/14#issuecomment-968192464 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1506/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1052851176 | I_kwDOBm6k_c4-wTvo | 1507 | ReadTheDocs build failed for 0.59.2 release | simonw 9599 | closed | 0 | 6 | 2021-11-14T05:24:34Z | 2021-11-14T05:41:55Z | 2021-11-14T05:41:55Z | OWNER | I had to cancel the 0.59.2 release because ReadTheDocs was failing to build the documentation. https://readthedocs.org/projects/datasette/builds/15268454/ ``` /home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/bin/python -m sphinx -T -b html -d _build/doctrees -D language=en . _build/html Running Sphinx v1.8.5 loading translations [en]... done making output directory... building [mo]: targets for 0 po files that are out of date building [html]: targets for 27 source files that are out of date updating environment: 27 added, 0 changed, 0 removed reading sources... [ 3%] authentication Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/cmd/build.py", line 304, in build_main app.build(args.force_all, filenames) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/application.py", line 341, in build self.builder.build_update() File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/builders/init.py", line 347, in build_update len(to_build)) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/builders/init.py", line 360, in build updated_docnames = set(self.read()) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/builders/init.py", line 468, in read self._read_serial(docnames) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/builders/init.py", line 490, in _read_serial self.read_doc(docname) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/builders/init.py", line 534, in read_doc doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/io.py", line 318, in read_doc pub.publish() File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/docutils/core.py", line 219, in publish self.apply_transforms() File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/docutils/core.py", line 200, in apply_transforms self.document.transformer.apply_transforms() File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/transforms/init.py", line 90, in apply_transforms Transformer.apply_transforms(self) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/docutils/transforms/init.py", line 171, in apply_transforms transform.apply(**kwargs) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/transforms/init.py", line 245, in apply apply_source_workaround(n) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/util/nodes.py", line 94, in apply_source_workaround for classifier in reversed(node.parent.traverse(nodes.classifier)): TypeError: argument to reversed() must be a sequence Exception occurred: File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/0.59.2/lib/python2.7/site-packages/sphinx/util/nodes.py", line 94, in apply_source_workaround for classifier in reversed(node.parent.traverse(nodes.classifier)): TypeError: argument to reversed() must be a sequence The full traceback has been saved in /tmp/sphinx-err-vkl0oE.log, if you want to report the issue to the developers. Please also report this if it was a user error, so that a better error message can be provided next time. A bug report can be filed in the tracker at https://github.com/sphinx-doc/sphinx/issues. Thanks! ``` |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1507/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 | ||||||
1021849766 | I_kwDOBm6k_c486DCm | 1483 | Running a search on page 2 of results should not preserve ?_next= | simonw 9599 | closed | 0 | 0 | 2021-10-10T01:18:12Z | 2021-10-13T21:08:10Z | 2021-10-13T21:08:10Z | OWNER | Reported by @eigenfoo in https://github.com/simonw/datasette/issues/1470 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1483/reactions", "total_count": 2, "+1": 1, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1023243105 | I_kwDOBm6k_c48_XNh | 1486 | pipx installation instructions for plugins don't reference pipx inject | RhetTbull 41546558 | closed | 0 | 0 | 2021-10-12T00:43:42Z | 2021-10-13T21:09:11Z | 2021-10-13T21:09:11Z | CONTRIBUTOR | The datasette installation instructions discuss how to install with pipx, how to upgrade with pipx, and how to upgrade plugins with pipx but do not mention how to install a plugin with pipx. You discussed this on your blog but looks like this didn't make it in when you updated the docs for pipx (#756). I'll submit a PR shortly to fix this. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1486/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1025754125 | I_kwDOBm6k_c49I8QN | 1488 | Upgrade to httpx 0.20.0 (request() got an unexpected keyword argument 'allow_redirects') | simonw 9599 | closed | 0 | 5 | 2021-10-13T22:37:22Z | 2021-10-14T18:03:45Z | 2021-10-14T18:03:45Z | OWNER | This is caused by a change made to |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1488/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1028115674 | I_kwDOBm6k_c49R8za | 1493 | `--get '/:memory:.json?sql=select+3*5'` error with datasette 0.59 | chenrui333 1580956 | closed | 0 | 1 | 2021-10-16T18:22:22Z | 2021-10-19T04:39:11Z | 2021-10-19T04:39:11Z | NONE | 👋 trying to upgrade the formula to use the latest release, but runs into some regression test issue with My QQ is does this relates to https://github.com/Homebrew/homebrew-core/pull/87369 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1493/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1033864602 | I_kwDOBm6k_c49n4Wa | 1496 | Named parameters docs should include an example of a cast | simonw 9599 | closed | 0 | 1 | 2021-10-22T18:56:04Z | 2021-10-22T19:38:23Z | 2021-10-22T19:34:27Z | OWNER | https://docs.datasette.io/en/stable/sql_queries.html#named-parameters It's not obvious that the values from parameters are always SQLite strings, which means that you can't do e.g. integer comparisons on them without casting them first. The documentation here should include an example of this. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1496/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1034535001 | I_kwDOBm6k_c49qcBZ | 1497 | Publish to Docker Hub failing with "libcrypt.so.1: cannot open shared object file" | simonw 9599 | closed | 0 | 18 | 2021-10-24T22:57:07Z | 2023-01-18T17:13:45Z | 2021-10-24T23:36:55Z | OWNER | This means the Datasette 0.59.1 release has not been published to Docker Hub. Here's where that failed: https://github.com/simonw/datasette/runs/3991043374?check_suite_focus=true
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1497/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 | |||||
1058790545 | I_kwDOBm6k_c4_G9yR | 1519 | base_url is omitted in JSON and CSV views | phubbard 157158 | closed | 0 | 22 | 2021-11-19T18:10:45Z | 2021-12-01T17:50:09Z | 2021-11-20T19:11:21Z | NONE | I have a datasette deployment, using Apache2 to reverse proxy:
In settings.json I have
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1519/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1058815557 | I_kwDOBm6k_c4_HD5F | 1521 | Docker configuration for exercising Datasette behind Apache mod_proxy | simonw 9599 | closed | 0 | 10 | 2021-11-19T18:46:18Z | 2021-11-19T20:32:29Z | 2021-11-19T20:32:29Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1519#issuecomment-974310208 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1521/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1058896236 | I_kwDOBm6k_c4_HXls | 1522 | Deploy a live instance of demos/apache-proxy | simonw 9599 | closed | 0 | 34 | 2021-11-19T20:32:55Z | 2021-11-23T03:00:34Z | 2021-11-20T18:51:56Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1521#issuecomment-974322178 I started by following https://ahmet.im/blog/cloud-run-multiple-processes-easy-way/ - see example in https://github.com/ahmetb/multi-process-container-lazy-solution |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1522/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1059219106 | I_kwDOBm6k_c4_Imai | 1524 | Improve Apache proxy documentation, link to demo | simonw 9599 | closed | 0 | 4 | 2021-11-20T20:03:14Z | 2021-11-20T23:34:03Z | 2021-11-20T23:34:03Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1519#issuecomment-974697824 I'm going to put out 0.59.3 bugfix release with this, but I'd like to first improve the documentation on https://docs.datasette.io/en/stable/deploying.html#apache-proxy-configuration to highlight the new demo. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1524/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1059549523 | I_kwDOBm6k_c4_J3FT | 1526 | Add to vercel.json, rather than overwriting it. | mroswell 192568 | closed | 0 | 2 | 2021-11-22T00:47:12Z | 2021-11-22T04:49:45Z | 2021-11-22T04:13:47Z | CONTRIBUTOR | I'd like to be able to add to vercel.json. But Datasette overwrites whatever I put in that file. I originally reported this here: https://github.com/simonw/datasette-publish-vercel/issues/51 In that case, I wanted to do a rewrite... and now I need to do 301 redirects (because we had to rename our site). Can this be addressed? |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1526/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1059555791 | I_kwDOBm6k_c4_J4nP | 1527 | Columns starting with an underscore behave poorly in filters | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 7 | 2021-11-22T01:01:36Z | 2022-01-14T00:57:08Z | 2022-01-14T00:57:08Z | OWNER | Similar bug to #1525 (and #1506 before it). Start on https://latest.datasette.io/fixtures/facetable?_facet=_neighborhood - then select a neighborhood - then try to remove that filter using the little "x" and submitting the form again. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1527/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1059509927 | I_kwDOBm6k_c4_Jtan | 1525 | "Links from other tables" broken for columns starting with underscore | simonw 9599 | closed | 0 | 3 | 2021-11-21T22:55:08Z | 2021-11-30T06:39:01Z | 2021-11-30T06:34:35Z | OWNER | Same bug as #1506, this time it's this link or the row page: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1525/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
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 | ||||||
1065431383 | I_kwDOBm6k_c4_gTFX | 1533 | Add `Link: rel="alternate"` header pointing to JSON for a table/query | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 4 | 2021-11-28T20:43:25Z | 2022-02-02T07:56:51Z | 2022-02-02T07:49:33Z | OWNER | Originally explored in https://github.com/simonw/datasette-notebook/issues/2#issuecomment-980789406 - I wanted an efficient way to scan a list of URLs and figure out which if any of those corresponded to Datasette tables, canned queries or SQL output that could be represented as a table on a page. It looks like a neat way to do that is with
I can put a |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1533/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
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 | ||||||
1066288689 | I_kwDOBm6k_c4_jkYx | 1538 | Research pattern for re-registering existing Click tools with register_commands | simonw 9599 | closed | 0 | 3 | 2021-11-29T17:09:47Z | 2021-11-29T17:32:44Z | 2021-11-29T17:27:16Z | OWNER | Building a Datasette plugin that imports an existing Click CLI tool and re-registers it is proving hard - Click doesn't really want you to do that. I tried this: ```python from datasette import hookimpl from git_history.cli import file as git_history_file @hookimpl
def register_commands(cli):
cli.command(name="git-history")(git_history_file.callback)
Analyze the history of a specific file and write it to SQLite Options: --help Show this message and exit. ``` The options are all missing - which means that the command doesn't actually work. Will need to research this pattern separately. Originally posted by @simonw in https://github.com/simonw/git-history/issues/21#issuecomment-981835305 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1538/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1087913724 | I_kwDOBm6k_c5A2D78 | 1577 | Drop support for Python 3.6 | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 6 | 2021-12-23T18:17:03Z | 2022-01-25T23:30:03Z | 2022-01-20T04:31:41Z | OWNER | Original title: Decide when to drop support for Python 3.6
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1576#issuecomment-999878907 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1577/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1087931918 | I_kwDOBm6k_c5A2IYO | 1579 | `.execute_write(... block=True)` should be the default behaviour | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 7 | 2021-12-23T18:54:28Z | 2022-01-13T22:28:08Z | 2021-12-23T19:18:26Z | OWNER | Every single piece of code I've written against the write APIs has used the Without that, it instead fires the write into the queue but then continues even before it has finished executing.
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1579/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1089529555 | I_kwDOBm6k_c5A8ObT | 1581 | when hashed urls are turned on, the _memory db has improperly long-lived cache expiry | fgregg 536941 | closed | 0 | 1 | 2021-12-28T00:05:48Z | 2022-03-24T04:08:18Z | 2022-03-24T04:08:18Z | CONTRIBUTOR | if hashed_urls are on, then a -000 suffix is added to the in particular, this header is set:
this is not appropriate because the Either the cache-control header should be changed, or the _memory db should have a hash suffix that does depend on the contents of the databases. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1581/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1076057610 | I_kwDOBm6k_c5AI1YK | 1546 | validating the sql | jadsongmatos 50336793 | closed | 0 | 1 | 2021-12-09T21:35:57Z | 2021-12-18T02:05:17Z | 2021-12-18T02:05:16Z | NONE | Could someone tell me that part of the code is responsible for validating the sql that guarantees that only a table can be read |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1546/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1075893249 | I_kwDOBm6k_c5AINQB | 1545 | Custom pages don't work on windows | ryascott 559711 | closed | 0 | 3 | 2021-12-09T18:53:05Z | 2022-02-03T02:08:31Z | 2022-02-03T01:58:35Z | NONE | It seems that custom pages don't work when put in templates/pages To reproduce on datasette version 0.59.4 using PowerShell on WIndows 10 with Python 3.10.0
Start datasette
Navigate to http://127.0.0.1:8001/about and receive: Error 404: Database not found: about |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1545/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1076388044 | I_kwDOBm6k_c5AKGDM | 1547 | Writable canned queries fail to load custom templates | wragge 127565 | closed | 0 | Datasette 0.60 7571612 | 6 | 2021-12-10T03:31:48Z | 2022-01-13T22:27:59Z | 2021-12-19T21:12:00Z | CONTRIBUTOR | I've created a canned query with
My non-writeable canned queries pick up custom templates as expected, and if I look at their HTML I see the canned query name added to the templates considered (the canned query here is
So it seems like the writeable canned query is behaving differently for some reason. Is it an authentication thing? I'm using the built in Thanks! |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1547/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1077893013 | I_kwDOBm6k_c5AP1eV | 1551 | `keep_blank_values=True` when parsing `request.args` | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 3 | 2021-12-12T19:53:07Z | 2022-01-13T22:26:04Z | 2021-12-12T20:02:01Z | OWNER | This code in If that happened here instead: https://github.com/simonw/datasette/blob/492f9835aa7e90540dd0c6324282b109f73df71b/datasette/utils/asgi.py#L98-L100 Originally posted by @simonw in https://github.com/simonw/datasette/issues/1518#issuecomment-991827468 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1551/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1078702875 | I_kwDOBm6k_c5AS7Mb | 1552 | Allow to set `facets_array` in metadata (like current `facets`) | davidbgk 3556 | closed | 0 | Datasette 0.60 7571612 | 9 | 2021-12-13T16:00:44Z | 2022-01-13T22:26:15Z | 2021-12-16T18:47:48Z | CONTRIBUTOR | For now, you can set a I'm new to datasette, and I'm willing to help with a PR if that is not already implemented and I missed it! |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1552/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1079149656 | I_kwDOBm6k_c5AUoRY | 1555 | Optimize all those calls to index_list and foreign_key_list | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 27 | 2021-12-13T23:50:56Z | 2022-01-13T22:27:32Z | 2021-12-19T20:55:59Z | OWNER | On the first hit to a restarted index I'm seeing this in the SQL traces: https://latest-with-plugins.datasette.io/github/commits?_trace=1 I imagine this could be sped up a lot using tricks like this one from the SQLite documentation: https://sqlite.org/pragma.html#pragfunc
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1555/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1081318247 | I_kwDOBm6k_c5Ac5tn | 1556 | Show count of facet values always, not just for `?_facet_size=max` | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 1 | 2021-12-15T17:49:01Z | 2022-01-13T22:26:07Z | 2021-12-15T17:58:06Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1423#issuecomment-995023410 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1556/reactions", "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
completed | |||||
1082564912 | I_kwDOBm6k_c5AhqEw | 1557 | `?_nosuggest=1` parameter for disabling facet suggestions on table view | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 1 | 2021-12-16T19:21:42Z | 2022-01-13T22:26:48Z | 2021-12-16T19:24:59Z | OWNER | Found I wanted this while I was debugging #625 just to clean up the debug traces, but it makes sense as a partner to |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1557/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1082746149 | I_kwDOBm6k_c5AiWUl | 1560 | Table page title has "where where" in it | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 0 | 2021-12-17T00:05:48Z | 2022-01-13T22:28:35Z | 2022-01-13T22:20:15Z | OWNER | Just noticed this while working on #1518.
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1560/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1082765654 | I_kwDOBm6k_c5AibFW | 1561 | add hash id to "_memory" url if hashed url mode is turned on and crossdb is also turned on | fgregg 536941 | closed | 0 | 3 | 2021-12-17T00:45:12Z | 2022-03-19T04:45:40Z | 2022-03-19T04:45:40Z | CONTRIBUTOR | If hashed_url mode is turned on and crossdb is also turned on, then queries to _memory should have a hash_id. One way that it could work is to have the _memory hash be a hash of all the individual databases. Otherwise, crossdb queries can get quit out of data if using aggressive caching. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1561/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1083669410 | I_kwDOBm6k_c5Al3ui | 1566 | Release Datasette 0.60 | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 6 | 2021-12-17T22:58:12Z | 2022-01-14T01:59:55Z | 2022-01-14T01:59:55Z | OWNER | Using this as a tracking issue. I'm hoping to get the bulk of the JSON redesign work from the refactor in #1554 in for this release. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1566/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 | |||||
1083581011 | I_kwDOBm6k_c5AliJT | 1564 | _prepare_connection not called on write connections | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 1 | 2021-12-17T20:06:47Z | 2022-01-20T21:29:43Z | 2021-12-18T01:58:44Z | OWNER | I was trying to initalize SpatiaLite in a write connection: ```pycon
Compared to: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1564/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 | |||||
1083927147 | I_kwDOBm6k_c5Am2pr | 1571 | Track number of executions for execute_write_many() in traces | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 0 | 2021-12-18T19:16:17Z | 2022-01-13T22:27:49Z | 2021-12-19T20:30:40Z | OWNER | Spotted while working on #1555 There's no indication there of how many times Solving this is a tiny bit tricky because But then we need a way to attach that to the trace here: https://github.com/simonw/datasette/blob/d637ed46762fdbbd8e32b86f258cd9a53c1cfdc7/datasette/database.py#L115-L122 So probably need to redesign the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1571/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1083718998 | I_kwDOBm6k_c5AmD1W | 1567 | Remove undocumented sqlite_functions mechanism | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 0 | 2021-12-18T01:51:10Z | 2022-01-13T22:27:04Z | 2021-12-18T01:54:46Z | OWNER | I added this in 0b8c1b0a6da9cb8ac0d28cc90dd783de87554036 but it's never been documented and the same thing can now be achieved using the It's used here in the tests: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1567/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 | |||||
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 | |||||
1084007781 | I_kwDOBm6k_c5AnKVl | 1572 | "Query took" should be "Queries took" | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 0 | 2021-12-19T04:03:00Z | 2022-01-13T22:27:43Z | 2021-12-19T04:03:24Z | OWNER | This is misleading, since usually there have been more than one query executed: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1572/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1084257842 | I_kwDOBm6k_c5AoHYy | 1575 | __call__() got an unexpected keyword argument 'specname' | simonw 9599 | closed | 0 | 1 | 2021-12-20T01:24:04Z | 2021-12-20T01:48:03Z | 2021-12-20T01:47:57Z | OWNER |
Originally posted by @wragge in https://github.com/simonw/datasette/issues/1547#issuecomment-997511968 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1575/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1087181951 | I_kwDOBm6k_c5AzRR_ | 1576 | Traces should include SQL executed by subtasks created with `asyncio.gather` | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 12 | 2021-12-22T20:52:02Z | 2022-02-05T05:21:35Z | 2022-02-05T05:19:53Z | OWNER | I tried running some parallel SQL queries using I realized that was because traces are keyed against the current task ID, which changes when a sub-task is run using The faceting and suggest faceting queries are missing from this trace:
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1518#issuecomment-999870993 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1576/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1104691662 | I_kwDOBm6k_c5B2EHO | 1600 | plugins --all example should use cog | simonw 9599 | closed | 0 | 1 | 2022-01-15T11:47:49Z | 2022-01-20T05:06:21Z | 2022-01-20T05:04:16Z | OWNER | The example output for |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1600/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1105916061 | I_kwDOBm6k_c5B6vCd | 1601 | Add KNN and data_licenses to hidden tables list | eyeseast 25778 | closed | 0 | 5 | 2022-01-17T14:19:57Z | 2022-01-20T21:29:44Z | 2022-01-20T04:38:54Z | CONTRIBUTOR | They're generated by Spatialite and not very interesting in most cases. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1601/reactions", "total_count": 0, "+1": 0, "-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 | ||||||
1097101917 | I_kwDOBm6k_c5BZHJd | 1588 | `explain query plan select` is too strict about whitespace | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 3 | 2022-01-09T04:22:42Z | 2022-01-13T22:28:19Z | 2022-01-13T20:35:05Z | OWNER |
But... |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1588/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1099723916 | I_kwDOBm6k_c5BjHSM | 1590 | Table+query JSON and CSV links broken when using `base_url` setting | eelkevdbos 1001306 | closed | 0 | Datasette 0.60 7571612 | 11 | 2022-01-11T23:46:39Z | 2022-01-14T01:16:34Z | 2022-01-14T01:16:08Z | NONE | Datasette appends the prefix found in the In the follow asgi example, I'm hosting a custom Datasette instance: ```python asgi.pyimport pathlib from asgi_cors import asgi_cors from channels.routing import URLRouter from django.urls import re_path from datasette.app import Datasette datasette_ = Datasette( files=[], settings={ "base_url": "/datasettes/", "plugins": {} }, config_dir=pathlib.Path('.'), ) application = URLRouter([ re_path(r"^datasettes/.*", asgi_cors(datasette_.app(), allow_all=True)), ]) ``` Running it with:
Using a simple query on the http://localhost:8002/datasettes/_memory?sql=select+sqlite_version%28%29 It renders the following upon inspection: I am using datasette version |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1590/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1102359726 | I_kwDOBm6k_c5BtKyu | 1594 | Add a CLI reference page to the docs, inspired by sqlite-utils | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 3 | 2022-01-13T20:55:08Z | 2022-01-13T22:28:22Z | 2022-01-13T21:38:48Z | OWNER | Thought of this while posting this comment: https://github.com/simonw/datasette/issues/1591#issuecomment-1012506595 I added https://sqlite-utils.datasette.io/en/stable/cli-reference.html to It's maintained using |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1594/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1102484126 | I_kwDOBm6k_c5BtpKe | 1595 | Release notes for 0.60 | simonw 9599 | closed | 0 | Datasette 0.60 7571612 | 4 | 2022-01-13T22:23:14Z | 2022-01-14T01:37:39Z | 2022-01-14T01:37:39Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1595/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1102612922 | I_kwDOBm6k_c5BuIm6 | 1597 | "datasette inspect" has no help summary | simonw 9599 | closed | 0 | 1 | 2022-01-14T00:02:16Z | 2022-01-14T00:07:36Z | 2022-01-14T00:07:36Z | OWNER | Made obvious by the new CLI reference page added in #1594. https://docs.datasette.io/en/latest/cli-reference.html#datasette-inspect-help
Options: --inspect-file TEXT --load-extension TEXT Path to a SQLite extension to load --help Show this message and exit. ``` |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1597/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1102637351 | I_kwDOBm6k_c5BuOkn | 1598 | Replace update-docs-help.py script with cog | simonw 9599 | closed | 0 | 1 | 2022-01-14T00:33:27Z | 2022-01-14T00:47:57Z | 2022-01-14T00:47:57Z | OWNER | I introduced |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1598/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1121618041 | I_kwDOBm6k_c5C2oh5 | 1620 | Link: rel="alternate" to JSON for queries too | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 3 | 2022-02-02T08:02:42Z | 2022-02-02T21:53:02Z | 2022-02-02T21:33:00Z | OWNER | Following: - #1533 I implemented it for tables and rows but I should have done queries as well. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1620/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 | |||||
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 | |||||
1108846067 | I_kwDOBm6k_c5CF6Xz | 1606 | Tests failing against Python 3.6 | simonw 9599 | closed | 0 | 3 | 2022-01-20T04:22:44Z | 2022-01-20T04:36:42Z | 2022-01-20T04:36:42Z | OWNER | https://github.com/simonw/datasette/runs/4877484366
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1606/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1109884720 | I_kwDOBm6k_c5CJ38w | 1609 | Ensure "pip install datasette" still works with Python 3.6 | simonw 9599 | closed | 0 | 12 | 2022-01-21T00:08:10Z | 2022-01-24T19:20:09Z | 2022-01-21T02:24:13Z | OWNER | Original title: Can I keep "pip install datasette" working on Python 3.6?I dropped support for 3.6 in: - #1577 I'm getting reports that Is it possible to get If so, how? |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1609/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
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 | |||||
1109808154 | I_kwDOBm6k_c5CJlQa | 1608 | Documentation should clarify /stable/ vs /latest/ | simonw 9599 | closed | 0 | 15 | 2022-01-20T22:02:59Z | 2023-03-26T23:41:12Z | 2022-01-20T22:53:17Z | OWNER | It's not currently clear what the difference between https://docs.datasette.io/en/latest/ and https://docs.datasette.io/en/stable/ is - I should fix that. On Twitter: https://twitter.com/simonw/status/1484285006243528705 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1608/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1114147905 | I_kwDOBm6k_c5CaIxB | 1612 | Move canned queries closer to the SQL input area | jsfenfen 639012 | closed | 0 | Datasette 1.0 3268330 | 5 | 2022-01-25T17:06:39Z | 2022-03-19T04:04:49Z | 2022-01-25T18:34:21Z | CONTRIBUTOR | Original title: Consider placing example queries above the sql input? Hi! Have been enjoying deploying ad hoc datasettes for collaborators to pick over! I keep finding myself manually "fixing" the database.html template so that the "example queries" (canned queries) appear directly over the sql box? So they are sorta more a suggestion for collaborators who aren't inclined to write their own queries? My sense is any time I go to the trouble of writing canned queries my users should see 'em? (( I have also considered a client-side reactive-ish option where selecting a query just places the raw SQL in the box and doesn't execute it, but this seems to end up being an inconvenience, rather than a teaching tool. )) |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1612/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1117132741 | I_kwDOBm6k_c5ClhfF | 1615 | Potential simplified publishing mechanism | aidansteele 369053 | closed | 0 | 2 | 2022-01-28T08:34:50Z | 2022-02-02T07:34:21Z | 2022-02-02T07:34:17Z | NONE | Hi, Forewarning: this idea is one I've only been thinking about for a while and it's not fully fleshed-out yet. I love Datasette and what it stands for. I was thinking about how we could make it accessible to more people, especially those without access to credit cards required for a lot of hosting options. Or they might not feel comfortable signing up for said services. So I was thinking I might create a service that hosts Datasette instances for folks. I'd probably stick it on AWS Lambda and limit requests to something like n/month to avoid bankrupting myself. If I did build such a hypothetical service, I was thinking I would rely on GitHub Actions to do the heavy lifting. E.g. user ```yaml .github/workflows/push.ymlon: push this allows the publish action to use OIDC to authenticate johndoe/my-animalspermissions: id-token: write contents: read jobs: publish: runs-on: ubuntu-latest steps: - uses: actions/setup-python@v2
``` This would then cause a Datasette instance to be available at What do you think? Does this address a real need? Or am I perhaps misunderstanding the main friction points? As a bonus: it feels like this would pair well with git scraping. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1615/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1138008042 | I_kwDOBm6k_c5D1J_q | 1636 | "permissions" propery in metadata for configuring arbitrary permissions | simonw 9599 | closed | 0 | Datasette 1.0a2 8711695 | 14 | 2022-02-15T00:25:59Z | 2022-12-13T02:40:50Z | 2022-12-13T02:40:50Z | OWNER | The |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1636/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 | |||||
1157182254 | I_kwDOBm6k_c5E-TMu | 1646 | Configuration directory mode does not pick up other file extensions than .db | dnsos 15640196 | closed | 0 | 3 | 2022-03-02T13:15:23Z | 2022-10-07T23:06:17Z | 2022-10-07T23:03:35Z | NONE | Hello, I've been trying to run Datasette with the configuration directory mode with a structure such as this one:
(In my scenario I can't just change the filename extension without other problems arising) Now databases with the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1646/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1152072027 | I_kwDOBm6k_c5Eqzlb | 1642 | Dependency issue with asgiref and uvicorn | simonw 9599 | closed | 0 | 1 | 2022-02-26T18:00:35Z | 2022-03-05T01:11:27Z | 2022-03-05T01:11:17Z | OWNER | ``` ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts. We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default. datasette 0.60.2 requires asgiref<3.5.0,>=3.2.10, but you'll have asgiref 3.5.0 which is incompatible.
We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default. uvicorn 0.13.1 requires click==7.*, but you'll have click 8.0.4 which is incompatible. ``` |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1642/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1160407071 | I_kwDOBm6k_c5FKmgf | 1647 | Test failures with SQLite 3.37.0+ due to column affinity case | simonw 9599 | closed | 0 | 5 | 2022-03-05T17:37:46Z | 2022-03-05T19:56:28Z | 2022-03-05T19:47:04Z | OWNER | These three tests are failing on my local machine:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1647/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1160750713 | I_kwDOBm6k_c5FL6Z5 | 1650 | Implement redirects from old % encoding to new dash encoding | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 5 | 2022-03-06T23:40:02Z | 2022-03-07T19:26:15Z | 2022-03-07T19:26:14Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1439#issuecomment-1060044007 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1650/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 | |||||
1161969891 | I_kwDOBm6k_c5FQkDj | 1654 | Adopt a code of conduct | simonw 9599 | closed | 0 | 5 | 2022-03-07T22:00:24Z | 2022-03-07T22:19:35Z | 2022-03-07T22:19:35Z | OWNER | This is long overdue, especially given the size of the project now. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1654/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 | |||||
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 | ||||||
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 | |||||
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 | |||||
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 | |||||
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 | |||||
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 | |||||
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 | |||||
1170497629 | I_kwDOBm6k_c5FxGBd | 1662 | [feature request] Publish to fully static website | contrun 32609395 | closed | 0 | 1 | 2022-03-16T03:32:28Z | 2022-03-19T00:42:23Z | 2022-03-19T00:42:23Z | NONE | It seems currently all datasette publish requires a real backend server which is able to query the database and send results back to the frontend. There are a few projects to on-demand download a portion of data from the database from a sqlite lite database url, and present it directly to the user. These methods leverages web assembly under the hood. I think datasette is a perfect use case for this technology. Below are a few examples of querying sqlite database from frontend directly. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1662/reactions", "total_count": 1, "+1": 1, "-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 | |||||
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 | |||||
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 | ||||||
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 | ||||||
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 | |||||
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 | |||||
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 | ||||||
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 | ||||||
1181432624 | I_kwDOBm6k_c5Gazsw | 1688 | [plugins][documentation] Is it possible to serve per-plugin static folders when writing one-off (single file) plugins? | hydrosquall 9020979 | closed | 0 | 3 | 2022-03-26T01:17:44Z | 2022-03-27T01:01:14Z | 2022-03-26T21:34:47Z | CONTRIBUTOR | I'm trying to make a small plugin that depends on static assets, by following the guide here. I made a I am trying to follow the example of Unfortunately, datasette doesn't seem to be able to find my assets. Input:
Output: I suspect this issue might go away if I move away from "one-off" plugin mode, but it's been a while since I created a new python package so I'm not sure how much work there is to go between "one off" and "packaged for PyPI". I'd like to try to avoid needing to repackage a new
Thanks for your help! |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1688/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
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 | ||||||
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 | ||||||
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 | |||||
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 | ||||||
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 | ||||||
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 |
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]);