github
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1781047747 | I_kwDOBm6k_c5qKKHD | 2092 | test_homepage intermittent failure | 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 =================================== ________________________________ test_homepage _________________________________ [gw0] linux -- Python 3.7.17 /opt/hostedtoolcache/Python/3.7.17/x64/bin/python ds_client = <datasette.app.DatasetteClient object at 0x7f85d271ef50> @pytest.mark.asyncio async def test_homepage(ds_client): response = await ds_client.get("/.json") assert response.status_code == 200 assert "application/json; charset=utf-8" == response.headers["content-type"] data = response.json() assert data.keys() == {"fixtures": 0}.keys() d = data["fixtures"] assert d["name"] == "fixtures" assert d["tables_count"] == 24 assert len(d["tables_and_views_truncated"]) == 5 assert d["tables_and_views_more"] is True # 4 hidden FTS tables + no_primary_key (hidden in metadata) assert d["hidden_tables_count"] == 6 # 201 in no_primary_key, plus 6 in other hidden tables: > assert d["hidden_table_rows_sum"] == 207, data E AssertionError: {'fixtures': {'color': '9403e5', 'hash': None, 'hidden_table_rows_sum': 0, 'hidden_tables_count': 6, ...}} E assert 0 == 207 ``` My guess is that this is a timing error, where very occasionally the "count rows but stop counting if it exceeds a time limit" thing fails. | 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 | ||||||
1781022369 | I_kwDOBm6k_c5qKD6h | 2091 | Drop support for Python 3.7 | 9599 | closed | 0 | 3 | 2023-06-29T15:06:38Z | 2023-08-23T18:18:18Z | 2023-08-23T18:18:18Z | OWNER | It's EOL now, as of 2023-06-27 (two days ago): https://devguide.python.org/versions/ | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2091/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1780973290 | I_kwDOBm6k_c5qJ37q | 2089 | codespell test failure | 9599 | closed | 0 | 5 | 2023-06-29T14:40:10Z | 2023-06-29T14:48:11Z | 2023-06-29T14:48:10Z | OWNER | https://github.com/simonw/datasette/actions/runs/5413443676/jobs/9838999356 ``` codespell docs/*.rst --ignore-words docs/codespell-ignore-words.txt codespell datasette -S datasette/static --ignore-words docs/codespell-ignore-words.txt shell: /usr/bin/bash -e {0} env: pythonLocation: /opt/hostedtoolcache/Python/3.9.17/x64 LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.9.17/x64/lib docs/metadata.rst:192: displaing ==> displaying ``` This failure is legit, it found a spelling mistake: https://github.com/simonw/datasette/blob/ede62036180993dbd9d4e5d280fc21c183cda1c3/docs/metadata.rst#L192 | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2089/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1777548699 | I_kwDOCGYnMM5p8z2b | 561 | `--stop-after` option for `insert` and `upsert` commands | 9599 | closed | 0 | 1 | 2023-06-27T18:44:15Z | 2023-06-27T18:50:09Z | 2023-06-27T18:50:08Z | OWNER | I found myself wanting to insert rows from a 849MB CSV file without processing the whole thing: https://huggingface.co/datasets/jerpint-org/HackAPrompt-Playground-Submissions/tree/main | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/561/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1773458985 | PR_kwDOCGYnMM5T2mMb | 560 | Use sqlean if available in environment | 9599 | closed | 0 | 10 | 2023-06-25T19:48:48Z | 2023-06-26T08:21:00Z | 2023-06-25T23:25:51Z | OWNER | simonw/sqlite-utils/pulls/560 | Refs: - #559 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--560.org.readthedocs.build/en/560/ <!-- readthedocs-preview sqlite-utils end --> | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/560/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1773450152 | I_kwDOCGYnMM5ptLOo | 559 | sqlean support | 9599 | closed | 0 | 0 | 2023-06-25T19:27:26Z | 2023-06-25T23:25:53Z | 2023-06-25T23:25:53Z | OWNER | If sqlean is available, use that. Refs: - https://github.com/nalgeon/sqlean.py/issues/1#issuecomment-1605707788 This will provide a good workaround for: - #235 | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/559/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1756975532 | PR_kwDOBm6k_c5S_5Jl | 2083 | Bump blacken-docs from 1.13.0 to 1.14.0 | 49699333 | closed | 0 | 0 | 2023-06-14T13:57:52Z | 2023-06-29T14:31:55Z | 2023-06-29T14:31:54Z | CONTRIBUTOR | simonw/datasette/pulls/2083 | Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.13.0 to 1.14.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/adamchainz/blacken-docs/blob/main/CHANGELOG.rst">blacken-docs's changelog</a>.</em></p> <blockquote> <h2>1.14.0 (2023-06-13)</h2> <ul> <li>Support Python 3.12.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/adamchainz/blacken-docs/commit/4b94add9bc83d772ae5e31a679a18609c1750513"><code>4b94add</code></a> Version 1.14.0</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/292cb18828c73dfa5273c88ce261b453fb9fdf43"><code>292cb18</code></a> Support Python 3.12 (<a href="https://redirect.github.com/asottile/blacken-docs/issues/251">#251</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/72ecf2c719027fd464f5561d4ab119f736e8a4ad"><code>72ecf2c</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/249">#249</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/ea8f1ca88f2f0a58371bb07dab9c647d56d5b3ed"><code>ea8f1ca</code></a> Upgrade requirements (<a href="https://redirect.github.com/asottile/blacken-docs/issues/248">#248</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/9979d7a78be5b7749ebb000f10f4515e5dc9a574"><code>9979d7a</code></a> Upgrade requirements (<a href="https://redirect.github.com/asottile/blacken-docs/issues/247">#247</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/7b71075ceb458be255e24da587c0275818b51faa"><code>7b71075</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/245">#245</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/6280868a8b944193e72436bb467749a21b790d7c"><code>6280868</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/asottile/blacken-docs/issues/244">#244</a>)</li> <li><a hr… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2083/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1740150327 | I_kwDOCGYnMM5nuJY3 | 557 | Aliased ROWID option for tables created from alter=True commands | 7908073 | closed | 0 | 2 | 2023-06-04T05:29:28Z | 2023-06-14T06:09:21Z | 2023-06-05T19:26:26Z | CONTRIBUTOR | > If you use INTEGER PRIMARY KEY column, the VACUUM does not change the values of that column. However, if you use unaliased rowid, the VACUUM command will reset the rowid values. ROWID should never be used with foreign keys but the simple act of aliasing rowid to id (which is what happens when one does `id integer primary key` DDL) makes it OK. It would be convenient if there were more options to use a string column (eg. filepath) as the PK, and be able to use it during upserts, but when creating a foreign key, to create an integer column which aliases rowid I made an attempt to switch to integer primary keys here but it is not going well... In my usecase the path column is a business key. Yes, it should be as simple as including the `id` column in any select statement where I plan on using `upsert` but it would be nice if this could be abstracted away somehow https://github.com/chapmanjacobd/library/commit/788cd125be01d76f0fe2153335d9f6b21db1343c https://github.com/chapmanjacobd/library/actions/runs/5173602136/jobs/9319024777 | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/557/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1726603778 | PR_kwDOBm6k_c5RYvTU | 2080 | New View base class | 9599 | closed | 0 | 3 | 2023-05-25T23:22:55Z | 2023-05-26T00:18:45Z | 2023-05-26T00:18:44Z | OWNER | simonw/datasette/pulls/2080 | Refs: - #2078 TODO: - [x] Teach router layer how to handle this - [x] Use it for something <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2080.org.readthedocs.build/en/2080/ <!-- readthedocs-preview datasette end --> | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2080/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1726531350 | I_kwDOBm6k_c5m6McW | 2079 | Datasette should serve Access-Control-Max-Age | 9599 | closed | 0 | 8 | 2023-05-25T21:50:50Z | 2023-05-25T22:56:28Z | 2023-05-25T22:08:35Z | OWNER | Currently the CORS headers served are: https://github.com/simonw/datasette/blob/9584879534ff0556e04e4c420262972884cac87b/datasette/utils/__init__.py#L1139-L1143 Serving `Access-Control-Max-Age: 600` would allow browsers to cache that for 10 minutes, avoiding additional CORS pre-flight OPTIONS requests during that time. | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2079/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1726236847 | I_kwDOBm6k_c5m5Eiv | 2078 | Resolve the difference between `wrap_view()` and `BaseView` | 9599 | closed | 0 | 16 | 2023-05-25T17:44:32Z | 2023-05-26T00:18:46Z | 2023-05-26T00:18:46Z | OWNER | There are two patterns for implementing views in Datasette at the moment. I want to combine those. Part of: - #2053 | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2078/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1719759468 | PR_kwDOBm6k_c5RBXH_ | 2077 | Bump furo from 2023.3.27 to 2023.5.20 | 49699333 | closed | 0 | 3 | 2023-05-22T13:58:16Z | 2023-07-27T13:40:55Z | 2023-07-27T13:40:53Z | CONTRIBUTOR | simonw/datasette/pulls/2077 | Bumps [furo](https://github.com/pradyunsg/furo) from 2023.3.27 to 2023.5.20. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pradyunsg/furo/blob/main/docs/changelog.md">furo's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <!-- raw HTML omitted --> <h2>2023.05.20 -- Unassuming Ultramarine</h2> <ul> <li>✨ Add support for Sphinx 7.</li> <li>Drop support for Sphinx 5.</li> <li>Improve the screen-reader label for sidebar collapse.</li> <li>Make it easier to create derived themes from Furo.</li> <li>Bump all JS dependencies (NodeJS and npm packages).</li> </ul> <h2>2023.03.27 -- Tasty Tangerine</h2> <ul> <li>Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.</li> <li>Add missing class to Font Awesome examples</li> </ul> <h2>2023.03.23 -- Sassy Saffron</h2> <ul> <li>Update Python version classifiers.</li> <li>Increase the icon size in mobile header.</li> <li>Increase admonition title bg opacity.</li> <li>Change the default API background to transparent.</li> <li>Transition the API background change.</li> <li>Remove the "indent" of API entries which have a background.</li> <li>Break long inline code literals.</li> </ul> <h2>2022.12.07 -- Reverent Raspberry</h2> <ul> <li>✨ Add support for Sphinx 6.</li> <li>✨ Improve footnote presentation with docutils 0.18+.</li> <li>Drop support for Sphinx 4.</li> <li>Improve documentation about what the edit button does.</li> <li>Improve handling of empty-flexboxes for better print experience on Chrome.</li> <li>Improve styling for inline signatures.</li> <li>Replace the <code>meta</code> generator tag with a comment.</li> <li>Tweak labels with icons to prevent users selecting icons as text on touch.</li> </ul> <h2>2022.09.29 -- Quaint Quartz</h2> <ul> <li>Add ability to set arbitrary URLs for edit button.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pradyunsg/furo/commit/d2c9ca852542820632… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2077/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1718635018 | PR_kwDOCGYnMM5Q9lY4 | 553 | Reformatted CLI examples in docs | 9599 | closed | 0 | 2 | 2023-05-21T20:44:34Z | 2023-05-21T20:57:27Z | 2023-05-21T20:57:23Z | OWNER | simonw/sqlite-utils/pulls/553 | Refs: - #551 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--553.org.readthedocs.build/en/553/ <!-- readthedocs-preview sqlite-utils end --> | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/553/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1718612569 | I_kwDOCGYnMM5mb_JZ | 552 | Document how to setup shell auto-completion | 9599 | closed | 0 | 1 | 2023-05-21T19:20:41Z | 2023-05-21T21:05:16Z | 2023-05-21T21:03:40Z | OWNER | https://click.palletsprojects.com/en/8.1.x/shell-completion/ This works for `zsh`: eval "$(_SQLITE_UTILS_COMPLETE=zsh_source sqlite-utils)" This will probably work for `bash`: eval "$(_SQLITE_UTILS_COMPLETE=bash_source sqlite-utils)" Need to add this to the installation docs here: https://sqlite-utils.datasette.io/en/stable/installation.html - along with the pattern for adding that to `.zshrc` or whatever. | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/552/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1718607907 | I_kwDOCGYnMM5mb-Aj | 551 | Make as many examples in the CLI docs as possible copy-and-pastable | 9599 | closed | 0 | 6 | 2023-05-21T19:04:10Z | 2023-05-21T21:04:04Z | 2023-05-21T20:57:24Z | OWNER | e.g. in this section: https://sqlite-utils.datasette.io/en/stable/cli.html#running-queries-directly-against-csv-or-json <img width="771" alt="image" src="https://github.com/simonw/sqlite-utils/assets/9599/3935111d-441e-4edb-9100-ce210117dbe5"> The little copy button will also copy the `$ ` which breaks the examples when copied. | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/551/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1718595700 | I_kwDOCGYnMM5mb7B0 | 550 | AttributeError: 'EntryPoints' object has no attribute 'get' for flake8 on Python 3.7 | 9599 | closed | 0 | 3 | 2023-05-21T18:24:39Z | 2023-05-21T18:42:25Z | 2023-05-21T18:41:58Z | OWNER | https://github.com/simonw/sqlite-utils/actions/runs/5039064797/jobs/9036965488 ``` Traceback (most recent call last): File "/opt/hostedtoolcache/Python/3.7.16/x64/bin/flake8", line 8, in <module> sys.exit(main()) File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/flake8/main/cli.py", line 22, in main app.run(argv) File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/flake8/main/application.py", line 363, in run self._run(argv) File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/flake8/main/application.py", line 350, in _run self.initialize(argv) File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/flake8/main/application.py", line 330, in initialize self.find_plugins(config_finder) File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/flake8/main/application.py", line 153, in find_plugins self.check_plugins = plugin_manager.Checkers(local_plugins.extension) File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/flake8/plugins/manager.py", line 357, in __init__ self.namespace, local_plugins=local_plugins File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/flake8/plugins/manager.py", line 238, in __init__ self._load_entrypoint_plugins() File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/flake8/plugins/manager.py", line 254, in _load_entrypoint_plugins eps = importlib_metadata.entry_points().get(self.namespace, ()) AttributeError: 'EntryPoints' object has no attribute 'get' Error: Process completed with exit code 1. ``` | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/550/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1718586377 | PR_kwDOCGYnMM5Q9cAv | 549 | TUI powered by Trogon | 9599 | closed | 0 | 3 | 2023-05-21T17:55:42Z | 2023-05-21T18:42:00Z | 2023-05-21T18:41:56Z | OWNER | simonw/sqlite-utils/pulls/549 | Refs: - #545 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--549.org.readthedocs.build/en/549/ <!-- readthedocs-preview sqlite-utils end --> | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/549/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1718576761 | I_kwDOCGYnMM5mb2Z5 | 548 | analyze-tables should validate provide --column names | 9599 | closed | 0 | 1 | 2023-05-21T17:20:24Z | 2023-05-21T17:35:52Z | 2023-05-21T17:35:52Z | OWNER | Noticed this while testing: - #547 If you pass a non-existent column to `-c/--column` you don't get an error message. | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/548/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1718572201 | I_kwDOCGYnMM5mb1Sp | 547 | No need to show common values if everything is null | 9599 | closed | 0 | 1 | 2023-05-21T17:05:07Z | 2023-05-21T17:19:21Z | 2023-05-21T17:19:21Z | OWNER | Noticed this: ``` % sqlite-utils analyze-tables content.db repos -c delete_branch_on_merge --common-limit 20 --no-least repos.delete_branch_on_merge: (1/1) Total rows: 158 Null rows: 158 Blank rows: 0 Distinct values: 0 Most common: 158: None ``` The `158: None` there is duplicate information considering we already know there are 158/158 null rows. | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/547/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1718550688 | PR_kwDOCGYnMM5Q9VH0 | 546 | Analyze tables options: --common-limit, --no-most, --no-least | 9599 | closed | 0 | 2 | 2023-05-21T15:54:39Z | 2023-05-21T16:19:30Z | 2023-05-21T16:19:30Z | OWNER | simonw/sqlite-utils/pulls/546 | Refs #544 - [x] Documentation for CLI options - [x] Documentation for new Python API parameters: `most_common: bool` and `least_common: bool` - [x] Tests for CLI - [x] Tests for Python API | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/546/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1718517882 | I_kwDOCGYnMM5mboB6 | 545 | Try out Trogon for a tui interface | 9599 | closed | 0 | 6 | 2023-05-21T14:08:25Z | 2023-05-21T19:33:13Z | 2023-05-21T18:41:58Z | OWNER | https://github.com/Textualize/trogon | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/545/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1718515590 | I_kwDOCGYnMM5mbneG | 544 | New options for analyze-tables --common-limit --no-most and --no-least | 9599 | closed | 0 | 2 | 2023-05-21T14:03:19Z | 2023-05-21T17:03:06Z | 2023-05-21T16:19:31Z | OWNER | The "least common" section is frequently uninteresting, especially for huge tables with a large number of repeated-once values. sqlite-utils analyze-tables content.db repos --common-limit 20 --no-least | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/544/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1710164693 | PR_kwDOBm6k_c5QhIL2 | 2075 | Bump sphinx from 6.1.3 to 7.0.1 | 49699333 | closed | 0 | 2 | 2023-05-15T13:59:31Z | 2023-07-25T13:28:39Z | 2023-07-25T13:28:36Z | CONTRIBUTOR | simonw/datasette/pulls/2075 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.0.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v7.0.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v7.0.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v7.0.0rc1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.2.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.2.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 7.0.1 (released May 12, 2023)</h1> <h2>Dependencies</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11411">#11411</a>: Support <code>Docutils 0.20</code>_. Patch by Adam Turner.</li> </ul> <p>.. _Docutils 0.20: <a href="https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-20-2023-05-04">https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-20-2023-05-04</a></p> <h2>Bugs fixed</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11418">#11418</a>: Clean up remaining references to <code>sphinx.setup_command</code> following the removal of support for setuptools. Patch by Willem Mulder.</li> </ul> <h1>Release 7.0.0 (released Apr 29, 2023)</h1> <h2>Incompatible changes</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11359">#11359</a>: Remove long-deprecated … | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2075/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1702354223 | I_kwDOBm6k_c5ld90v | 2070 | Mechanism for deploying a preview of a branch using Vercel | 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 `json-extras-query` branch here: https://datasette-preview-json-extras-query.vercel.app/ | 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 | ||||||
1701018909 | I_kwDOCGYnMM5lY30d | 543 | Tests broken on Windows due to new convert() lambda names | 9599 | closed | 0 | 0 | 2023-05-08T22:11:29Z | 2023-05-08T22:19:04Z | 2023-05-08T22:19:04Z | OWNER | https://github.com/simonw/sqlite-utils/actions/runs/4920084038/jobs/8788501314 ```python sql = 'update [example] set [dt] = lambda_-9223371942137158589([dt]);' ``` From: - #526 | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/543/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1699184583 | I_kwDOCGYnMM5lR3_H | 540 | sphinx.builders.linkcheck build error | 9599 | closed | 0 | 4 | 2023-05-07T18:37:09Z | 2023-05-08T04:56:13Z | 2023-05-07T18:42:36Z | OWNER | https://readthedocs.org/projects/sqlite-utils/builds/20512693/ ``` Running Sphinx v6.2.1 Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/sqlite-utils/envs/latest/lib/python3.8/site-packages/sphinx/registry.py", line 442, in load_extension mod = import_module(extname) File "/home/docs/checkouts/readthedocs.org/user_builds/sqlite-utils/envs/latest/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/docs/checkouts/readthedocs.org/user_builds/sqlite-utils/envs/latest/lib/python3.8/site-packages/sphinx/builders/linkcheck.py", line 20, in <module> from requests import Response File "/home/docs/checkouts/readthedocs.org/user_builds/sqlite-utils/envs/latest/lib/python3.8/site-packages/requests/__init__.py", line 43, in <module> import urllib3 File "/home/docs/checkouts/readthedocs.org/user_builds/sqlite-utils/envs/latest/lib/python3.8/site-packages/urllib3/__init__.py", line 38, in <module> raise ImportError( ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.0.2n 7 Dec 2017. See: https://github.com/urllib3/urllib3/issues/2168 The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/sqlite-utils/envs/latest/lib/python3.8/site-packages/sphinx/cmd/build.py", line 280, in build_main app = Sphinx(args.sourcedir, args.confdir, args.outputdir, File "/… | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/540/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1699174055 | I_kwDOCGYnMM5lR1an | 539 | `--raw-lines` option, like `--raw` for multiple lines | 9599 | closed | 0 | 4 | 2023-05-07T18:07:46Z | 2023-05-07T18:43:24Z | 2023-05-07T18:26:18Z | OWNER | I wanted to output newline-separated output of the first column of every row in the results - like `--row` but for more than one line. | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/539/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1695428235 | I_kwDOCGYnMM5lDi6L | 538 | `table.upsert_all` fails to write rows when `not_null` is present | 1231935 | closed | 0 | 9 | 2023-05-04T07:30:38Z | 2023-05-08T20:06:35Z | 2023-05-08T19:27:02Z | NONE | I found an odd bug today, where calls to `table.upsert_all` don't write rows if you include the `not_null` kwarg. ## Repro Example ```py from sqlite_utils import Database db = Database("upsert-test.db") db["comments"].upsert_all( [{"id": 1, "name": "david"}], pk="id", not_null=["name"], ) assert list(db["comments"].rows) # err! ``` The schema is correctly created: ```sql CREATE TABLE [comments] ( [id] INTEGER PRIMARY KEY, [name] TEXT NOT NULL ) ``` But no rows are created. Removing either the `not_null` kwargs works as expected, as does an `insert_all` call. ## Version Info - Python: `3.11.0` - sqlite-utils: `3.30` - sqlite: `3.39.5 2022-10-14` | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/538/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1690842199 | PR_kwDOBm6k_c5PgNaA | 2068 | Bump sphinx from 6.1.3 to 7.0.0 | 49699333 | closed | 0 | 1 | 2023-05-01T13:58:46Z | 2023-05-15T13:59:38Z | 2023-05-15T13:59:36Z | CONTRIBUTOR | simonw/datasette/pulls/2068 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 7.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v7.0.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v7.0.0rc1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.2.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.2.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 7.0.0 (released Apr 29, 2023)</h1> <h2>Incompatible changes</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11359">#11359</a>: Remove long-deprecated aliases for <code>MecabSplitter</code> and <code>DefaultSplitter</code> in <code>sphinx.search.ja</code>.</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11360">#11360</a>: Remove deprecated <code>make_old_id</code> functions in domain object description classes.</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11363">#11363</a>: Remove the Setuptools integration (<code>build_sphinx</code> hook in <code>setup.py</code>).</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11364">#11364</a>: Remove deprecated <code>sphinx.ext.napoleon.iterators</code> module.</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11365">#11365</a>: Remove support for the <code>jsdump</code> format in <code>sphinx.search</code>.</li> <li><a href="https://re… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2068/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1686042269 | I_kwDOBm6k_c5kfvad | 2066 | Failing test: httpx.InvalidURL: URL too long | 9599 | closed | 0 | 10 | 2023-04-27T03:48:47Z | 2023-04-27T04:27:50Z | 2023-04-27T04:27:50Z | OWNER | https://github.com/simonw/datasette/actions/runs/4815723640/jobs/8574667731 ``` def urlparse(url: str = "", **kwargs: typing.Optional[str]) -> ParseResult: # Initial basic checks on allowable URLs. # --------------------------------------- # Hard limit the maximum allowable URL length. if len(url) > MAX_URL_LENGTH: > raise InvalidURL("URL too long") E httpx.InvalidURL: URL too long /opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/httpx/_urlparse.py:155: InvalidURL =========================== short test summary info ============================ FAILED tests/test_csv.py::test_max_csv_mb - httpx.InvalidURL: URL too long ``` | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2066/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1686033652 | I_kwDOBm6k_c5kftT0 | 2065 | Datasette cannot be installed with Rye | 9599 | closed | 0 | 4 | 2023-04-27T03:35:42Z | 2023-04-27T05:09:36Z | 2023-04-27T05:09:36Z | OWNER | https://github.com/mitsuhiko/rye I tried this: rye install datasette But now: ``` % ~/.rye/shims/datasette Traceback (most recent call last): File "/Users/simon/.rye/shims/datasette", line 5, in <module> from datasette.cli import cli File "/Users/simon/.rye/tools/datasette/lib/python3.11/site-packages/datasette/cli.py", line 17, in <module> from .app import ( File "/Users/simon/.rye/tools/datasette/lib/python3.11/site-packages/datasette/app.py", line 14, in <module> import pkg_resources ModuleNotFoundError: No module named 'pkg_resources' ``` I think that's because `setuptools` is not included in Rye. | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2065/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1683229834 | PR_kwDOBm6k_c5PG0wF | 2064 | Bump sphinx from 6.1.3 to 6.2.1 | 49699333 | closed | 0 | 1 | 2023-04-25T13:57:49Z | 2023-05-01T13:58:53Z | 2023-05-01T13:58:52Z | CONTRIBUTOR | simonw/datasette/pulls/2064 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 6.2.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v6.2.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.2.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 6.2.1 (released Apr 25, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11355">#11355</a>: Revert the default type of :confval:<code>nitpick_ignore</code> and :confval:<code>nitpick_ignore_regex</code> to <code>list</code>.</li> </ul> <h1>Release 6.2.0 (released Apr 23, 2023)</h1> <h2>Dependencies</h2> <ul> <li>Require Docutils 0.18.1 or greater.</li> </ul> <h2>Incompatible changes</h2> <ul> <li>LaTeX: removal of some internal TeX <code>\dimen</code> registers (not previously publicly documented) as per 5.1.0 code comments in <code>sphinx.sty</code>: <code>\sphinxverbatimsep</code>, <code>\sphinxverbatimborder</code>, <code>\sphinxshadowsep</code>, <code>\sphinxshadowsize</code>, and <code>\sphinxshadowrule</code>. (refs: <a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11105">#11105</a>)</li> <li>Remove <code>.egg</code> support from pycode <code>ModuleAnalyser</code>; Python eggs are a now-obsolete binary distribution format</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11089">#11089</a>: Remove deprecated code in <code>sphinx.builders.linkcheck</code>. Patch by Daniel Eades</li> <li>Remove internal-only <code>sphinx.locale.setlocale</code></li> </ul> <h2>Deprecated</h2> <ul> <li><a href="htt… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2064/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1681339696 | PR_kwDOBm6k_c5PAcGt | 2063 | Bump sphinx from 6.1.3 to 6.2.0 | 49699333 | closed | 0 | 1 | 2023-04-24T13:58:21Z | 2023-04-25T13:57:55Z | 2023-04-25T13:57:53Z | CONTRIBUTOR | simonw/datasette/pulls/2063 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.3 to 6.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v6.2.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 6.2.0 (released Apr 23, 2023)</h1> <h2>Dependencies</h2> <ul> <li>Require Docutils 0.18.1 or greater.</li> </ul> <h2>Incompatible changes</h2> <ul> <li>LaTeX: removal of some internal TeX <code>\dimen</code> registers (not previously publicly documented) as per 5.1.0 code comments in <code>sphinx.sty</code>: <code>\sphinxverbatimsep</code>, <code>\sphinxverbatimborder</code>, <code>\sphinxshadowsep</code>, <code>\sphinxshadowsize</code>, and <code>\sphinxshadowrule</code>. (refs: <a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11105">#11105</a>)</li> <li>Remove <code>.egg</code> support from pycode <code>ModuleAnalyser</code>; Python eggs are a now-obsolete binary distribution format</li> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11089">#11089</a>: Remove deprecated code in <code>sphinx.builders.linkcheck</code>. Patch by Daniel Eades</li> <li>Remove internal-only <code>sphinx.locale.setlocale</code></li> </ul> <h2>Deprecated</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11247">#11247</a>: Deprecate the legacy <code>intersphinx_mapping</code> format</li> <li><code>sphinx.util.osutil.cd</code> is deprecated in favour of <code>contextlib.chdir</code>.</li> </ul> <h2>Features added</h2> <ul> <li><a href="https://redirect.github.com/sphinx-doc/sphinx/issues/11277">#11277</a>: :rst:dir:<code>autoproperty</code> allows the return type to be specified as a type comment … | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2063/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1665200812 | PR_kwDOCGYnMM5OKveS | 537 | Support self-referencing FKs in `Table.create` | 544011 | closed | 0 | 3 | 2023-04-12T20:26:59Z | 2023-05-08T22:45:33Z | 2023-05-08T21:10:01Z | CONTRIBUTOR | simonw/sqlite-utils/pulls/537 | <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--537.org.readthedocs.build/en/537/ <!-- readthedocs-preview sqlite-utils end --> | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/537/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1662951875 | I_kwDOBm6k_c5jHqHD | 2057 | DeprecationWarning: pkg_resources is deprecated as an API | 9599 | closed | 0 | 25 | 2023-04-11T17:41:20Z | 2023-09-21T22:09:10Z | 2023-09-21T22:09:10Z | OWNER | Got this running tests against Python 3.11. ``` ../../../.local/share/virtualenvs/datasette-big-local-6Yn-280V/lib/python3.11/site-packages/datasette/app.py:14: in <module> import pkg_resources ../../../.local/share/virtualenvs/datasette-big-local-6Yn-280V/lib/python3.11/site-packages/pkg_resources/__init__.py:121: in <module> warnings.warn("pkg_resources is deprecated as an API", DeprecationWarning) E DeprecationWarning: pkg_resources is deprecated as an API ``` I ran with `pytest -Werror --pdb -x` to get the debugger for that warning, but it turned out searching the code worked better. It's used in these two places: https://github.com/simonw/datasette/blob/5890a20c374fb0812d88c9b0ef26a838bfa06c76/datasette/plugins.py#L43-L50 https://github.com/simonw/datasette/blob/5890a20c374fb0812d88c9b0ef26a838bfa06c76/datasette/app.py#L1037 | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2057/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1661617056 | I_kwDODD6af85jCkOg | 15 | ambiguous column name: createdAt - on checkin_details view | 9599 | closed | 0 | 0 | 2023-04-11T01:07:47Z | 2023-04-11T03:16:37Z | 2023-04-11T03:16:37Z | MEMBER | It looks like Swarm changed their schema and now both `venues` and `checkins` have `createdAt` fields. Which breaks this view: https://github.com/dogsheep/swarm-to-sqlite/blob/719b6e96a016d0ca8b316d3bed9c2a7a0cb499ee/swarm_to_sqlite/utils.py#L171-L188 | 205429375 | issue | { "url": "https://api.github.com/repos/dogsheep/swarm-to-sqlite/issues/15/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1659525418 | PR_kwDOCGYnMM5N35VZ | 536 | Add paths for homebrew on Apple silicon | 25778 | closed | 0 | 1 | 2023-04-08T13:34:21Z | 2023-04-13T01:44:43Z | 2023-04-13T01:44:43Z | CONTRIBUTOR | simonw/sqlite-utils/pulls/536 | Does what it says and nothing else. This is the same set of paths as Datasette uses. <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--536.org.readthedocs.build/en/536/ <!-- readthedocs-preview sqlite-utils end --> | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/536/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1656432059 | PR_kwDOBm6k_c5NuBNG | 2053 | WIP new JSON for queries | 9599 | closed | 0 | 12 | 2023-04-05T23:26:15Z | 2023-07-26T18:28:59Z | 2023-07-26T18:26:45Z | OWNER | simonw/datasette/pulls/2053 | Refs: - #2049 TODO: - [x] Read queries JSON - Implement error display with `"ok": false` and an errors key - Read queries HTML - Read queries other formats (plugins) - Canned read queries (dispatched to from table) - Write queries (a canned query thing) - Implement different shapes, refactoring to share code with table - Implement a sensible subset of extras, also refactoring to share code with table - Get all tests passing <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2053.org.readthedocs.build/en/2053/ <!-- readthedocs-preview datasette end --> | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2053/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1 | |||||
1655860104 | I_kwDOCGYnMM5ismuI | 535 | rows: --transpose or psql extended view-like functionality | 7908073 | closed | 0 | 2 | 2023-04-05T15:37:33Z | 2023-06-15T08:39:49Z | 2023-06-14T22:05:28Z | CONTRIBUTOR | It would be nice if the rows subcommand had a flag, perhaps called `--transpose` which would print in long form instead of wide. Similar to extended display mode in psql (`\x`) In other words instead of this: ``` sqlite-utils rows --limit 5 --fmt github track_metadata.db songs ``` | track_id | title | song_id | release | artist_id | artist_mbid | artist_name | duration | artist_familiarity | artist_hotttnesss | year | track_7digitalid | shs_perf | shs_work | |--------------------|-------------------|--------------------|--------------------------------------|--------------------|--------------------------------------|------------------|------------|----------------------|---------------------|--------|--------------------|------------|------------| | TRMMMYQ128F932D901 | Silent Night | SOQMMHC12AB0180CB8 | Monster Ballads X-Mas | ARYZTJS1187B98C555 | 357ff05d-848a-44cf-b608-cb34b5701ae5 | Faster Pussy cat | 252.055 | 0.649822 | 0.394032 | 2003 | 7032331 | -1 | 0 | | TRMMMKD128F425225D | Tanssi vaan | SOVFVAK12A8C1350D9 | Karkuteillä | ARMVN3U1187FB3A1EB | 8d7ef530-a6fd-4f8f-b2e2-74aec765e0f9 | Karkkiautomaatti | 156.551 | 0.439604 | 0.356992 | 1995 | 1514808 | -1 | 0 | | TRMMMRX128F93187D9 | No One Could Ever | SOGTUKN12AB017F4F1 | Butter | ARGEKB01187FB50750 | 3d403d44-36ce-465c-ad43-ae877e65adc4 | Hudson Mohawke | 138.971 | 0.643681 | 0.437504 | 2006 | 6945353 | -1 | 0 | | TRMMMCH128F425532C | Si Vos Querés | SOBNYVR12A8C13558C | De Culo | ARNWYLR1187B9B2F9C | 12be7648-7094-495f-90e6-df4189d68615 | Yerba Brava | 145.058 | 0.448501 | 0.372349 | 2003 | 2168257 |… | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/535/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1651082214 | PR_kwDOBm6k_c5NcFCf | 2052 | feat: Javascript Plugin API (Custom panels, column menu items with JS actions) | 9020979 | closed | 0 | 9599 | 20 | 2023-04-02T20:23:44Z | 2023-10-14T17:49:03Z | 2023-10-13T00:00:27Z | CONTRIBUTOR | simonw/datasette/pulls/2052 | ## Motivation - Allow plugins that add data visualizations [`datasette-vega`](https://github.com/simonw/datasette-vega), [`datasette-leaflet`](https://github.com/simonw/datasette-leaflet), and [`datasette-nteract-data-explorer`](https://github.com/hydrosquall/datasette-nteract-data-explorer) to co-exist safely - Standardize APIs / hooks to ease development for new JS plugin developers (better compat with datasette-lite) through standardized DOM selectors, methods for extending the existing Table UI. This has come up as a feature request several times (see research notes for examples) - Discussion w/ @simonw about a general-purpose Datasette JS API ## Changes Summary: Provide 2 new surface areas for Datasette JS plugin developers. See alpha [documentation](https://github.com/simonw/datasette/pull/2052#issuecomment-1510423051) 1. Custom column header items: <https://a.cl.ly/Kou97wJr> 2. Basic "panels" controlled by buttons: <https://a.cl.ly/rRugWobd> ### User Facing Changes - Allow creating menu items under table header that triggers JS (instead of opening hrefs per the existing [menu_link](https://docs.datasette.io/en/stable/plugin_hooks.html#menu-links-datasette-actor-request) hook). Items can respond to any column metadata provided by the column header (e.g. label). The proof of concept plugins log data to the console, or copy the column name to clipboard. - Allow plugins to register UI elements in a panel controller. The parent component handles switching the visibility of active plugins. - Because native button elements are used, the panel is keyboard-accessible - use tab / shift-tab to cycle through tab options, and `enter` to select. - There's room to improve the styling, but the focus of this PR is on the API rather than the UX. ### (plugin) Developer Facing Changes - Dispatch a `datasette_init` [CustomEvent](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent) when the `datasetteManager` is finished loading. - Provide `manager.registerPlugin` API for … | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2052/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | ||||
1645098678 | PR_kwDOBm6k_c5NIQri | 2047 | Bump black from 22.12.0 to 23.3.0 | 49699333 | closed | 0 | 0 | 2023-03-29T06:09:06Z | 2023-03-29T06:12:21Z | 2023-03-29T06:12:05Z | CONTRIBUTOR | simonw/datasette/pulls/2047 | Bumps [black](https://github.com/psf/black) from 22.12.0 to 23.3.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>23.3.0</h2> <h3>Highlights</h3> <p>This release fixes a longstanding confusing behavior in Black's GitHub action, where the version of the action did not determine the version of Black being run (issue <a href="https://redirect.github.com/psf/black/issues/3382">#3382</a>). In addition, there is a small bug fix around imports and a number of improvements to the preview style.</p> <p>Please try out the <a href="https://black.readthedocs.io/en/stable/the_black_code_style/future_style.html#preview-style">preview style</a> with <code>black --preview</code> and tell us your feedback. All changes in the preview style are expected to become part of Black's stable style in January 2024.</p> <h3>Stable style</h3> <ul> <li>Import lines with <code># fmt: skip</code> and <code># fmt: off</code> no longer have an extra blank line added when they are right after another import line (<a href="https://redirect.github.com/psf/black/issues/3610">#3610</a>)</li> </ul> <h3>Preview style</h3> <ul> <li>Add trailing commas to collection literals even if there's a comment after the last entry (<a href="https://redirect.github.com/psf/black/issues/3393">#3393</a>)</li> <li><code>async def</code>, <code>async for</code>, and <code>async with</code> statements are now formatted consistently compared to their non-async version. (<a href="https://redirect.github.com/psf/black/issues/3609">#3609</a>)</li> <li><code>with</code> statements that contain two context managers will be consistently wrapped in parentheses (<a href="https://redirect.github.com/psf/black/issues/3589">#3589</a>)</li> <li>Let string splitters respect <a href="https://www.unicode.org/reports/tr11/">East Asian Width</a> (<a href="https://redirect.github.com/psf/black/issues/3445">#3445</a>)</li> <li>Now long string literals can be split after East Asi… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2047/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1644018605 | PR_kwDOBm6k_c5NEqBO | 2046 | Bump furo from 2022.12.7 to 2023.3.27 | 49699333 | closed | 0 | 0 | 2023-03-28T13:58:14Z | 2023-03-29T06:08:02Z | 2023-03-29T06:08:01Z | CONTRIBUTOR | simonw/datasette/pulls/2046 | Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.27. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pradyunsg/furo/blob/main/docs/changelog.md">furo's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <!-- raw HTML omitted --> <h2>2023.03.27 -- Tasty Tangerine</h2> <ul> <li>Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.</li> <li>Add missing class to Font Awesome examples</li> </ul> <h2>2023.03.23 -- Sassy Saffron</h2> <ul> <li>Update Python version classifiers.</li> <li>Increase the icon size in mobile header.</li> <li>Increase admonition title bg opacity.</li> <li>Change the default API background to transparent.</li> <li>Transition the API background change.</li> <li>Remove the "indent" of API entries which have a background.</li> <li>Break long inline code literals.</li> </ul> <h2>2022.12.07 -- Reverent Raspberry</h2> <ul> <li>✨ Add support for Sphinx 6.</li> <li>✨ Improve footnote presentation with docutils 0.18+.</li> <li>Drop support for Sphinx 4.</li> <li>Improve documentation about what the edit button does.</li> <li>Improve handling of empty-flexboxes for better print experience on Chrome.</li> <li>Improve styling for inline signatures.</li> <li>Replace the <code>meta</code> generator tag with a comment.</li> <li>Tweak labels with icons to prevent users selecting icons as text on touch.</li> </ul> <h2>2022.09.29 -- Quaint Quartz</h2> <ul> <li>Add ability to set arbitrary URLs for edit button.</li> <li>Add support for aligning text in MyST-parser generated tables.</li> </ul> <h2>2022.09.15 -- Pragmatic Pistachio</h2> <ul> <li>Add a minimum version constraint on pygments.</li> <li>Add an explicit dependency on <code>sass</code>.</li> <li>Change right sidebar title from "Contents" to "On this page".</li> <li>Correctly position sidebars on small screens.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2046/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1639446870 | PR_kwDOBm6k_c5M1izI | 2043 | Bump furo from 2022.12.7 to 2023.3.23 | 49699333 | closed | 0 | 2 | 2023-03-24T13:58:08Z | 2023-03-28T13:58:24Z | 2023-03-28T13:58:21Z | CONTRIBUTOR | simonw/datasette/pulls/2043 | Bumps [furo](https://github.com/pradyunsg/furo) from 2022.12.7 to 2023.3.23. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pradyunsg/furo/blob/main/docs/changelog.md">furo's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <!-- raw HTML omitted --> <h2>2023.03.23 -- Sassy Saffron</h2> <ul> <li>Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.</li> <li>Update Python version classifiers.</li> <li>Increase the icon size in mobile header.</li> <li>Increase admonition title bg opacity.</li> <li>Change the default API background to transparent.</li> <li>Transition the API background change.</li> <li>Remove the "indent" of API entries which have a background.</li> <li>Break long inline code literals.</li> </ul> <h2>2022.12.07 -- Reverent Raspberry</h2> <ul> <li>✨ Add support for Sphinx 6.</li> <li>✨ Improve footnote presentation with docutils 0.18+.</li> <li>Drop support for Sphinx 4.</li> <li>Improve documentation about what the edit button does.</li> <li>Improve handling of empty-flexboxes for better print experience on Chrome.</li> <li>Improve styling for inline signatures.</li> <li>Replace the <code>meta</code> generator tag with a comment.</li> <li>Tweak labels with icons to prevent users selecting icons as text on touch.</li> </ul> <h2>2022.09.29 -- Quaint Quartz</h2> <ul> <li>Add ability to set arbitrary URLs for edit button.</li> <li>Add support for aligning text in MyST-parser generated tables.</li> </ul> <h2>2022.09.15 -- Pragmatic Pistachio</h2> <ul> <li>Add a minimum version constraint on pygments.</li> <li>Add an explicit dependency on <code>sass</code>.</li> <li>Change right sidebar title from "Contents" to "On this page".</li> <li>Correctly position sidebars on small screens.</li> <li>Correctly select only Furo's own <code>svg</code> in related pages <code>nav</code>.</li> <li>Make numpy-style documentation headers consistent.</li> <li>Retitle the reference section.</li> <li>Update npm dependencies.</l… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2043/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1633077183 | I_kwDOBm6k_c5hVse_ | 2041 | Remove obsolete table POST code | 9599 | closed | 0 | 8755003 | 2 | 2023-03-21T01:01:40Z | 2023-03-21T01:17:44Z | 2023-03-21T01:17:43Z | OWNER | Spotted this in: - #1999 `POST /db/table` currently executes obsolete code for inserting a row - I replaced that with `/db/table/-/insert` in https://github.com/simonw/datasette/commit/6e788b49edf4f842c0817f006eb9d865778eea5e but forgot to remove the old code. | 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 | |||||
1622640374 | I_kwDOCGYnMM5gt4b2 | 534 | ResourceWarning: unclosed file | 1244826 | closed | 0 | 1 | 2023-03-14T03:02:18Z | 2023-05-08T19:56:29Z | 2023-05-08T19:56:29Z | NONE | Issuing either ``` py -Wdefault -m sqlite_utils insert dogs.db dogs dogs0.csv --csv [#############-----------------------] 36% [####################################] 100%C:\Users\Doug\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlite_utils\cli.py:1187: ResourceWarning: unclosed file <_io.TextIOWrapper name='dogs0.csv' encoding='utf-8-sig'> insert_upsert_implementation( ResourceWarning: Enable tracemalloc to get the object allocation traceback ``` or ``` set pythonwarnings=default sqlite-utils insert dogs.db dogs dogs0.csv --csv [#############-----------------------] 36% [####################################] 100%C:\Users\Doug\AppData\Local\Programs\Python\Python311\Lib\site-packages\sqlite_utils\cli.py:1187: ResourceWarning: unclosed file <_io.TextIOWrapper name='dogs0.csv' encoding='utf-8-sig'> insert_upsert_implementation( ResourceWarning: Enable tracemalloc to get the object allocation traceback ``` exhibits a ResourceWarning indicating that the CSV file being loaded is not closed. sqlite-utils --version sqlite-utils, version 3.30 py --version Python 3.11.2 Windows Version 10.0.19045 Build 19045 SQLite version 3.41.0 2023-02-21 18:09:37 | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/534/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1620516340 | I_kwDOCGYnMM5glx30 | 533 | ReadTheDocs error: not all arguments converted during string formatting | 9599 | closed | 0 | 2 | 2023-03-12T21:21:05Z | 2023-03-12T21:25:33Z | 2023-03-12T21:25:33Z | OWNER | This came up as a failure running tests for: - #531 Traceback on https://readthedocs.org/projects/sqlite-utils/builds/19749348/ ``` File "/home/docs/checkouts/readthedocs.org/user_builds/sqlite-utils/envs/531/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 889, in interpreted nodes, messages2 = role_fn(role, rawsource, text, lineno, self) File "/home/docs/checkouts/readthedocs.org/user_builds/sqlite-utils/envs/531/lib/python3.8/site-packages/sphinx/ext/extlinks.py", line 103, in role title = caption % part TypeError: not all arguments converted during string formatting Exception occurred: File "/home/docs/checkouts/readthedocs.org/user_builds/sqlite-utils/envs/531/lib/python3.8/site-packages/sphinx/ext/extlinks.py", line 103, in role title = caption % part TypeError: not all arguments converted during string formatting ``` | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/533/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1620254998 | I_kwDOCGYnMM5gkyEW | 532 | Show more information when JSON can't be imported with sqlite-utils insert | 83080728 | closed | 0 | 2 | 2023-03-12T06:41:44Z | 2023-05-08T20:32:16Z | 2023-05-08T20:32:02Z | NONE | I am currently trying to import the [JSON export of my data from Discord](https://support.discord.com/hc/en-us/articles/360004027692-Requesting-a-Copy-of-your-Data), specifically `activity/reporting/events-*.json` ``` sqlite-utils.exe insert test.db reporting events-2023-00000-of-00001.json [###################################-] 99% 00:00:00 Error: Invalid JSON - use --csv for CSV or --tsv for TSV files ``` Please show more information as to *why* this is invalid, if possible. I am using version 3.30 with Python 3.10 on Windows 11. | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/532/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1620164673 | PR_kwDOCGYnMM5L08O8 | 531 | Add paths for homebrew on Apple silicon | 25778 | closed | 0 | 4 | 2023-03-11T22:27:52Z | 2023-04-09T01:49:44Z | 2023-04-09T01:49:43Z | CONTRIBUTOR | simonw/sqlite-utils/pulls/531 | This also passes in the extension path when specified in GIS methods. Wherever we know an extension path, we use `db.init_spatialite(find_spatialite() or load_extension)`. <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--531.org.readthedocs.build/en/531/ <!-- readthedocs-preview sqlite-utils end --> | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/531/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1617962395 | I_kwDOJHON9s5gcCWb | 10 | Include schema in README | 9599 | closed | 0 | 0 | 2023-03-09T20:38:59Z | 2023-03-09T20:48:18Z | 2023-03-09T20:48:18Z | MEMBER | As seen in other tools like https://github.com/simonw/git-history | 611552758 | issue | { "url": "https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/10/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1617823309 | I_kwDOJHON9s5gbgZN | 8 | Increase performance using macnotesapp | 41546558 | closed | 0 | 1 | 2023-03-09T18:51:05Z | 2023-03-14T22:00:22Z | 2023-03-14T22:00:21Z | NONE | Neat project! You can probably increase performance using my python interface to Notes, [macnotesapp](https://github.com/RhetTbull/macnotesapp), which uses Scripting Bridge and bulk queries for much better performance than AppleScript. Another related project is [PyXA](https://github.com/SKaplanOfficial/PyXA) which uses Scripting Bridge to access Notes (and many other apps) and can return all the notes at once as opposed to calling AppleScript for each note. macnotesapp allows you to access multiple accounts and folders as well. ```python from macnotesapp import NotesApp # NotesApp() provides interface to Notes.app notesapp = NotesApp() # Get list of notes (Note objects for each note) notes = notesapp.notes() note = notes[0] print( note.id, note.account, note.folder, note.name, note.body, note.plaintext, note.password_protected, ) print(note.asdict()) ``` | 611552758 | issue | { "url": "https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/8/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1617769847 | I_kwDOJHON9s5gbTV3 | 7 | Folder support | 9599 | closed | 0 | 6 | 2023-03-09T18:21:33Z | 2023-03-09T20:48:18Z | 2023-03-09T20:48:18Z | MEMBER | Notes can live in folders. These relationships should be exported too. | 611552758 | issue | { "url": "https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/7/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1616422013 | I_kwDOJHON9s5gWKR9 | 3 | `apple-notes-to-sqlite --dump` option | 9599 | closed | 0 | 0 | 2023-03-09T05:05:49Z | 2023-03-09T05:06:14Z | 2023-03-09T05:06:14Z | MEMBER | Option that doesn't write to the database at all, it just outputs all the notes to stdout as newline-delimited JSON. | 611552758 | issue | { "url": "https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/3/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1616354999 | I_kwDOJHON9s5gV563 | 2 | First working version | 9599 | closed | 0 | 7 | 2023-03-09T03:53:00Z | 2023-03-09T05:10:22Z | 2023-03-09T05:10:22Z | MEMBER | It's going to shell out to `osascript` as seen in: - #1 I'm going with that option because https://appscript.sourceforge.io/status.html warns against the other potential methods: > Apple eliminated its Mac Automation department in 2016. The future of AppleScript and its related technologies is unclear. Caveat emptor. But `osascript` looks pretty stable to me. | 611552758 | issue | { "url": "https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/2/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1616347574 | I_kwDOJHON9s5gV4G2 | 1 | Initial proof of concept with ChatGPT | 9599 | closed | 0 | 3 | 2023-03-09T03:44:39Z | 2023-03-09T03:51:55Z | 2023-03-09T03:51:55Z | MEMBER | I'm using ChatGPT to figure out enough AppleScript to get at my notes data. | 611552758 | issue | { "url": "https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/1/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1615891776 | I_kwDOBm6k_c5gUI1A | 2037 | Test failure: FAILED tests/test_cli.py::test_install_requirements - FileNotFoundError | 9599 | closed | 0 | 3 | 2023-03-08T20:30:06Z | 2023-03-09T22:33:39Z | 2023-03-09T22:33:39Z | OWNER | > FAILED tests/test_cli.py::test_install_requirements - FileNotFoundError: [Errno 2] No such file or directory From https://github.com/simonw/datasette/actions/runs/4348548218/jobs/7597208191 ``` =================================== FAILURES =================================== __________________________ test_install_requirements ___________________________ run_module = <MagicMock name='run_module' id='139768358191936'> @mock.patch("datasette.cli.run_module") def test_install_requirements(run_module): runner = CliRunner() > with runner.isolated_filesystem(): /home/runner/work/datasette/datasette/tests/test_cli.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/contextlib.py:119: in __enter__ return next(self.gen) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <click.testing.CliRunner object at 0x7f1e5bfb9490>, temp_dir = None @contextlib.contextmanager def isolated_filesystem( self, temp_dir: t.Optional[t.Union[str, os.PathLike]] = None ) -> t.Iterator[str]: """A context manager that creates a temporary directory and changes the current working directory to it. This isolates tests that affect the contents of the CWD to prevent them from interfering with each other. :param temp_dir: Create the temporary directory under this directory. If given, the created directory is not removed when exiting. .. versionchanged:: 8.0 Added the ``temp_dir`` parameter. """ > cwd = os.getcwd() E FileNotFoundError: [Errno 2] No such file or directory /opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/site-packages/click/testing.py:466: FileNotFoundError ``` Not sure why it only affected the "[Calculate test coverage](https://github.com/simonw/datasette/actions/workflows/test-coverage.yml)" one. | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2037/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1615862295 | I_kwDOBm6k_c5gUBoX | 2036 | `publish cloudrun` reuses image tags, which can lead to very surprising deploy problems | 9599 | closed | 0 | 6 | 2023-03-08T20:11:44Z | 2023-03-08T20:57:34Z | 2023-03-08T20:57:34Z | OWNER | See this issue: - https://github.com/simonw/datasette.io/issues/141 | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2036/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1612296210 | I_kwDOBm6k_c5gGbAS | 2033 | `datasette install -r requirements.txt` | 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. | 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 | ||||||
1594383280 | I_kwDOBm6k_c5fCFuw | 2030 | How to use Datasette with apache webserver on GCP? | 19700859 | closed | 0 | 2 | 2023-02-22T03:08:49Z | 2023-02-22T21:54:39Z | 2023-02-22T21:54:39Z | NONE | Hi Simon and Datasette team- I have installed apache2 webserver inside GCP VM using apt. I can see my "Hello World" index.html if I use the external IP of this GCP in a browser. However, when I try to run datasette with different combinations of -h and -p, I am still unable to access the webpage. I cannot invest Docker on this VM. Any pointers to use datasette with already existing apache2 webserver on GCP is appreciated. Thanks. | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2030/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1590839187 | PR_kwDOBm6k_c5KSs9T | 2028 | add Python 3.11 classifier | 614233 | closed | 0 | 2 | 2023-02-19T20:16:03Z | 2023-03-06T21:01:20Z | 2023-03-06T21:01:19Z | CONTRIBUTOR | simonw/datasette/pulls/2028 | Python 3.11 is tested in CI and is used in the docker image, so add the Python 3.11 Trove classifier. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2028.org.readthedocs.build/en/2028/ <!-- readthedocs-preview datasette end --> | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2028/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1581090327 | I_kwDOCGYnMM5ePYYX | 529 | Microsoft line endings | 7908073 | closed | 0 | 1 | 2023-02-12T02:20:48Z | 2023-06-14T23:12:12Z | 2023-06-14T23:11:47Z | CONTRIBUTOR | sqlite-utils prints `\r\n` but [it should probably](https://devblogs.microsoft.com/commandline/extended-eol-in-notepad/) print `\n` (unless the platform is detected as Windows?) It has tripped me up a few times when piping the output of sqlite-utils to other programs: ``` $ sqlite-utils --no-headers --csv ~/lb/fs/d.db 'select path from media limit 1' | cat -A /mnt/d7/file^M$ $ sqlite-utils --no-headers --csv ~/lb/fs/d.db 'select path from media limit 1' | tr -d '\r' | cat -A /mnt/d7/file$ ``` | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/529/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1579695809 | I_kwDOBm6k_c5eKD7B | 2023 | Error: Invalid setting 'hash_urls' in settings.json in 0.64.1 | 80409402 | closed | 0 | 2 | 2023-02-10T13:35:01Z | 2023-02-10T15:40:00Z | 2023-02-10T15:39:59Z | NONE | On a Debian machine, using datasette 0.64.1 installed with `pip3`, I am getting a `datasette[114272]: Error: Invalid setting 'hash_urls' in settings.json` in `journalctl -xe`. The same settings work on 0.54.1 on another Debian server. This is my `settings.json`: ```json { "default_page_size": 200, "max_returned_rows": 8000, "num_sql_threads": 3, "sql_time_limit_ms": 1000, "default_facet_size": 30, "facet_time_limit_ms": 200, "facet_suggest_time_limit_ms": 50, "hash_urls": false, "allow_facet": true, "allow_download": true, "suggest_facets": true, "default_cache_ttl": 5, "default_cache_ttl_hashed": 31536000, "cache_size_kb": 0, "allow_csv_stream": true, "max_csv_mb": 100, "truncate_cells_html": 2048, "force_https_urls": false, "template_debug": false, "base_url": "/pclim/db/" } ``` This looks ok to me. Would you have any ideas? | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2023/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1578793661 | PR_kwDOCGYnMM5Jqn1u | 528 | Enable `Table.convert()` on falsey values | 167893 | closed | 0 | 1 | 2023-02-10T00:04:09Z | 2023-05-08T21:08:23Z | 2023-05-08T21:08:23Z | CONTRIBUTOR | simonw/sqlite-utils/pulls/528 | Fixes #527 <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--528.org.readthedocs.build/en/528/ <!-- readthedocs-preview sqlite-utils end --> | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/528/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1578790070 | I_kwDOCGYnMM5eGmy2 | 527 | `Table.convert()` skips falsey values | 167893 | closed | 0 | 5 | 2023-02-10T00:00:52Z | 2023-05-09T21:15:05Z | 2023-05-08T21:03:24Z | CONTRIBUTOR | # Summary By design, `Table.convert()` does [not attempt](https://github.com/simonw/sqlite-utils/blob/fc221f9b62ed8624b1d2098e564f525c84497969/sqlite_utils/db.py#L2663) conversion of falsey values (`None`, `""`, `0`, ...). This is surprising (directly contradicts the docstring) and `convert()` may quietly skip cells where the user assumed a conversion would take place. # Example Increment a column of integers by one ``` python from sqlite_utils import Database db = Database(memory=True) table = db['table'] col = 'x' table.insert_all([{col: 0}, {col:1}]) print(table.get(1)) # 0 print(table.get(2)) # 1 print() table.convert(col, lambda x: x+1) print(table.get(1)) # got 0, expected 1 ⚠⚠⚠ print(table.get(2)) # got 2, expected 2 ``` Another example might be, say, transforming cells containing empty string to `NULL`. # Discussion This was, I think, a pragmatic choice so that consumers can skip writing guard clauses for these falsey values (particularly from the CLI). But this surprising undocumented behavior can lead to incorrect data. I don't think this is a good trade-off between convenience and correctness. In the absence of this convenience users will either have to write guard clauses into their conversion expressions (or adapt the called function to do the same), so: ``` python fn(value) if value else value ``` instead of: ``` python fn(value) ``` This is more typing and sometimes I will forget, and there will be errors. (But they will be noisy errors, which is a good thing). Such a change will certainly inconvenience some existing consumers; there will be some breakage. But I think this is worth it to avoid quietly not converting some values by default, which can lead to quietly bad data. I have a PR that I will attach, please take a look and see what you think. | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/527/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1578609658 | I_kwDOBm6k_c5eF6v6 | 2022 | Error 500 - not clear the cause | 1667631 | closed | 0 | 1 | 2023-02-09T20:57:17Z | 2023-02-09T21:13:50Z | 2023-02-09T21:13:50Z | NONE | On the database that I have sent via linkedIn, datasette works great, but the following URL gives a 500 error. http://127.0.0.1:8001/literature/authors_papers?authorId=100550354 The cause of the error is not apparent. Is this expected behaviour? David | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2022/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1576990618 | PR_kwDOCGYnMM5JkkED | 526 | Fix repeated calls to `Table.convert()` | 167893 | closed | 0 | 0 | 2023-02-09T00:14:49Z | 2023-05-08T21:56:05Z | 2023-05-08T21:53:58Z | CONTRIBUTOR | simonw/sqlite-utils/pulls/526 | Fixes #525. All tests pass. There's perhaps a better way to name lambdas? There could be a collision if a caller passes a function with name like `lambda_123456`. SQLite [documentation](https://www.sqlite.org/appfunc.html) is a little, ah, lite on function name specs. If there is a character that can be used in place of underscore in a SQLite function name that is not permitted in a Python function identifier then that could be a good way to prevent accidental collisions. (I tried dash, colon, dot, no joy). Otherwise, there is little chance of this happening and if it should happen the risk is mitigated by now throwing an exception in the case of a (name, arity) collision without `replace=True`. <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--526.org.readthedocs.build/en/526/ <!-- readthedocs-preview sqlite-utils end --> | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/526/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1575131737 | I_kwDOCGYnMM5d4ppZ | 525 | Repeated calls to `Table.convert()` fail | 167893 | closed | 0 | 4 | 2023-02-07T22:40:47Z | 2023-05-08T21:59:41Z | 2023-05-08T21:54:02Z | CONTRIBUTOR | ## Summary When using the API, repeated calls to `Table.convert()` do not work correctly since all conversions quietly use the callable (function, lambda) from the first call to `convert()` only. Subsequent invocations with different callables use the callable from the first invocation only. ## Example ```python from sqlite_utils import Database db = Database(memory=True) table = db['table'] col = 'x' table.insert_all([{col: 1}]) print(table.get(1)) table.convert(col, lambda x: x*2) print(table.get(1)) def zeroize(x): return 0 #zeroize = lambda x: 0 #zeroize.__name__ = 'zeroize' table.convert(col, zeroize) print(table.get(1)) ``` Output: ``` {'x': 1} {'x': 2} {'x': 4} ``` Expected: ``` {'x': 1} {'x': 2} {'x': 0} ``` ## Explanation This is some relevant [documentation](https://github.com/simonw/sqlite-utils/blob/1491b66dd7439dd87cd5cd4c4684f46eb3c5751b/docs/python-api.rst#registering-custom-sql-functions:~:text=By%20default%20registering%20a%20function%20with%20the%20same%20name%20and%20number%20of%20arguments%20will%20have%20no%20effect). * `Table.convert()` takes a `Callable` to perform data conversion on a column * The `Callable` is passed to `Database.register_function()` * `Database.register_function()` uses the callable's `__name__` attribute for registration * (Aside: all lambdas have a `__name__` of `<lambda>`: I thought this was the problem, and it was close, but not quite) * However `convert()` first wraps the callable by local function [`convert_value()`](https://github.com/simonw/sqlite-utils/blob/fc221f9b62ed8624b1d2098e564f525c84497969/sqlite_utils/db.py#L2661) * Consequently `register_function()` sees name `convert_value` for all invocations from `convert()` * `register_function()` silently ignores registrations using the same name, retaining only the first such registration There's a mismatch between the comments and the code: https://github.com/simonw/sqlite-utils/blob/fc221f9b62ed8624b1d2098e564f525c84497969/sqlite_utils/db.py#L4… | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/525/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1572766460 | I_kwDOCGYnMM5dvoL8 | 524 | Transformation type `--type DATETIME` | 21095447 | closed | 0 | 15 | 2023-02-06T15:18:42Z | 2023-02-15T12:10:54Z | 2023-02-15T12:10:54Z | NONE | Hey. Currently i do transformation with the type `--type TEXT`, but i noticed using the sqlalchemy based library [dataset](https://github.com/pudo/dataset) that is reading and writing differ depending on the column types `TEXT`, `DATETIME`. Is it possible to alter a column type to `DATETIME` somehow using Sqlite-Utils? | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/524/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1566081801 | PR_kwDOBm6k_c5JAcGy | 2014 | Bump black from 22.12.0 to 23.1.0 | 49699333 | closed | 0 | 2 | 2023-02-01T13:06:16Z | 2023-03-29T06:09:14Z | 2023-03-29T06:09:12Z | CONTRIBUTOR | simonw/datasette/pulls/2014 | Bumps [black](https://github.com/psf/black) from 22.12.0 to 23.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>23.1.0</h2> <h3>Highlights</h3> <p>This is the first release of 2023, and following our <a href="https://black.readthedocs.io/en/stable/the_black_code_style/index.html#stability-policy">stability policy</a>, it comes with a number of improvements to our stable style, notably improvements to empty line handling and the removal of redundant parentheses in several contexts.</p> <p>There are also many changes to the preview style; try out <code>black --preview</code> and give us feedback to help us set the stable style for next year.</p> <p>In addition to style changes, Black now automatically infers the supported Python versions from your <code>pyproject.toml</code> file, removing the need to set Black's target versions separately.</p> <h3>Stable style</h3> <!-- raw HTML omitted --> <ul> <li>Introduce the 2023 stable style, which incorporates most aspects of last year's preview style (<a href="https://github-redirect.dependabot.com/psf/black/issues/3418">#3418</a>). Specific changes: <ul> <li>Enforce empty lines before classes and functions with sticky leading comments (<a href="https://github-redirect.dependabot.com/psf/black/issues/3302">#3302</a>) (22.12.0)</li> <li>Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (<a href="https://github-redirect.dependabot.com/psf/black/issues/3348">#3348</a>) (22.12.0)</li> <li>Correctly handle trailing commas that are inside a line's leading non-nested parens (<a href="https://github-redirect.dependabot.com/psf/black/issues/3370">#3370</a>) (22.12.0)</li> <li><code>--skip-string-normalization</code> / <code>-S</code> now prevents docstring prefixes from being normalized as expected (<a href="https://github-redirect.dependabot.com/psf/black/issues/3168">… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/2014/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1560662739 | I_kwDOBm6k_c5dBdLT | 2007 | `render_cell()` hook should take an optional `request` argument | 9599 | closed | 0 | 1 | 2023-01-28T03:13:00Z | 2023-08-09T17:15:03Z | 2023-01-28T03:34:26Z | OWNER | From Discord: https://discordapp.com/channels/823971286308356157/996877076982415491/1068227071156965486 | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2007/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1553425465 | I_kwDOCGYnMM5cl2Q5 | 522 | Add COLUMN_TYPE_MAPPING for timedelta | 81377 | closed | 0 | 0 | 2023-01-23T16:49:54Z | 2023-11-04T00:49:51Z | 2023-11-04T00:49:51Z | NONE | Currently trying to create a column with Python type `datetime.timedelta` results in an error: ``` >>> from sqlite_utils import Database >>> db = Database("test.db") >>> test_tbl = db['test'] >>> test_tbl.insert({'col1': datetime.timedelta()}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.10/dist-packages/sqlite_utils/db.py", line 2979, in insert return self.insert_all( File "/usr/local/lib/python3.10/dist-packages/sqlite_utils/db.py", line 3082, in insert_all self.create( File "/usr/local/lib/python3.10/dist-packages/sqlite_utils/db.py", line 1574, in create self.db.create_table( File "/usr/local/lib/python3.10/dist-packages/sqlite_utils/db.py", line 961, in create_table sql = self.create_table_sql( File "/usr/local/lib/python3.10/dist-packages/sqlite_utils/db.py", line 852, in create_table_sql column_type=COLUMN_TYPE_MAPPING[column_type], KeyError: <class 'datetime.timedelta'> ``` The reason this would be useful is that `MySQLdb` uses `timedelta` for MySQL `TIME` columns: ``` >>> import MySQLdb >>> conn = MySQLdb.connect(host='database', user='user', passwd='pw') >>> csr = conn.cursor() >>> csr.execute("SELECT CAST('11:20' AS TIME)") >>> tuple(csr) ((datetime.timedelta(seconds=40800),),) ``` So currently any attempt to convert a MySQL DB with a `TIME` column using `db-to-sqlite` will result in the above error. I was rather surprised that `MySQLdb` uses `timedelta` for `TIME` columns but I see that [this column type](https://dev.mysql.com/doc/refman/8.0/en/time.html) is intended for time intervals as well as the time of day so it makes sense. | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/522/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1551694938 | PR_kwDOBm6k_c5IQeKz | 1999 | ?_extra= support (draft) | 9599 | closed | 0 | 49 | 2023-01-21T04:55:18Z | 2023-03-22T22:49:41Z | 2023-03-22T22:49:40Z | OWNER | simonw/datasette/pulls/1999 | Refs: - #262 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1999.org.readthedocs.build/en/1999/ <!-- readthedocs-preview datasette end --> | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1999/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1534904478 | PR_kwDOBm6k_c5HdwRg | 1992 | Bump blacken-docs from 1.12.1 to 1.13.0 | 49699333 | closed | 0 | 1 | 2023-01-16T13:05:05Z | 2023-03-29T06:11:35Z | 2023-03-29T06:11:34Z | CONTRIBUTOR | simonw/datasette/pulls/1992 | Bumps [blacken-docs](https://github.com/asottile/blacken-docs) from 1.12.1 to 1.13.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/adamchainz/blacken-docs/blob/main/HISTORY.rst">blacken-docs's changelog</a>.</em></p> <blockquote> <h2>1.13.0 (2023-01-16)</h2> <ul> <li> <p>Note Adam Johnson is new maintainer.</p> </li> <li> <p>Require Black 22.1.0+.</p> </li> <li> <p>Add <code>--rst-literal-blocks</code> option, to also format text in reStructuredText literal blocks, starting with <code>::</code>. Sphinx highlights these with the project’s default language, which defaults to Python.</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/adamchainz/blacken-docs/commit/1238e1d8f03e96a7ed9ad44937ea4348eb6b11b8"><code>1238e1d</code></a> Version 1.13.0</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/4e6dc07c9bd600d1bf274a15e314ef26596bf07d"><code>4e6dc07</code></a> Fix setup.cfg long_description_content_type</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/579a71a3572a721f0f910b0231933cce0215dd09"><code>579a71a</code></a> Standardize setup.cfg (<a href="https://github-redirect.dependabot.com/asottile/blacken-docs/issues/212">#212</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/a6b2ba04face950d02af581ab147942b620fdb27"><code>a6b2ba0</code></a> Changelog entry about change in maintenance</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/3cf8b9a15c1f0dd86a6cd50e48eec1000b88059d"><code>3cf8b9a</code></a> Standard pre-commit config (<a href="https://github-redirect.dependabot.com/asottile/blacken-docs/issues/211">#211</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/bcd36699e185fc0376c951650fe0cf13fa526e15"><code>bcd3669</code></a> Standardize test file name (<a href="https://github-redirect.dependabot.com/asottile/blacken-docs/issues/210">#210</a>)</li> <li><a href="https://github.com/adamchainz/blacken-docs/commit/6d17… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1992/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1529452371 | I_kwDOBm6k_c5bKZdT | 1987 | installpython3.com is now a spam website | 9599 | closed | 0 | 4 | 2023-01-11T17:55:12Z | 2023-01-11T18:29:26Z | 2023-01-11T18:29:25Z | OWNER | Need to stop linking to it from the docs. I'll link to https://www.python.org/about/gettingstarted/ instead. | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1987/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1528995601 | PR_kwDOBm6k_c5HJ55o | 1986 | Bump sphinx from 6.1.2 to 6.1.3 | 49699333 | closed | 0 | 0 | 2023-01-11T13:02:36Z | 2023-03-29T06:09:50Z | 2023-03-29T06:09:49Z | CONTRIBUTOR | simonw/datasette/pulls/1986 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 6.1.2 to 6.1.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v6.1.3</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 6.1.3 (released Jan 10, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/11116">#11116</a>: Reverted to previous Sphinx 5 node copying method</li> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/11117">#11117</a>: Reverted changes to parallel image processing from Sphinx 6.1.0</li> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/11119">#11119</a>: Supress <code>ValueError</code> in the <code>linkcheck</code> builder</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sphinx-doc/sphinx/commit/776d01eb6229f5d5384da17fc15df9d50fa8e87a"><code>776d01e</code></a> Bump to 6.1.3 final</li> <li><a href="https://github.com/sphinx-doc/sphinx/commit/a2e922ac6c58134d8ad19888de93d52c8a1de669"><code>a2e922a</code></a> CHANGES for Sphinx 6.1.3</li> <li><a href="https://github.com/sphinx-doc/sphinx/commit/31162a9b6335f2abce9ffb90b905a314f6bdfe6b"><code>31162a9</code></a> Handle exceptions for <code>get_node_source</code> and <code>get_node_line</code></li> <li><a href="https://github.com/sphinx-doc/sphinx/commit/dcb4429abacda015f98875fe9489ced696155bd7"><code>dcb4429</code></a> Restore Sphinx 5 <code>nodes.Element</code> copying behaviour</li> <li><a href="https://github.com/sphinx-doc/sphinx/commit/2a7c40d07f4b0e0fd2a4bc942e74634c2df24dee"><code>2a7c40d</code></a> Undo… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1986/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1528448642 | I_kwDOBm6k_c5bGkaC | 1985 | Don't let Datasette(path) without a list cause weird errors | 9599 | closed | 0 | 1 | 2023-01-11T05:17:44Z | 2023-01-11T18:25:04Z | 2023-01-11T18:25:04Z | OWNER | I got a confusing `sqlite3.OperationalError: disk I/O error` error in my tests, it turned out it was because this: ```python ds = Datasette(path) ``` Should have been this: ```python ds = Datasette([path]) ``` _Originally posted by @simonw in https://github.com/simonw/datasette-faiss/issues/1#issuecomment-1378252673_ | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1985/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1526635374 | PR_kwDOBm6k_c5HCCY2 | 1984 | Upgrade Sphinx | 9599 | closed | 0 | 1 | 2023-01-10T02:00:40Z | 2023-01-10T02:02:33Z | 2023-01-10T02:02:33Z | OWNER | simonw/datasette/pulls/1984 | Refs #1971 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1984.org.readthedocs.build/en/1984/ <!-- readthedocs-preview datasette end --> | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1984/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1525560504 | PR_kwDOBm6k_c5G-ZsQ | 1982 | Bump sphinx from 5.3.0 to 6.1.2 | 49699333 | closed | 0 | 1 | 2023-01-09T13:06:11Z | 2023-01-10T02:03:21Z | 2023-01-10T02:03:19Z | CONTRIBUTOR | simonw/datasette/pulls/1982 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.3.0 to 6.1.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v6.1.2</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.1.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.1.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0b2</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0b1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 6.1.2 (released Jan 07, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/11101">#11101</a>: LaTeX: <code>div.topic_padding</code> key of sphinxsetup documented at 5.1.0 was implemented with name <code>topic_padding</code></p> </li> <li> <p><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/11099">#11099</a>: LaTeX: <code>shadowrule</code> key of sphinxsetup causes PDF build to crash since Sphinx 5.1.0</p> </li> <li> <p><a href="https://github-redirect.dependabot.com/… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1982/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1524076587 | I_kwDOBm6k_c5a15Ar | 1979 | More useful error message if enable_load_extension is not available | 9599 | closed | 0 | 5 | 2023-01-07T19:13:19Z | 2023-01-08T00:21:23Z | 2023-01-08T00:21:23Z | OWNER | I get this from: datasette --load-extension spatialite --get /-/versions.json ``` File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/datasette/app.py", line 614, in _prepare_connection conn.enable_load_extension(True) AttributeError: 'sqlite3.Connection' object has no attribute 'enable_load_extension' ``` It would be useful if Datasette caught this error and output something more friendly. | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1979/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1522778923 | I_kwDOBm6k_c5aw8Mr | 1978 | Document datasette.urls.row and row_blob | 25778 | closed | 0 | 2 | 2023-01-06T15:45:51Z | 2023-01-09T14:30:00Z | 2023-01-09T14:30:00Z | CONTRIBUTOR | These are in the codebase but not in documentation. I think everything else in this class is documented. ```python class Urls: ... def row(self, database, table, row_path, format=None): path = f"{self.table(database, table)}/{row_path}" if format is not None: path = path_with_format(path=path, format=format) return PrefixedUrlString(path) def row_blob(self, database, table, row_path, column): return self.table(database, table) + "/{}.blob?_blob_column={}".format( row_path, urllib.parse.quote_plus(column) ) ``` | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1978/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
not_planned | ||||||
1522552817 | PR_kwDOBm6k_c5G0XxH | 1977 | Bump sphinx from 5.3.0 to 6.1.1 | 49699333 | closed | 0 | 2 | 2023-01-06T13:02:12Z | 2023-01-09T13:06:17Z | 2023-01-09T13:06:14Z | CONTRIBUTOR | simonw/datasette/pulls/1977 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.3.0 to 6.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v6.1.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.1.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0b2</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0b1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/v6.1.1/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 6.1.1 (released Jan 05, 2023)</h1> <h2>Bugs fixed</h2> <ul> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/11091">#11091</a>: Fix <code>util.nodes.apply_source_workaround</code> for <code>literal_block</code> nodes with no source information in the node or the node's parents.</li> </ul> <h1>Release 6.1.0 (released Jan 05, 2023)</h1> <h2>Dependencies</h2> <ul> <li> <p>Adopted the <code>Ruff</code>_ code linter.</p> <p>.. _Ruff: <a href="https://github.com/charliermarsh/ruff">https://github.com/charliermarsh/ruff</a></p> </li> </ul> <h2>Incompatible changes</h2> <ul> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/10979">#10979</a>: gettext: Re… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1977/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1520712722 | PR_kwDOBm6k_c5GuDBN | 1976 | Bump sphinx from 5.3.0 to 6.1.0 | 49699333 | closed | 0 | 2 | 2023-01-05T13:02:37Z | 2023-01-06T13:02:17Z | 2023-01-06T13:02:15Z | CONTRIBUTOR | simonw/datasette/pulls/1976 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.3.0 to 6.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v6.1.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0b2</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0b1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 6.1.0 (released Jan 05, 2023)</h1> <h2>Dependencies</h2> <ul> <li> <p>Adopted the <code>Ruff</code>_ code linter.</p> <p>.. _Ruff: <a href="https://github.com/charliermarsh/ruff">https://github.com/charliermarsh/ruff</a></p> </li> </ul> <h2>Incompatible changes</h2> <ul> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/10979">#10979</a>: gettext: Removed support for pluralisation in <code>get_translation</code>. This was unused and complicated other changes to <code>sphinx.locale</code>.</li> </ul> <h2>Deprecated</h2> <ul> <li> <p><code>sphinx.util</code> functions:</p> <ul> <li>Renamed <code>sphinx.util.typing.stringify()</code> to <code>sphinx.util.typing.stringify_annotation()</code></li> <li>Moved <code>sphinx.util.xmlname_checker()</code> to <code>sphinx.builders.epub3._XML_NAME_PATTERN</code></li> </ul> <p>Moved… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1976/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1516644980 | I_kwDOCGYnMM5aZip0 | 520 | rows_from_file() raises confusing error if file-like object is not in binary mode | 9599 | closed | 0 | 3 | 2023-01-02T19:00:14Z | 2023-05-08T22:08:07Z | 2023-05-08T22:08:07Z | OWNER | I got this error: ``` File "/Users/simon/Dropbox/Development/openai-to-sqlite/openai_to_sqlite/cli.py", line 27, in embeddings rows, _ = rows_from_file(input) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/simon/.local/share/virtualenvs/openai-to-sqlite-jt4obeb2/lib/python3.11/site-packages/sqlite_utils/utils.py", line 305, in rows_from_file first_bytes = buffered.peek(2048).strip() ^^^^^^^^^^^^^^^^^^^ ``` From this code: ```python @cli.command() @click.argument( "db_path", type=click.Path(file_okay=True, dir_okay=False, allow_dash=False), ) @click.option( "-i", "--input", type=click.File("r"), default="-", ) def embeddings(db_path, input): "Store embeddings for one or more text documents" click.echo("Here is some output") db = sqlite_utils.Database(db_path) rows, _ = rows_from_file(input) print(list(rows)) ``` The error went away when I changed it to `type=click.File("rb")`. This should either be called out in the documentation or `rows_from_file()` should be fixed to handle text-mode files in addition to binary files. | 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/520/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1516376583 | PR_kwDOBm6k_c5GfPJL | 1974 | Bump sphinx from 5.3.0 to 6.0.0 | 49699333 | closed | 0 | 2 | 2023-01-02T13:04:26Z | 2023-01-05T13:02:42Z | 2023-01-05T13:02:40Z | CONTRIBUTOR | simonw/datasette/pulls/1974 | Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.3.0 to 6.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/releases">sphinx's releases</a>.</em></p> <blockquote> <h2>v6.0.0</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0b2</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> <h2>v6.0.0b1</h2> <p>Changelog: <a href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES">sphinx's changelog</a>.</em></p> <blockquote> <h1>Release 6.0.0 (released Dec 29, 2022)</h1> <h2>Dependencies</h2> <ul> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/10468">#10468</a>: Drop Python 3.6 support</li> <li><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/10470">#10470</a>: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and Docutils 0.17 support. Patch by Adam Turner</li> </ul> <h2>Incompatible changes</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/sphinx-doc/sphinx/issues/7405">#7405</a>: Removed the jQuery and underscore.js JavaScript frameworks.</p> <p>These frameworks are no longer be automatically injected into themes from Sphinx 6.0. If you develop a theme or extension that uses the <code>jQuery</code>, <code>$</code>, or <code>$u</code> global objects, you need to update your JavaScript to modern standards, or use the mitigation below.</p> <p>The first option is to use the sphinxcontrib.jquery_ extension, which has been developed by the Sphinx team and contributors. To use this, add <code>sphinxcontrib.jquery</code> to the <code>extensions</code> list in <code>conf.py</code>, or call <co… | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1974/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1515186569 | I_kwDOBm6k_c5aT-mJ | 1972 | Fix Sphinx warning about extlink extension | 9599 | closed | 0 | 0 | 2022-12-31T19:12:04Z | 2022-12-31T19:13:26Z | 2022-12-31T19:13:26Z | OWNER | ``` [sphinx-autobuild] > sphinx-build -b html /Users/simon/Dropbox/Development/datasette/docs /Users/simon/Dropbox/Development/datasette/docs/_build Running Sphinx v5.3.0 loading pickled environment... done WARNING: extlinks: Sphinx-6.0 will require a caption string to contain exactly one '%s' and all other '%' need to be escaped as '%%'. ``` _Originally posted by @simonw in https://github.com/simonw/datasette/issues/1971#issuecomment-1368266904_ | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1972/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1515185383 | I_kwDOBm6k_c5aT-Tn | 1971 | Upgrade for Sphinx 6.0 (once Furo has support for it) | 9599 | closed | 0 | 3 | 2022-12-31T19:04:35Z | 2023-01-10T02:02:34Z | 2023-01-10T02:02:34Z | OWNER | A deployment of #1967 to ReadTheDocs just failed like this: https://readthedocs.org/projects/datasette/builds/19045460/ ``` Running Sphinx v6.0.0 making output directory... done building [mo]: targets for 0 po files that are out of date building [html]: targets for 28 source files that are out of date updating environment: [new config] 28 added, 0 changed, 0 removed reading sources... [ 3%] authentication reading sources... [ 7%] binary_data reading sources... [ 10%] changelog Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/latest/lib/python3.9/site-packages/docutils/statemachine.py", line 299, in next_line self.line = self.input_lines[self.line_offset] File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/latest/lib/python3.9/site-packages/docutils/statemachine.py", line 1136, in __getitem__ return self.data[i] IndexError: list index out of range During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/latest/lib/python3.9/site-packages/docutils/statemachine.py", line 226, in run self.next_line() File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/latest/lib/python3.9/site-packages/docutils/statemachine.py", line 302, in next_line raise EOFError EOFError During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/latest/lib/python3.9/site-packages/sphinx/cmd/build.py", line 281, in build_main app.build(args.force_all, args.filenames) File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/latest/lib/python3.9/site-packages/sphinx/application.py", line 344, in build self.builder.build_update() File "/home/docs/checkouts/readthedocs.org/user_builds/datasette/envs/latest/lib/python3.9/site-packages/sphinx/bu… | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1971/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1515182998 | I_kwDOBm6k_c5aT9uW | 1970 | Path "None" in _internal database table | 9599 | closed | 0 | 2 | 2022-12-31T18:51:05Z | 2022-12-31T19:22:58Z | 2022-12-31T18:52:49Z | OWNER | See https://latest.datasette.io/_internal/databases (after https://latest.datasette.io/login-as-root) <img width="551" alt="image" src="https://user-images.githubusercontent.com/9599/210153171-625d3706-8b1a-4c80-9662-46985350f6b6.png"> | 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 | ||||||
1505568103 | PR_kwDOCGYnMM5F609a | 519 | Fixes breaking DEFAULT values | 13819005 | closed | 0 | 1 | 2022-12-21T01:27:52Z | 2023-05-08T21:13:37Z | 2023-05-08T21:13:37Z | CONTRIBUTOR | simonw/sqlite-utils/pulls/519 | Fixes #509, Fixes #336 Thanks for the great library! I fixed a bug that `sqlite-utils transform` breaks DEFAULT values. All tests already present passed with no changes, and I added some tests for this PR. In #509 case, fixed here. ```shell $ sqlite3 test.db << EOF CREATE TABLE mytable ( col1 TEXT DEFAULT 'foo', col2 TEXT DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')) ) EOF $ sqlite3 test.db "SELECT sql FROM sqlite_master WHERE name = 'mytable';" CREATE TABLE mytable ( col1 TEXT DEFAULT 'foo', col2 TEXT DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')) ) $ sqlite3 test.db "INSERT INTO mytable DEFAULT VALUES; SELECT * FROM mytable;" foo|2022-12-21 01:15:39.669 $ sqlite-utils transform test.db mytable --rename col1 renamedcol1 $ sqlite3 test.db "SELECT sql FROM sqlite_master WHERE name = 'mytable';" CREATE TABLE "mytable" ( [renamedcol1] TEXT DEFAULT 'foo', [col2] TEXT DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')) # ← Non-String Value ) $ sqlite3 test.db "INSERT INTO mytable DEFAULT VALUES; SELECT * FROM mytable;" foo|2022-12-21 01:15:39.669 foo|2022-12-21 01:15:56.432 ``` And #336 case also fixed. Special values are described [here](https://www.sqlite.org/lang_createtable.html). > 3.2. The DEFAULT clause > ... A default value may also be one of the special case-independent keywords CURRENT_TIME, CURRENT_DATE or CURRENT_TIMESTAMP. ```shell $ echo 'create table bar (baz text, created_at timestamp default CURRENT_TIMESTAMP)' | sqlite3 foo.db $ sqlite3 foo.db SQLite version 3.39.5 2022-10-14 20:58:05 Enter ".help" for usage hints. sqlite> .schema bar CREATE TABLE bar (baz text, created_at timestamp default CURRENT_TIMESTAMP); sqlite> .exit $ sqlite-utils transform foo.db bar --column-order baz $ sqlite3 foo.db SQLite version 3.39.5 2022-10-14 20:58:05 Enter ".help" for usage hints. sqlite> .schema bar CREATE TABLE IF NOT EXISTS "bar" ( [baz] TEXT, [created_at] FLOAT DEFAULT CURRENT_TIMESTAMP ); sqlite> .exit $ sqlite… | 140912432 | pull | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/519/reactions", "total_count": 3, "+1": 3, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1503010009 | PR_kwDOBm6k_c5FyT3c | 1967 | Add favicon to documentation | 1839645 | closed | 0 | 2 | 2022-12-19T14:01:04Z | 2022-12-31T19:15:51Z | 2022-12-31T19:00:31Z | CONTRIBUTOR | simonw/datasette/pulls/1967 | I've been browsing the datasette documentation and found it hard to quickly locate tabs with many of them open, because it does not ship a favicon. So this PR: - Grabs the favicon `.png` from datasette itself[^1] - Adds it to the `_static/` folder - Sets `html_favicon` to load it in the docs [^1]: I also learned that Chrome can fetch favicons as an internal service! See `chrome://favicon/https://datasette.io/tools/github-to-sqlite`. | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1967/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1501900064 | I_kwDOBm6k_c5ZhS0g | 1966 | Broken link to live demo in Getting started docs | 7551922 | closed | 0 | 1 | 2022-12-18T13:17:00Z | 2022-12-31T19:15:19Z | 2022-12-31T19:15:10Z | NONE | The link in [Play with a live demo in Getting started](https://github.com/simonw/datasette/blob/main/docs/getting_started.rst#play-with-a-live-demo) to [https://fivethirtyeight.datasettes.com/fivethirtyeight](https://fivethirtyeight.datasettes.com/fivethirtyeight) is broken and the datasette is no longer working (maybe due to the end of the free tier). | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1966/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1501843596 | PR_kwDOBm6k_c5FuaJm | 1965 | Detect server start/stop more reliably. | 11321 | closed | 0 | 2 | 2022-12-18T10:03:42Z | 2022-12-20T19:08:26Z | 2022-12-18T16:01:51Z | CONTRIBUTOR | simonw/datasette/pulls/1965 | This is useful, especially in testing, since your test hosts might not reliabliy start the server within two seconds, so we do a definite check before progressing. By the same token, after `kill $server_pid` wait for the pid to be gone from the process list. Since now the script can end prematurely, I also added a cleanup function to make sure the temporary certs are removed in any case. n.b. this could also be done with the use of `trap 'fn' ERR` but that felt like a bit too much magic for this short a script. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1965.org.readthedocs.build/en/1965/ <!-- readthedocs-preview datasette end --> | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1965/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1501713288 | I_kwDOBm6k_c5ZglOI | 1963 | 0.63.3 bugfix release | 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: - https://github.com/simonw/datasette/issues/1958 - https://github.com/simonw/datasette/issues/1955 | 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 | ||||||
1499387139 | PR_kwDOBm6k_c5FmNXs | 1961 | Use click.echo() instead of print() for --root option | 9599 | closed | 0 | 0 | 2022-12-16T00:54:56Z | 2022-12-16T00:55:19Z | 2022-12-16T00:55:18Z | OWNER | simonw/datasette/pulls/1961 | This ensures the URL is output correctly when running under Docker. Closes #1958 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1961.org.readthedocs.build/en/1961/ <!-- readthedocs-preview datasette end --> | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1961/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1499150951 | PR_kwDOBm6k_c5FlZmG | 1960 | Port as many tests as possible to async def tests against ds_client | 9599 | closed | 0 | 29 | 2022-12-15T21:45:53Z | 2022-12-17T21:47:56Z | 2022-12-17T21:47:55Z | OWNER | simonw/datasette/pulls/1960 | Refs: - #1959 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1960.org.readthedocs.build/en/1960/ <!-- readthedocs-preview datasette end --> | 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1960/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1499081664 | I_kwDOBm6k_c5ZWivA | 1959 | Refactor test suite to use mostly `async def` tests | 9599 | closed | 0 | 9 | 2022-12-15T21:02:54Z | 2022-12-17T21:49:37Z | 2022-12-17T21:49:36Z | OWNER | I got blocked working on this issue due to weird and hard-to-debug test suite problems: - #1955 The test suite has needed a major upgrade for several years now. It has a LOT of `def test_...` synchronous functions that could be upgraded to `async def` for better performance and less test complexity - I've used the new `async def` pattern in plugins and new tests for a couple of years now. Hopefully I can get more of the tests to use in-memory named databases too, ideally so I can fix this consistent problem: - #1843 | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1959/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 | 9599 | closed | 0 | 8711695 | 2 | 2022-12-14T19:54:21Z | 2022-12-14T20:04:29Z | 2022-12-14T20:04:28Z | OWNER | This code currently assumes abbreviations are: ```pyton action_initials = "".join([word[0] for word in action.split("-")]) ``` https://github.com/simonw/datasette/blob/1a3dcf494376e32f7cff110c86a88e5b0a3f3924/datasette/default_permissions.py#L182-L208 That's no longer correct, they are now registered by the new plugin hook: - #1939 | 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 | |||||
1496652622 | I_kwDOBm6k_c5ZNRtO | 1955 | invoke_startup() is not run in some conditions, e.g. gunicorn/uvicorn workers, breaking lots of things | 32839123 | closed | 0 | 36 | 2022-12-14T13:39:56Z | 2022-12-19T04:34:16Z | 2022-12-18T02:45:18Z | NONE | In the past (pre-september 14, #1809) I had a running deployment of Datasette on Azure WebApps by emulating the call in cli.py to Gunicorn: `gunicorn -w 2 -k uvicorn.workers.UvicornWorker app:app`. My most recent deployment, however, fails loudly by shouting that `Datasette.invoke_startup()` was not called. It does not seem to be possible to call `invoke_startup` when running using a uvicorn command directly like this (I've reproduced this locally using `uvicorn`). Two candidates that I have tried: * Uvicorn has a `--factory` option, but the app factory has to be synchronous, so no `await invoke_startup` there * `asyncio.get_event_loop().run_until_complete` is also not an option because `uvicorn` already has the event loop running. One additional option is: * Use Gunicorn's [server hooks](https://docs.gunicorn.org/en/stable/settings.html#server-hooks) to call `invoke_startup`. These are also synchronous, but I might be able to get ahead of the event loop starting here. In my current deployment setup, it does not appear to be possible to use `datasette serve` directly, so I'm stuck either * Trying to rework my complete deployment setup, for instance, using Azure functions as described [here](https://github.com/simonw/azure-functions-datasette)) * Or dig into the ASGI spec and write a wrapper for the sole purpose of launching Datasette using a direct Uvicorn invocation. Questions for the maintainers: * Is this intended behaviour/will not support/etc.? If so, I'd be happy to add a PR with a couple lines in the documentation. * if this is not intended behaviour, what is a good way to fix it? I could have a go at the ASGI spec thing (I think the Azure Functions thing is related) and provide a PR with the wrapper here, but I'm all ears! Almost forgot, minimal reproducer: ```python from datasette import Datasette ds = Datasette(files=['./global-power-plants.db'])] app = ds.app() ``` Save as app.py in the same folder as global-power-plants.db, and then try running `uvicorn app:app`. O… | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1955/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 | 9599 | closed | 0 | 8711695 | 2 | 2022-12-14T06:26:40Z | 2022-12-15T02:02:15Z | 2022-12-15T02:01:08Z | OWNER | https://github.com/simonw/datasette/milestone/27?closed=1 https://github.com/simonw/datasette/compare/1.0a1...9ad76d279e2c3874ca5070626a25458ce129f126 | 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 | |||||
1495431932 | I_kwDOBm6k_c5ZInr8 | 1951 | `datasette.create_token(...)` method for creating signed API tokens | 9599 | closed | 0 | 8711695 | 6 | 2022-12-14T01:25:34Z | 2022-12-14T02:43:45Z | 2022-12-14T02:42:05Z | OWNER | I need this for: - #1947 And I can refactor this to use it too: - #1855 By making this a documented internal API it can be used by other plugins too. It's also going to be really useful for writing tests. | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1951/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 | 9599 | closed | 0 | 2 | 2022-12-13T22:08:16Z | 2022-12-13T22:23:22Z | 2022-12-13T22:23:22Z | OWNER | https://latest.datasette.io/fixtures/facetable?_sort=bad <img width="453" alt="image" src="https://user-images.githubusercontent.com/9599/207454481-2ba2e2bd-7400-47a6-b8a1-f898a2d364d8.png"> | 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 | ||||||
1497909798 | I_kwDOBm6k_c5ZSEom | 1958 | datasette --root running in Docker doesn't reliably show the magic URL | 11729897 | closed | 0 | 11 | 2022-12-13T16:29:13Z | 2022-12-16T00:59:12Z | 2022-12-16T00:55:19Z | NONE | I followed these steps: `docker run datasetteproject/datasette pip install datasette-upload-csvs` `docker commit $(docker ps -lq) datasette-with-plugins` `docker run -p 8001:8001 -v $(pwd):/mnt datasette-with-plugins datasette --root -p 8001 -h 0.0.0.0` Visited: http://127.0.0.1:8001/-/plugins ![image](https://user-images.githubusercontent.com/11729897/207392071-d939cd5e-1d96-4e11-b0be-dc06dd207866.png) Visited: http://localhost:8001/-/upload-csvs ![image](https://user-images.githubusercontent.com/11729897/207389241-3e96ca66-ca74-4a16-8b7d-4427ee862c5e.png) I may have missed a step? Thank you. --- Ubuntu 22.04.1 LTS | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1958/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1493390939 | I_kwDOBm6k_c5ZA1Zb | 1947 | UI to create reduced scope tokens from the `/-/create-token` page | 9599 | closed | 0 | 8711695 | 22 | 2022-12-13T05:10:48Z | 2022-12-14T05:22:00Z | 2022-12-14T05:13:24Z | OWNER | Split from: - #1855 | 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1947/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed |