pull_requests
560 rows sorted by merge_commit_sha descending
This data as json, CSV (advanced)
Suggested facets: state, assignee, milestone, draft, repo, created_at (date), updated_at (date), closed_at (date), merged_at (date)
id | node_id | number | state | locked | title | user | body | created_at | updated_at | closed_at | merged_at | merge_commit_sha ▲ | assignee | milestone | draft | head | base | author_association | repo | url | merged_by | auto_merge |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
560725714 | MDExOlB1bGxSZXF1ZXN0NTYwNzI1NzE0 | 1203 | closed | 0 | Easier way to run Prettier locally | simonw 9599 | Refs #1167 | 2021-01-25T01:39:06Z | 2021-01-25T01:41:46Z | 2021-01-25T01:41:46Z | 2021-01-25T01:41:46Z | ffff3a4c5398a9f40b61d59736f386444da19289 | 0 | 98acc8865aa7826a40a7a076ab548ba8597af734 | b6a7b58fa01af0cd5a5e94bd17d686d283a46819 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1203 | ||||
757797315 | PR_kwDOCGYnMM4tKxHD | 330 | closed | 0 | Test against Python 3.10 | simonw 9599 | 2021-10-13T21:50:22Z | 2021-11-15T02:59:29Z | 2021-10-13T22:25:05Z | 2021-10-13T22:25:05Z | fda4dad23a0494890267fbe8baf179e2b56ee914 | 0 | fc3de90963b6b097826d36f6a24c46267659dcf2 | 718a8f61bcaed39c04d5d223104056213f8c8516 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/330 | |||||
294992578 | MDExOlB1bGxSZXF1ZXN0Mjk0OTkyNTc4 | 542 | closed | 0 | extra_template_vars plugin hook | simonw 9599 | Refs #541 | 2019-07-05T22:19:17Z | 2019-07-06T00:05:57Z | 2019-07-06T00:05:56Z | 2019-07-06T00:05:56Z | fcfcae21e67cc15090942b1d2a47b5f016279337 | 0 | e81c7abb40c8ecf8d9d23cbcdde045e0a3b4ab14 | a18e0964ecd04593f227616538a80dee08768057 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/542 | ||||
195413241 | MDExOlB1bGxSZXF1ZXN0MTk1NDEzMjQx | 315 | closed | 0 | Streaming mode for downloading all rows as a CSV | simonw 9599 | Refs #266 | 2018-06-18T03:06:59Z | 2018-06-18T03:29:13Z | 2018-06-18T03:21:02Z | 2018-06-18T03:21:02Z | fc3660cfad7668dbce6ead12766e048fc1f78b11 | 0 | b15f412e04ce9ff21983986e661fbe4396f97b43 | 0d7ba1ba676828dc7c8dda78ebe7921f7986fc18 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/315 | ||||
782105066 | PR_kwDOBm6k_c4unfnq | 1512 | closed | 0 | New pattern for async view classes | simonw 9599 | Refs #878 - starting out with the new `AsyncBase` class implementing a pytest-inspired `asyncio` parallel execution mechanism. | 2021-11-16T21:55:44Z | 2021-11-17T01:39:54Z | 2021-11-17T01:39:44Z | fb57d4474cb1fdaef260e244b1b6f470f1992e40 | 1 | 8f757da0750fe7f27b4ed3839bc3ef3650832ad9 | 0156c6b5e52d541e93f0d68e9245f20ae83bc933 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1512 | |||||
1215742203 | PR_kwDOBm6k_c5IdsD7 | 2003 | open | 0 | Show referring tables and rows when the referring foreign key is compound | fgregg 536941 | sqlite foreign keys can be compound, but that is not as well supported by datasette as single column foreign keys. in particular, 1. in a table view, there is not a link from the row to the referenced row if the foreign key is compound 2. in a row view, there is no listing of tables and rows that refer to the focal row if those referencing foreign keys are compound. Both of these issues are discussed in #1099. This PR only fixes the second one, because it's not clear what the right UX is for the first issue. ![Screenshot 2023-01-24 at 19-47-40 nlrb bargaining_unit](https://user-images.githubusercontent.com/536941/214454749-d53deead-4151-4329-a5d4-8a7a454de7d3.png) Some things that might not be desirable about this approach. 1. it changes the external API, by changing `column` => `columns` and `other_column` => `other_columns` (see inline comment for more discussion. 2. There are various places where the plural foreign keys have to be checked for length and discarded or transformed to singular. | 2023-01-24T21:31:31Z | 2023-01-25T18:44:42Z | fb3abeceb2785a582d2c120c7c1bf7dc3cd1de05 | 0 | 1e5b42f9d6490926300953837cbaa571ef81d772 | e4ebef082de90db4e1b8527abc0d582b7ae0bc9d | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2003 | ||||||
510956134 | MDExOlB1bGxSZXF1ZXN0NTEwOTU2MTM0 | 190 | closed | 0 | Progress bar for sqlite-utils insert command | simonw 9599 | Refs #173 | 2020-10-27T18:08:53Z | 2020-10-27T18:16:03Z | 2020-10-27T18:16:03Z | 2020-10-27T18:16:03Z | f99a23652910b03ac4669bbbb35a9b484451aabb | 0 | 62d678122a251812cd650845705ca7b9efcef86d | c7e5dd64513c0ec2b2df4c51c8df924c282417f9 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/190 | ||||
154246816 | MDExOlB1bGxSZXF1ZXN0MTU0MjQ2ODE2 | 145 | closed | 0 | Fix pytest version conflict | simonw 9599 | https://travis-ci.org/simonw/datasette/jobs/305929426 pkg_resources.VersionConflict: (pytest 3.2.1 (/home/travis/virtualenv/python3.5.3/lib/python3.5/site-packages), Requirement.parse('pytest==3.2.3')) | 2017-11-22T20:15:34Z | 2017-11-22T20:17:54Z | 2017-11-22T20:17:52Z | 2017-11-22T20:17:52Z | f96e55bce55d26c4d5b198edc536e1b8e9bbea43 | 0 | e319478c4a34fb5afbff2b2a8c3b9ef9f859bb10 | fa8eb0bf1b113ab17ede9cd107b7c3bd5cde39c3 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/145 | ||||
575187457 | MDExOlB1bGxSZXF1ZXN0NTc1MTg3NDU3 | 1229 | closed | 0 | ensure immutable databses when starting in configuration directory mode with | camallen 295329 | fixes #1224 This PR ensures all databases found in a configuration directory that match the files in `inspect-data.json` will be set to `immutable` as outlined in https://docs.datasette.io/en/latest/settings.html#configuration-directory-mode specifically on building the `datasette` instance it checks: - if `immutables` is an empty tuple - as passed by the cli code - if `immutables` is the default function value `None` - when it's not explicitly set And correctly builds the immutable database list from the `inspect-data[file]` keys. Note for this to work the `inspect-data.json` file must contain `file` paths which are relative to the configuration directory otherwise the file paths won't match and the dbs won't be set to immutable. I couldn't find an easy way to test this due to the way `make_app_client` works, happy to take directions on adding a test for this. I've updated the relevant docs as well, i.e. use the `inspect` cli cmd from the config directory path to create the relevant file ``` cd $config_dir datasette inspect *.db --inspect-file=inspect-data.json ``` https://docs.datasette.io/en/latest/performance.html#using-datasette-inspect | 2021-02-17T20:18:26Z | 2022-04-22T13:16:36Z | 2021-03-29T00:17:32Z | 2021-03-29T00:17:31Z | f92d823766872a6fd7e76c5249a6b2de1ab0f447 | 0 | a095248ad18c9c5272dbd52f4c97ea8a36cf91f3 | 8e18c7943181f228ce5ebcea48deb59ce50bee1f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1229 | ||||
1029360106 | PR_kwDOCGYnMM49Wsnq | 465 | closed | 0 | beanbag-docutils>=2.0 | simonw 9599 | Refs #464 | 2022-08-17T22:41:39Z | 2022-08-17T23:38:07Z | 2022-08-17T23:38:02Z | 2022-08-17T23:38:02Z | f8ffac8787e299a62c99ed1ce914cd5ace84ad94 | 0 | bb90d3326815a041512b40bf0cf53b3ace06cd67 | 45e24deffea042b5db7ab84cd1eb63b3ed9bb9da | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/465 | ||||
490703173 | MDExOlB1bGxSZXF1ZXN0NDkwNzAzMTcz | 166 | closed | 0 | Keyword only arguments for transform() | simonw 9599 | Refs #165 | 2020-09-22T05:41:44Z | 2020-09-22T06:39:11Z | 2020-09-22T06:39:11Z | 2020-09-22T06:39:10Z | f8e10df00eae209fb0a1ea03384d9153f673a3ec | 0 | f8648cac3a6dda90578a1536cdae44d145633a2c | 987dd123f2ac43c5ab66d69e59d454fe09660606 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/166 | ||||
226315513 | MDExOlB1bGxSZXF1ZXN0MjI2MzE1NTEz | 368 | closed | 0 | Update installation instructions | jaap3 48517 | I was writing this as a response to your tweet, but decided I might just make it a pull request. I feel like it might be confusing to those unfamiliar with Python's `-m` flag and the built-in `venv` module to omit the space between the flag and its argument. By adding a space and prefixing the second occurrence of `venv` with a `./` it's maybe a bit clearer what the arguments are and what they do. By also using `python3 -m pip` it becomes even clearer that `-m` is a special flag that makes the python executable do neat things. | 2018-10-27T18:52:31Z | 2019-05-03T18:18:43Z | 2019-05-03T18:18:42Z | 2019-05-03T18:18:42Z | f853d5592ec7f901a50381de22a26a9ab098f885 | 0 | 8f8d6072820a13e2c698d9c326998b63810779c6 | 553314dcd699a84aa7cc806377150ca0d57a6024 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/368 | ||||
679035847 | MDExOlB1bGxSZXF1ZXN0Njc5MDM1ODQ3 | 1386 | closed | 0 | Update asgiref requirement from <3.4.0,>=3.2.10 to >=3.2.10,<3.5.0 | dependabot[bot] 49699333 | Updates the requirements on [asgiref](https://github.com/django/asgiref) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/django/asgiref/blob/main/CHANGELOG.txt">asgiref's changelog</a>.</em></p> <blockquote> <h2>3.4.0 (2021-06-27)</h2> <ul> <li> <p>Calling sync_to_async directly from inside itself (which causes a deadlock when in the default, thread-sensitive mode) now has deadlock detection.</p> </li> <li> <p>asyncio usage has been updated to use the new versions of get_event_loop, ensure_future, wait and gather, avoiding deprecation warnings in Python 3.10. Python 3.6 installs continue to use the old versions; this is only for 3.7+</p> </li> <li> <p>sync_to_async and async_to_sync now have improved type hints that pass through the underlying function type correctly.</p> </li> <li> <p>All Websocket* types are now spelled WebSocket, to match our specs and the official spelling. The old names will work until release 3.5.0, but will raise deprecation warnings.</p> </li> <li> <p>The typing for WebSocketScope and HTTPScope's <code>extensions</code> key has been fixed.</p> </li> </ul> <h2>3.3.4 (2021-04-06)</h2> <ul> <li>The async_to_sync type error is now a warning due the high false negative rate when trying to detect coroutine-returning callables in Python.</li> </ul> <h2>3.3.3 (2021-04-06)</h2> <ul> <li>The sync conversion functions now correctly detect functools.partial and other wrappers around async functions on earlier Python releases.</li> </ul> <h2>3.3.2 (2021-04-05)</h2> <ul> <li> <p>SyncToAsync now takes an optional "executor" argument if you want to supply your own executor rather than using the built-in one.</p> </li> <li> <p>async_to_sync and sync_to_async now check their arguments are functions of the correct type.</p> </li> <li> <p>Raising CancelledError inside a SyncToAsync function no longer stops a future call from functioning.</p> </li> <li> <p>ThreadSensitive now provides context hooks/override options so it can be mad… | 2021-06-28T13:13:07Z | 2021-07-11T01:36:19Z | 2021-07-11T01:36:18Z | 2021-07-11T01:36:18Z | f83c84fd51d144036924ae77d99f12b0a69e7e6f | 0 | e974ed19b09500aecb62252fe7001234d4424ff9 | ea627baccf980d7d8ebc9e1ffff1fe34d556e56f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1386 | ||||
445833908 | MDExOlB1bGxSZXF1ZXN0NDQ1ODMzOTA4 | 120 | closed | 0 | Fix query command's support for DML | tsibley 79913 | See commit messages for details. I ran into this while investigating another feature/issue. | 2020-07-08T01:36:34Z | 2020-07-08T05:14:04Z | 2020-07-08T05:14:04Z | 2020-07-08T05:14:04Z | f8277d0fb9c05a88a9ff01d996e31d55f0f0a645 | 0 | 6a660d12a27864d6ab552e11eef9fd13bc281198 | d0cdaaaf00249230e847be3a3b393ee2689fbfe4 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/120 | ||||
791153878 | PR_kwDOCGYnMM4vKAzW | 347 | open | 0 | Test against pysqlite3 running SQLite 3.37 | simonw 9599 | Refs #346 and #344. | 2021-11-29T23:17:57Z | 2021-12-11T01:02:19Z | f70a61e58ae62e53af74ab48d742bdc335131fbd | 0 | 1a7ef2fe2064ace01d5535fb771f941296fb642a | 213a0ff177f23a35f3b235386366ff132eb879f1 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/347 | ||||||
431478724 | MDExOlB1bGxSZXF1ZXN0NDMxNDc4NzI0 | 819 | closed | 0 | register_routes() plugin hook | simonw 9599 | Refs #215 | 2020-06-09T01:20:44Z | 2020-06-09T03:12:08Z | 2020-06-09T03:12:07Z | 2020-06-09T03:12:07Z | f5e79adf26d0daa3831e3fba022f1b749a9efdee | Datasette 0.44 5512395 | 0 | 18127f074efc1b0148d1098da063e51ccea7797c | 647c5ff0f3e8140f40d7f41f0874ce4e1f4df65c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/819 | |||
1406821147 | PR_kwDOCGYnMM5T2mMb | 560 | closed | 0 | Use sqlean if available in environment | simonw 9599 | 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 --> | 2023-06-25T19:48:48Z | 2023-06-26T08:21:00Z | 2023-06-25T23:25:51Z | 2023-06-25T23:25:51Z | f5c63088e1454811ce8361208b72297408eb5237 | 0 | 5e7d27e5df024ce1f45e3a850c4e0f65e765cccd | 2747257a3334d55e890b40ec58fada57ae8cfbfd | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/560 | ||||
1359311359 | PR_kwDOBm6k_c5RBXH_ | 2077 | open | 0 | Bump furo from 2023.3.27 to 2023.5.20 | dependabot[bot] 49699333 | 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… | 2023-05-22T13:58:16Z | 2023-06-29T14:40:35Z | f56be0e5dc594c374d4d5d79842561ccf3968d80 | 0 | 9785c4f73e4bb15a2f407212cb664a8e4a46b6e0 | ede62036180993dbd9d4e5d280fc21c183cda1c3 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2077 | ||||||
795869144 | PR_kwDOBm6k_c4vb__Y | 1543 | closed | 0 | Bump black from 21.11b1 to 21.12b0 | dependabot[bot] 49699333 | Bumps [black](https://github.com/psf/black) from 21.11b1 to 21.12b0. <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>21.12b0</h2> <h3><em>Black</em></h3> <ul> <li>Fix determination of f-string expression spans (<a href="https://github-redirect.dependabot.com/psf/black/issues/2654">#2654</a>)</li> <li>Fix bad formatting of error messages about EOF in multi-line statements (<a href="https://github-redirect.dependabot.com/psf/black/issues/2343">#2343</a>)</li> <li>Functions and classes in blocks now have more consistent surrounding spacing (<a href="https://github-redirect.dependabot.com/psf/black/issues/2472">#2472</a>)</li> </ul> <h4>Jupyter Notebook support</h4> <ul> <li>Cell magics are now only processed if they are known Python cell magics. Earlier, all cell magics were tokenized, leading to possible indentation errors e.g. with <code>%%writefile</code>. (<a href="https://github-redirect.dependabot.com/psf/black/issues/2630">#2630</a>)</li> <li>Fix assignment to environment variables in Jupyter Notebooks (<a href="https://github-redirect.dependabot.com/psf/black/issues/2642">#2642</a>)</li> </ul> <h4>Python 3.10 support</h4> <ul> <li>Point users to using <code>--target-version py310</code> if we detect 3.10-only syntax (<a href="https://github-redirect.dependabot.com/psf/black/issues/2668">#2668</a>)</li> <li>Fix <code>match</code> statements with open sequence subjects, like <code>match a, b:</code> or <code>match a, *b:</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2639">#2639</a>) (<a href="https://github-redirect.dependabot.com/psf/black/issues/2659">#2659</a>)</li> <li>Fix <code>match</code>/<code>case</code> statements that contain <code>match</code>/<code>case</code> soft keywords multiple times, like <code>match re.match()</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2661">#2661</a>)</li> <li>Fix <code>case</code> statements with an inline … | 2021-12-06T13:11:16Z | 2021-12-13T23:22:29Z | 2021-12-13T23:22:29Z | 2021-12-13T23:22:29Z | f5538e7161cce92a4dfaa7c5b71fcb6755d96c05 | 0 | 353a85199595c687946460bfc6f059c17f68d3b8 | 7c02be2ee94cc64b120cc58b7a72cd387031f287 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1543 | ||||
573147168 | MDExOlB1bGxSZXF1ZXN0NTczMTQ3MTY4 | 233 | closed | 0 | Run tests against Ubuntu, macOS and Windows | simonw 9599 | Refs #232 | 2021-02-14T20:11:02Z | 2021-02-14T20:39:54Z | 2021-02-14T20:39:54Z | 2021-02-14T20:39:54Z | f51a1f6c3cb2929bcf79cb4efe3b2a9886d9c25c | 0 | deb01a8913441e7fedb53c52a3a9fdff274ddbd2 | 320f3ac33a83b32f89559ef0c162b7eca428a278 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/233 | ||||
1015320511 | PR_kwDOCGYnMM48hI-_ | 460 | closed | 0 | Cross-link CLI to Python docs | simonw 9599 | Work in progress, partly to test the ReadTheDocs preview link action. Refs: - #426 <!-- readthedocs-preview readthedocs-preview start --> ---- :books: Documentation preview :books:: https://readthedocs-preview--460.org.readthedocs.build/en/460/ <!-- readthedocs-preview readthedocs-preview end --> | 2022-08-02T16:18:28Z | 2022-08-18T21:58:10Z | 2022-08-18T21:58:07Z | 2022-08-18T21:58:07Z | f4fb78fa95057fbc86c734020835a3155695297f | 0 | f21f4ccf7197e7a0ac8c2eb5086659fc3eb5bc05 | 1856002e3c0fcc9f09f72ab7d97ad8c75f6de7df | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/460 | ||||
330129358 | MDExOlB1bGxSZXF1ZXN0MzMwMTI5MzU4 | 603 | closed | 0 | always pop as_format off args dict | chris48s 6025893 | closes #563 | 2019-10-20T15:44:22Z | 2019-10-30T19:12:22Z | 2019-10-21T02:03:09Z | 2019-10-21T02:03:09Z | f4c0830529a9513a83437a9e1550bbe27ebc5c64 | 0 | 39d044502590224e4f07c05e02fc8a4d312255c1 | 8050f9e1ece9afd0236ad38c6458c12a4ad917e6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/603 | ||||
747742034 | PR_kwDODFdgUs4skaNS | 68 | open | 0 | Add support for retrieving teams / members | philwills 68329 | Adds a method for retrieving all the teams within an organisation and all the members in those teams. The latter is stored as a join table `team_members` beteween `teams` and `users`. | 2021-10-01T15:55:02Z | 2021-10-01T15:59:53Z | f46e276c356c893370d5893296f4b69f08baf02c | 0 | cc838e87b1eb19b299f277a07802923104f35ce2 | ed3752022e45b890af63996efec804725e95d0d4 | FIRST_TIME_CONTRIBUTOR | github-to-sqlite 207052882 | https://github.com/dogsheep/github-to-sqlite/pull/68 | ||||||
181647717 | MDExOlB1bGxSZXF1ZXN0MTgxNjQ3NzE3 | 207 | closed | 0 | Link foreign keys which don't have labels | russss 45057 | This renders unlabeled FKs as simple links. I can't see why this would cause any major problems. ![image](https://user-images.githubusercontent.com/45057/38768722-ea15a000-3fef-11e8-8664-ffd7aa4894ea.png) Also includes bonus fixes for two minor issues: * In foreign key link hrefs the primary key was escaped using HTML escaping rather than URL escaping. This broke some non-integer PKs. * Print tracebacks to console when handling 500 errors. | 2018-04-14T13:27:14Z | 2018-04-14T15:00:00Z | 2018-04-14T15:00:00Z | 2018-04-14T15:00:00Z | f2b940d6026677f6859d46a4f16fa402745d261d | 0 | d9858672da8f74e5530deead140e2e633e1c2627 | ec6abc81e433c9bac1b9f085111785fc227e9e34 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/207 | ||||
651492888 | MDExOlB1bGxSZXF1ZXN0NjUxNDkyODg4 | 1339 | closed | 0 | ?_col=/?_nocol= to show/hide columns on the table page | simonw 9599 | See #615. Still to do: - [x] Allow combination of `?_col=` and `?_nocol=` (`_nocol` wins) - [x] Deduplicate same column if passed in `?_col=` multiple times - [x] Validate that user did not try to remove a primary key - [x] Add tests - [x] Ensure this works correctly for SQL views - [x] Add documentation | 2021-05-24T17:15:20Z | 2021-05-27T04:17:44Z | 2021-05-27T04:17:43Z | 2021-05-27T04:17:43Z | f1c29fd6a184254aa68efadf096bcf21e848f921 | 0 | 387c8379b92e559180098f73017a1bf2e6370205 | 2bd9d54b2762c991e11950c22c88c0336158d49b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1339 | ||||
1038926741 | PR_kwDODtX3eM497MOV | 5 | open | 0 | The program fails when the user has no submissions | fernand0 2467 | Tested with: hacker-news-to-sqlite user hacker-news.db fernand0 Result: ` Traceback (most recent call last): File "/home/ftricas/.pyenv/versions/3.10.6/bin/hacker-news-to-sqlite", line 8, in <module> sys.exit(cli()) File "/home/ftricas/.pyenv/versions/3.10.6/lib/python3.10/site-packages/click/core.py", line 1130, in __call__ return self.main(*args, **kwargs) File "/home/ftricas/.pyenv/versions/3.10.6/lib/python3.10/site-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/home/ftricas/.pyenv/versions/3.10.6/lib/python3.10/site-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/ftricas/.pyenv/versions/3.10.6/lib/python3.10/site-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/ftricas/.pyenv/versions/3.10.6/lib/python3.10/site-packages/click/core.py", line 760, in invoke return __callback(*args, **kwargs) File "/home/ftricas/.pyenv/versions/3.10.6/lib/python3.10/site-packages/hacker_news_to_sqlite/cli.py", line 27, in user submitted = user.pop("submitted", None) or [] AttributeError: 'NoneType' object has no attribute 'pop' ` There is a problem of style with the patch (but not sure what to do) because with the new inicialization ( submitted = []) the part or [] is not needed. Maybe there is a more adequate way of doing this. | 2022-08-28T17:25:45Z | 2022-08-28T17:25:45Z | f0d7414305fc6cba4bcb7506b76a94938ccc7886 | 0 | ea97e640ad7a24020821fde5c647240120bd7099 | c5585c103d124b23ba1e163f8857d4ba49fe452a | FIRST_TIME_CONTRIBUTOR | hacker-news-to-sqlite 248903544 | https://github.com/dogsheep/hacker-news-to-sqlite/pull/5 | ||||||
293994443 | MDExOlB1bGxSZXF1ZXN0MjkzOTk0NDQz | 536 | closed | 0 | Switch to ~= dependencies, closes #532 | simonw 9599 | 2019-07-03T04:12:16Z | 2019-07-03T04:32:55Z | 2019-07-03T04:32:55Z | 2019-07-03T04:32:55Z | f0d32da0a9af87bcb15e34e35424f0c0053be83a | 0 | 391d109dc3f9230dc4ee4afd20041e480e90e739 | 4d2fdafe39159c9a8aa83f7e9bfe768bbbbb56a3 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/536 | |||||
510235909 | MDExOlB1bGxSZXF1ZXN0NTEwMjM1OTA5 | 189 | closed | 0 | Allow iterables other than Lists in m2m records | adamwolf 35681 | I was playing around with sqlite-utils, creating a Roam Research dogsheep-style importer for Datasette, and ran into a slight snag. I wanted to use a generator to add an order column in an importer. It looked something like: ``` def order_generator(iterable, attr=None): if attr is None: attr = "order" order: int = 0 for i in iterable: i[attr] = order order += 1 yield i ``` When I used this with `insert_all` and other things, it worked fine--but it didn't work as the `records` argument to `m2m`. I dug into it, and sqlite-utils is explicitly checking if the records argument is a list or a tuple. I flipped the check upside down, and now it checks if the argument is a mapping. If it's a mapping, it wraps it in a list, otherwise it leaves it alone. (I get that it might not really make sense to put the order column on the second table. I changed my import schema a bit, and no longer have a real example, but maybe this change still makes sense.) The automated tests still pass, but I did not add any new ones. Let me know what you think! I'm really loving Datasette and its ecosystem; thanks for everything! | 2020-10-26T18:47:44Z | 2020-10-27T16:28:37Z | 2020-10-27T16:24:21Z | 2020-10-27T16:24:21Z | f045d8559a6d2cb922a2de30fbcc896a4486b82f | 0 | 93230b2acb61635b6d5070ad9c65e7221c63b75a | e4f1c7b936981de29823730c5dbef4f4ba7a4286 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/189 | ||||
737050557 | PR_kwDOCGYnMM4r7n-9 | 327 | closed | 0 | Extract expand: Support JSON Arrays | phaer 101753 | Hi, I needed to extract data in JSON Arrays to normalize data imports. I've quickly hacked the following together based on #241 which refers to #239 where you, @simonw, wrote: > Could this handle lists of objects too? That would be pretty amazing - if the column has a [{...}, {...}] list in it could turn that into a many-to-many. They way this works in my work is that many-to-many relationships are created for anything that maps to an dictionary in a list, and many-to-one relations for everything else (assumed to be scalar values). Not sure what the best approach here would be? Are many-to-one relationships are at all useful here? What do you think about this approach? I could try to add it to the cli interface and documentation if wanted. Thanks for this awesome piece of software in any case! :sun_with_face: | 2021-09-19T10:34:30Z | 2022-12-29T09:05:36Z | 2022-12-29T09:05:36Z | f0105cde23452cb4c8a15fc6096154b15d9b7c5a | 0 | 2840c697aa9817462d864ed5f8a7696d749fe039 | 8d641ab08ac449081e96f3e25bd6c0226870948a | NONE | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/327 | |||||
1079437524 | PR_kwDOBm6k_c5AVujU | 1835 | closed | 0 | use inspect data for hash and file size | fgregg 536941 | `inspect_data` should already include the hash and the db file size, so this PR takes advantage of using those instead of always recalculating. should help a lot on startup with large DBs. closes #1834 | 2022-10-06T18:25:24Z | 2022-10-27T20:51:30Z | 2022-10-06T20:06:07Z | 2022-10-06T20:06:07Z | eff112498ecc499323c26612d707908831446d25 | 0 | b4b92df38c8ca8a6faeec4daaf803cee80e0dbed | bbf33a763537a1d913180b22bd3b5fe4a5e5b252 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1835 | ||||
181654839 | MDExOlB1bGxSZXF1ZXN0MTgxNjU0ODM5 | 208 | closed | 0 | Return HTTP 405 on InvalidUsage rather than 500 | russss 45057 | This also stops it filling up the logs. This happens for HEAD requests at the moment - which perhaps should be handled better, but that's a different issue. | 2018-04-14T16:12:50Z | 2018-04-14T18:00:39Z | 2018-04-14T18:00:39Z | 2018-04-14T18:00:39Z | efbb4e83374a2c795e436c72fa79f70da72309b8 | 0 | 20e5fcf827046adf76968d0e58f47e0b7d9271c3 | 8d394586f55bc4b8ab70476968d08fb6ec8339e5 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/208 | ||||
655741428 | MDExOlB1bGxSZXF1ZXN0NjU1NzQxNDI4 | 1348 | open | 0 | DRAFT: add test and scan for docker images | blairdrummond 10801138 | **NOTE: I don't think this PR is ready, since the arm/v6 and arm/v7 images are failing pytest due to missing dependencies (gcc and friends). But it's pretty close.** Closes https://github.com/simonw/datasette/issues/1344 . Using a build-matrix for the platforms and [this test](https://github.com/simonw/datasette/issues/1344#issuecomment-849820019), we test all the platforms in parallel. I also threw in container scanning. ### Switch `pip install` to use either tags or commit shas Notably! This also [changes the Dockerfile](https://github.com/blairdrummond/datasette/blob/7fe5315d68e04fce64b5bebf4e2d7feec44f8546/Dockerfile#L20) so that it accepts tags or commit-shas. ``` # It's backwards compatible with tags, but also lets you use shas root@712071df17af:/# pip install git+git://github.com/simonw/datasette.git@0.56 Collecting git+git://github.com/simonw/datasette.git@0.56 Cloning git://github.com/simonw/datasette.git (to revision 0.56) to /tmp/pip-req-build-u6dhm945 Running command git clone -q git://github.com/simonw/datasette.git /tmp/pip-req-build-u6dhm945 Running command git checkout -q af5a7f1c09f6a902bb2a25e8edf39c7034d2e5de Collecting Jinja2<2.12.0,>=2.10.3 Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB) ``` This le… | 2021-05-28T03:02:12Z | 2021-05-28T03:06:16Z | eeea7cb835be0f0319cafccf50dffa6ad26826c5 | 0 | 56cba8fb837cd938c2f9d7423ee43d62a81c8f7c | 7b106e106000713bbee31b34d694b3dadbd4818c | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1348 | ||||||
771790589 | PR_kwDOEhK-wc4uAJb9 | 15 | open | 0 | include note tags in the export | d-rep 436138 | When parsing the Evernote `<note>` elements, the script will now also parse any nested `<tag>` elements, writing them out into a separate sqlite table. Here is an example of how to query the data after the script has run: ``` select notes.*, (select group_concat(tag) from notes_tags where notes_tags.note_id=notes.id) as tags from notes; ``` My .enex source file is 3+ years old so I am assuming the structure hasn't changed. Interestingly, my _notebook names_ show up in the _tags_ list where the tag name is prefixed with `notebook_`, so this could maybe help work around the first limitation mentioned in the [evernote-to-sqlite blog post](https://simonwillison.net/2020/Oct/16/building-evernote-sqlite-exporter/). | 2021-11-02T20:04:31Z | 2021-11-02T20:04:31Z | ee36aba995b0a5385bdf9a451851dcfc316ff7f6 | 0 | 8cc3aa49c6e61496b04015c14048c5dac58d6b42 | fff89772b4404995400e33fe1d269050717ff4cf | FIRST_TIME_CONTRIBUTOR | evernote-to-sqlite 303218369 | https://github.com/dogsheep/evernote-to-sqlite/pull/15 | ||||||
330076263 | MDExOlB1bGxSZXF1ZXN0MzMwMDc2MjYz | 602 | closed | 0 | Offer to format readonly SQL | rixx 2657547 | Following discussion in #601, this PR adds a "Format SQL" button to read-only SQL (if the SQL actually differs from the formatting result). It also removes a console error on readonly SQL queries. | 2019-10-20T02:29:32Z | 2019-11-04T07:29:33Z | 2019-11-04T02:39:56Z | 2019-11-04T02:39:56Z | ee330222f4c3ee66c2fe41ebc76fed56b9cb9a00 | 0 | 266c3dafb9bf3b12204b6152d7b48e94a131584a | 8050f9e1ece9afd0236ad38c6458c12a4ad917e6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/602 | ||||
821992886 | PR_kwDOCGYnMM4w_p22 | 385 | closed | 0 | Add new spatialite helper methods | eyeseast 25778 | Refs #79 This PR adds three new Spatialite-related methods to Database and Table: - `Database.init_spatialite` loads the Spatialite extension and initializes it - `Table.add_geometry_column` adds a geometry column - `Table.create_spatial_index` creates a spatial index Has tests and documentation. Feedback very welcome. | 2022-01-14T03:57:30Z | 2022-02-05T00:04:26Z | 2022-02-04T05:55:10Z | 2022-02-04T05:55:10Z | ee11274fcb1c00f32c95f2ef2924d5349538eb4d | 0 | af86b17acf2fa50048e38b96497636d49db89766 | 74586d3cb26fa3cc3412721985ecdc1864c2a31d | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/385 | ||||
1392480869 | PR_kwDOBm6k_c5S_5Jl | 2083 | closed | 0 | Bump blacken-docs from 1.13.0 to 1.14.0 | dependabot[bot] 49699333 | 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… | 2023-06-14T13:57:52Z | 2023-06-29T14:31:55Z | 2023-06-29T14:31:54Z | 2023-06-29T14:31:54Z | ede62036180993dbd9d4e5d280fc21c183cda1c3 | 0 | caee23e9ca8cbd4d189070188f90eabf97008b59 | dda99fc09fb0b5523948f6d481c6c051c1c7b5de | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2083 | ||||
434162316 | MDExOlB1bGxSZXF1ZXN0NDM0MTYyMzE2 | 29 | closed | 0 | Fixed bug in SQL query for photo scores | RhetTbull 41546558 | The join on ZCOMPUTEDASSETATTRIBUTES used the wrong columns. In most of the Photos database tables, table.ZASSET joins with ZGENERICASSET.Z_PK | 2020-06-14T15:39:22Z | 2020-12-04T22:32:36Z | 2020-12-04T22:32:27Z | 2020-12-04T22:32:27Z | edc80a0d361006f478f2904a90bfe6c730ed6194 | 0 | f961a90788cb2059d40b9a0810900ac81e6859f6 | 45ce3f8bfb8c70f57ca5d8d82f22368fea1eb391 | CONTRIBUTOR | dogsheep-photos 256834907 | https://github.com/dogsheep/dogsheep-photos/pull/29 | ||||
153306882 | MDExOlB1bGxSZXF1ZXN0MTUzMzA2ODgy | 115 | closed | 0 | Add keyboard shortcut to execute SQL query | rgieseke 198537 | Very cool tool, thanks a lot! This PR adds a `Shift-Enter` short cut to execute the SQL query. I used CodeMirrors keyboard handling. | 2017-11-17T14:13:33Z | 2017-11-17T15:16:34Z | 2017-11-17T14:22:56Z | 2017-11-17T14:22:56Z | eda848b37f8452dba7913583ef101f39d9b130ba | 0 | bb514164e69400fc0be4e033c27f45f90b1ef651 | ed2b3f25beac720f14869350baacc5f62b065194 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/115 | ||||
572209243 | MDExOlB1bGxSZXF1ZXN0NTcyMjA5MjQz | 1222 | closed | 0 | --ssl-keyfile and --ssl-certfile, refs #1221 | simonw 9599 | 2021-02-12T00:45:58Z | 2021-02-12T00:52:18Z | 2021-02-12T00:52:17Z | 2021-02-12T00:52:17Z | eda652cf6ee28a0babfb30ce3834512e9e33fb8e | 0 | 8ec72ea3e3e0a9876d5e61e4a2260224f16db2e3 | aa1fe0692c2abb901216738bfb35f9fcc5090e7d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1222 | |||||
768796296 | PR_kwDOCGYnMM4t0uaI | 333 | closed | 0 | Add functionality to read Parquet files. | Florents-Tselai 2118708 | I needed this for a project of mine, and I thought it'd be useful to have it in sqlite-utils (It's also mentioned in #248 ). The current implementation works (data is read & data types are inferred correctly. I've added a single straightforward test case, but @simonw please let me know if there are any non-obvious flags/combinations I should test too. | 2021-10-28T23:43:19Z | 2021-11-25T19:47:35Z | 2021-11-25T19:47:35Z | eda2b1f8d2670c6ca8512e3e7c0150866bd0bdc6 | 0 | 50ec2e49dee3b09a48a7aef55eceaa3f752a52e7 | fda4dad23a0494890267fbe8baf179e2b56ee914 | NONE | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/333 | |||||
235194286 | MDExOlB1bGxSZXF1ZXN0MjM1MTk0Mjg2 | 390 | closed | 0 | tiny typo in customization docs | jaywgraves 418191 | was looking to add some custom templates to my use of datasette and saw this small typo. | 2018-12-01T13:44:42Z | 2019-12-19T02:30:35Z | 2018-12-16T21:32:56Z | 2018-12-16T21:32:56Z | ed78922ae38b51513319b60ac39990b7c2aca810 | 0 | f8c01373dad3b8dcd10577a2e541f88ef34c77bc | 3de8fac1d322cbab6c8c55899e0e8511b36337d0 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/390 | ||||
925807233 | PR_kwDOCGYnMM43LrKB | 429 | closed | 0 | Depend on click-default-group-wheel | simonw 9599 | Trying to get this to work with Pyodide. Refs: https://github.com/simonw/click-default-group-wheel/issues/3 | 2022-05-02T18:03:10Z | 2022-05-02T18:52:42Z | 2022-05-02T18:05:00Z | 2022-05-02T18:05:00Z | ed6fd516082e8cc83b199798f62dd67728a6974f | 0 | 4a02dcf265702a4f11eed943bf8feaa502c590d5 | e3a14c33a033b0c2fc00f2470666caaf9027e446 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/429 | ||||
152914480 | MDExOlB1bGxSZXF1ZXN0MTUyOTE0NDgw | 107 | closed | 0 | add support for ?field__isnull=1 | raynae 3433657 | Is this what you had in mind for [this issue](https://github.com/simonw/datasette/issues/64)? | 2017-11-15T23:36:36Z | 2017-11-17T15:12:29Z | 2017-11-17T13:29:22Z | 2017-11-17T13:29:22Z | ed2b3f25beac720f14869350baacc5f62b065194 | 0 | 14d5bb572fadbd45973580bd9ad2a16c2bf12909 | b7c4165346ee8b6a6fbd72d6ba2275a24a8a8ae3 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/107 | ||||
181642114 | MDExOlB1bGxSZXF1ZXN0MTgxNjQyMTE0 | 205 | closed | 0 | Support filtering with units and more | russss 45057 | The first commit: * Adds units to exported JSON * Adds units key to metadata skeleton * Adds some docs for units The second commit adds filtering by units by the first method I mentioned in #203: ![image](https://user-images.githubusercontent.com/45057/38767463-7193be16-3fd9-11e8-8a5f-ac4159415c6d.png) [Try it here](https://wtr-api.herokuapp.com/wtr-663ea99/license_frequency?frequency__gt=50GHz&height__lt=50ft). I think it integrates pretty neatly. The third commit adds support for registering custom units with Pint from metadata.json. Probably pretty niche, but I need decibels! | 2018-04-14T10:47:51Z | 2018-04-14T15:24:04Z | 2018-04-14T15:24:04Z | ed059c70e87a2930206652621e23a55167aa57c1 | 0 | eb3a37c34813ecbbfdae015305fec1f2a4ec27a5 | 6b15a53cd3cd40880a5e2d38827d5fac10e4bb5f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/205 | |||||
1040691996 | PR_kwDOCGYnMM4-B7Mc | 480 | closed | 0 | search_sql add include_rank option | chapmanjacobd 7908073 | I haven't tested this yet but wanted to get a heads-up whether this kind of change would be useful or if I should just duplicate the function and tweak it within my code <!-- readthedocs-preview sqlite-utils start --> ---- :books: Documentation preview :books:: https://sqlite-utils--480.org.readthedocs.build/en/480/ <!-- readthedocs-preview sqlite-utils end --> | 2022-08-30T09:10:29Z | 2022-08-31T03:40:35Z | 2022-08-31T03:40:35Z | 2022-08-31T03:40:35Z | ecf1d40112e52a8f4e509c39b98caae996b7bc36 | 0 | 3dbfca6fdd878ba381f83157fdae2042eeaed371 | 087753cd42c406f1e060c1822dcd9b5fda3d60f4 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/480 | ||||
602261092 | MDExOlB1bGxSZXF1ZXN0NjAyMjYxMDky | 6 | closed | 0 | Add testres-db tool | ligurio 1151557 | 2021-03-28T15:43:23Z | 2022-02-16T05:12:05Z | 2022-02-16T05:12:05Z | eceb016506b5db29b9c21bc7fcf5e6e77259c7b4 | 0 | 91cfa6f7dcab032e2d21e80657c81e69119e2018 | 92c6bb77629feeed661c7b8d9183a11367de39e0 | NONE | dogsheep.github.io 214746582 | https://github.com/dogsheep/dogsheep.github.io/pull/6 | ||||||
181600926 | MDExOlB1bGxSZXF1ZXN0MTgxNjAwOTI2 | 204 | closed | 0 | Initial units support | russss 45057 | Add support for specifying units for a column in metadata.json and rendering them on display using [pint](https://pint.readthedocs.io/en/latest/). Example table metadata: ```json "license_frequency": { "units": { "frequency": "Hz", "channel_width": "Hz", "height": "m", "antenna_height": "m", "azimuth": "degrees" } } ``` [Example result](https://wtr-api.herokuapp.com/wtr-663ea99/license_frequency/1) This works surprisingly well! I'd like to add support for using units when querying but this is PR is pretty usable as-is. (Pint doesn't seem to support decibels though - it thinks they're decibytes - which is an annoying omission.) (ref ticket #203) | 2018-04-13T21:32:49Z | 2018-04-14T09:44:33Z | 2018-04-14T03:32:54Z | 2018-04-14T03:32:54Z | ec6abc81e433c9bac1b9f085111785fc227e9e34 | 0 | 67c20a98a0cbb59a10247a49320c2feb7d0b1b41 | fb988ace7c7e2bee5ac142a0eab22431d0675a77 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/204 | ||||
774610166 | PR_kwDOCGYnMM4uK5z2 | 337 | closed | 0 | Default values for `--attach` and `--param` options | urbas 771193 | It seems that `click` 8.x uses `None` as the default value for `multiple=True` options. This change makes the code forward-compatible with `click` 8.x. See this build failure for more info: https://hydra.nixos.org/build/156926608 | 2021-11-05T21:57:53Z | 2021-11-05T22:33:03Z | 2021-11-05T22:33:02Z | eb8bf28da1794638a5693043cd5268f506a674d3 | 0 | 095fc64c5399d75d44d304571a21293d06d817f0 | fda4dad23a0494890267fbe8baf179e2b56ee914 | NONE | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/337 | |||||
1289104584 | PR_kwDOBm6k_c5M1izI | 2043 | closed | 0 | Bump furo from 2022.12.7 to 2023.3.23 | dependabot[bot] 49699333 | 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… | 2023-03-24T13:58:08Z | 2023-03-28T13:58:24Z | 2023-03-28T13:58:21Z | eb0601c965ebb12162c76259d89fb9fe6549bcc0 | 0 | 85b9e5139980b0e802b6f0bcfaa2f7c975c30970 | 3feed1f66e2b746f349ee56970a62246a18bb164 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2043 | |||||
443823040 | MDExOlB1bGxSZXF1ZXN0NDQzODIzMDQw | 890 | closed | 0 | Load only python files from plugins-dir. | amjith 49260 | The current behavior for `--plugins-dir` is to load every file in that folder as a python module. This can result in errors if there are non-python files in the plugins dir (such as .mypy_cache). This PR restricts the module loading to only python files. | 2020-07-03T02:47:32Z | 2020-07-03T03:08:33Z | 2020-07-03T03:08:33Z | 2020-07-03T03:08:33Z | ea99a4431ce5bc2d65a3496da5b38e1986550a96 | 0 | 745af3b72d95d91f3ccd703f4fab819bc9f4b6a4 | 57879dc8b346a435804a9e45ffaacbf2a0228bc6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/890 | ||||
275558612 | MDExOlB1bGxSZXF1ZXN0Mjc1NTU4NjEy | 445 | closed | 0 | Extract facet code out into a new plugin hook, closes #427 | simonw 9599 | Datasette previously only supported one type of faceting: exact column value counting. With this change, faceting logic is extracted out into one or more separate classes which can implement other patterns of faceting - this is discussed in #427, but potential upcoming facet types include facet-by-date, facet-by-JSON-array, facet-by-many-2-many and more. A new plugin hook, register_facet_classes, can be used by plugins to add in additional facet classes. Each class must implement two methods: suggest(), which scans columns in the table to decide if they might be worth suggesting for faceting, and facet_results(), which executes the facet operation and returns results ready to be displayed in the UI. | 2019-05-03T00:02:41Z | 2019-05-03T18:17:18Z | 2019-05-03T00:11:27Z | 2019-05-03T00:11:27Z | ea66c45df96479ef66a89caa71fff1a97a862646 | 0 | 1b47d4d8736627c260eb4e8303e552b0e9620a01 | efc93b8ab5a21e3802f75f08d5e41409f5684b5d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/445 | ||||
975096803 | PR_kwDOBm6k_c46Hsvj | 1760 | closed | 0 | Bump furo from 2022.4.7 to 2022.6.21 | dependabot[bot] 49699333 | Bumps [furo](https://github.com/pradyunsg/furo) from 2022.4.7 to 2022.6.21. <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>2022.06.21 -- Opulent Opal</h2> <ul> <li>Fix <code>docutils <= 0.17.x</code> compatibility</li> <li>Bump to the latest Node.js LTS</li> </ul> <h2>2022.06.04.1 -- Naughty Nickel bugfix</h2> <ul> <li>Fix the URL used in the "Edit this page" for Read the Docs builds.</li> </ul> <h2>2022.06.04 -- Naughty Nickel</h2> <ul> <li>✨ Advertise Sphinx 5 compatibility.</li> <li>✨ Change to <code>basic-ng</code> as the base theme (from {pypi}<code>sphinx-basic-ng</code>).</li> <li>Document site-wide announcement banners.</li> <li>Drop the pin on pygments.</li> <li>Improve edit button, using <code>basic-ng</code>'s <code>edit-this-page</code> component.</li> <li>Tweak headings to better match what users expect.</li> <li>Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).</li> <li>When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.</li> </ul> <h2>2022.04.07 -- Magical Mauve</h2> <ul> <li>✨ Make sphinx-copybutton look better.</li> <li>Add margin to indentations in line blocks.</li> <li>Add styling for non-arabic list styles</li> <li>Add support for <code>html_baseurl</code>.</li> <li>Improve "Edit this page" icon to be more accessible.</li> <li>Improve <code>html_sidebars</code> example.</li> <li>Tweak positioning of back to top on desktop.</li> </ul> <h2>2022.03.04 -- Lucent Lilac</h2> <ul> <li>Improve support for print media.</li> <li>Reduce heading sizes for h3 and below.</li> <li>Don't allow selecting headerlink content.</li> <li>Improve how overflow wrapping is handled.</li> <li>Add a reference from the configuration variables to the color customisation page.</li> </ul> <h2>2022.02… | 2022-06-22T13:22:31Z | 2022-07-18T01:06:27Z | 2022-07-18T01:06:27Z | 2022-07-18T01:06:27Z | ea6161f8475d9fa41c4879049511c58f692cce04 | 0 | 69951eedb7ca7f1284ba29f3890bef917d59a655 | 00e59ec461dc0150772b999c7cc15fcb9b507d58 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1760 | ||||
293117183 | MDExOlB1bGxSZXF1ZXN0MjkzMTE3MTgz | 34 | closed | 0 | sqlite-utils index-foreign-keys / db.index_foreign_keys() | simonw 9599 | Refs #33 - [x] `sqlite-utils index-foreign-keys` command - [x] `db.index_foreign_keys()` method - [x] unit tests - [x] documentation | 2019-06-30T16:43:40Z | 2019-06-30T23:50:55Z | 2019-06-30T23:50:55Z | 2019-06-30T23:50:54Z | e8f887ef4a0977243811b90bc2ce9aed9d2c206a | 0 | d82b000e3d55067516e2ce42f131cf4695e80dca | 0fe3b38290e1bb2d92746d90318d8662b57218bd | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/34 | ||||
518988879 | MDExOlB1bGxSZXF1ZXN0NTE4OTg4ODc5 | 1085 | closed | 0 | Use FTS4 in fixtures | simonw 9599 | Refs #1081 | 2020-11-11T06:44:30Z | 2020-11-12T00:02:59Z | 2020-11-12T00:02:58Z | 2020-11-12T00:02:58Z | e8e0a6f284ca953b2980186c4356594c07bd1929 | 0 | 51e7651c66aaf1804274ce68a6b5218bbba76338 | 2a981e2ac1d13125973904b777d00ea75e8df4e6 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1085 | ||||
369348084 | MDExOlB1bGxSZXF1ZXN0MzY5MzQ4MDg0 | 78 | closed | 0 | New conversions= feature, refs #77 | simonw 9599 | 2020-01-31T00:02:33Z | 2020-09-22T07:48:29Z | 2020-01-31T00:24:31Z | 2020-01-31T00:24:31Z | e8b2b7383bd94659d3b7a857a1414328bc48bc19 | 0 | 58190d67821aaa57c8ca0320a08e3691d6e27344 | 59a2e8ebdcbde7e6fb091b0556713ca5a20ea4e7 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/78 | |||||
329947180 | MDExOlB1bGxSZXF1ZXN0MzI5OTQ3MTgw | 601 | closed | 0 | Don't auto-format SQL on page load | simonw 9599 | Refs #600 | 2019-10-18T22:37:39Z | 2019-10-20T02:29:49Z | 2019-10-18T23:56:45Z | 2019-10-18T23:56:45Z | e877b1cb12076946fdbec7ca2fbfbfc75c1c2a28 | 0 | 3a963734590caa3ad69bfe64c31690f3e4de61a4 | b6ad1fdc7068cb8248787843e7438d1f19fa2e3a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/601 | ||||
630578735 | MDExOlB1bGxSZXF1ZXN0NjMwNTc4NzM1 | 1318 | closed | 0 | Bump black from 21.4b2 to 21.5b0 | dependabot[bot] 49699333 | Bumps [black](https://github.com/psf/black) from 21.4b2 to 21.5b0. <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>21.5b0</h2> <h4><em>Black</em></h4> <ul> <li>Set <code>--pyi</code> mode if <code>--stdin-filename</code> ends in <code>.pyi</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2169">#2169</a>)</li> <li>Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (<a href="https://github-redirect.dependabot.com/psf/black/issues/2182">#2182</a>)</li> </ul> <h4><em>Black-Primer</em></h4> <ul> <li>Add <code>--no-diff</code> to black-primer to suppress formatting changes (<a href="https://github-redirect.dependabot.com/psf/black/issues/2187">#2187</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/psf/black/blob/master/CHANGES.md">black's changelog</a>.</em></p> <blockquote> <h3>21.5b0</h3> <h4><em>Black</em></h4> <ul> <li>Set <code>--pyi</code> mode if <code>--stdin-filename</code> ends in <code>.pyi</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2169">#2169</a>)</li> <li>Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (<a href="https://github-redirect.dependabot.com/psf/black/issues/2182">#2182</a>)</li> </ul> <h4><em>Black-Primer</em></h4> <ul> <li>Add <code>--no-diff</code> to black-primer to suppress formatting changes (<a href="https://github-redirect.dependabot.com/psf/black/issues/2187">#2187</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/psf/black/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=black&package-manager=pip&previous-versi… | 2021-05-05T13:07:51Z | 2021-05-11T13:12:32Z | 2021-05-11T13:12:31Z | e864f5420abb7a5d135f8fe470183786b577ce9a | 0 | e06c09911be52202940808d7a08df2e9b71b3af2 | 1b697539f5b53cec3fe13c0f4ada13ba655c88c7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1318 | |||||
711783616 | MDExOlB1bGxSZXF1ZXN0NzExNzgzNjE2 | 1430 | closed | 0 | Column metadata | simonw 9599 | Refs #942 Still needs: - [x] Tests - [x] Documentation | 2021-08-12T23:34:39Z | 2021-08-12T23:53:23Z | 2021-08-12T23:53:23Z | 2021-08-12T23:53:23Z | e837095ef35ae155b4c78cc9a8b7133a48c94f03 | 0 | 941994725dd41deb6f839c5063cff5d15d4abb1c | b1fed48a95516ae84c0f020582303ab50ab817e2 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1430 | ||||
614727036 | MDExOlB1bGxSZXF1ZXN0NjE0NzI3MDM2 | 254 | closed | 0 | Fix incorrect create-table cli description | robjwells 1935268 | The description for `create-table` was duplicated from `create-index`. | 2021-04-13T20:03:15Z | 2021-05-19T04:43:46Z | 2021-05-19T02:57:26Z | 2021-05-19T02:57:26Z | e7b2626291040b78b9a2dbc2982ba72691fb1a0f | 0 | cdeb7d7da77c6d1cd3554d08cb5659243cb3d55b | 22f1d9e1999f70af4c5b0f880a820cd9eead3942 | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/254 | ||||
668129441 | MDExOlB1bGxSZXF1ZXN0NjY4MTI5NDQx | 1374 | closed | 0 | Bump black from 21.5b2 to 21.6b0 | dependabot[bot] 49699333 | Bumps [black](https://github.com/psf/black) from 21.5b2 to 21.6b0. <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>21.6b0</h2> <h2><em>Black</em></h2> <ul> <li>Fix failure caused by <code>fmt: skip</code> and indentation (<a href="https://github-redirect.dependabot.com/psf/black/issues/2281">#2281</a>)</li> <li>Account for += assignment when deciding whether to split string (<a href="https://github-redirect.dependabot.com/psf/black/issues/2312">#2312</a>)</li> <li>Correct max string length calculation when there are string operators (<a href="https://github-redirect.dependabot.com/psf/black/issues/2292">#2292</a>)</li> <li>Fixed option usage when using the <code>--code</code> flag (<a href="https://github-redirect.dependabot.com/psf/black/issues/2259">#2259</a>)</li> <li>Do not call <code>uvloop.install()</code> when <em>Black</em> is used as a library (<a href="https://github-redirect.dependabot.com/psf/black/issues/2303">#2303</a>)</li> <li>Added <code>--required-version</code> option to require a specific version to be running (<a href="https://github-redirect.dependabot.com/psf/black/issues/2300">#2300</a>)</li> <li>Fix incorrect custom breakpoint indices when string group contains fake f-strings (<a href="https://github-redirect.dependabot.com/psf/black/issues/2311">#2311</a>)</li> <li>Fix regression where <code>R</code> prefixes would be lowercased for docstrings (<a href="https://github-redirect.dependabot.com/psf/black/issues/2285">#2285</a>)</li> <li>Fix handling of named escapes (<code>\N{...}</code>) when <code>--experimental-string-processing</code> is used (<a href="https://github-redirect.dependabot.com/psf/black/issues/2319">#2319</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/psf/black/blob/main/CHANGES.md">black's changelog</a>.</em></p> <blockquote> <h2>21.6b0</h2> <h3><em>Black</em></h3> <ul> <li>Fix failu… | 2021-06-11T13:07:39Z | 2021-06-13T15:33:23Z | 2021-06-13T15:33:22Z | 2021-06-13T15:33:22Z | e7975657656ce02717f03703bb8ec17f2fe9b717 | 0 | 0ef0dd5874ed39527ab12098a6c3da7ff8115c54 | cd7678fde65319d7b6955ce9f4678ba4b9e64b66 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1374 | ||||
655726387 | MDExOlB1bGxSZXF1ZXN0NjU1NzI2Mzg3 | 1347 | closed | 0 | Test docker platform blair only | blairdrummond 10801138 | 2021-05-28T02:47:09Z | 2021-05-28T02:47:28Z | 2021-05-28T02:47:28Z | e755dd8c8cf7149046a8b5fd44aec07c4b2416d3 | 0 | f730725fd260ba6578c472c344269d5d5df4e650 | 7b106e106000713bbee31b34d694b3dadbd4818c | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1347 | ||||||
811088967 | PR_kwDOBm6k_c4wWDxH | 1582 | closed | 0 | don't set far expiry if hash is '000' | fgregg 536941 | This will close #1581. I couldn't find any unit tests related to the testing hashed urls, and I know that you want to break that code out of the core application (#1561), so I'm not quite sure what you would like me to for testing. | 2021-12-28T18:16:13Z | 2022-03-24T04:07:58Z | 2022-03-24T04:07:58Z | e7249b52558b4ddcd92e68a13bd02fb54a2b92f8 | 0 | 216f3b32b88d85b33e45937ed89ac919d82c23b4 | 8c401ee0f054de2f568c3a8302c9223555146407 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1582 | |||||
587332473 | MDExOlB1bGxSZXF1ZXN0NTg3MzMyNDcz | 1252 | closed | 0 | Add back styling to lists within table cells (fixes #1141) | bobwhitelock 7476523 | This overrides the Datasette reset - see https://github.com/simonw/datasette/blob/d0fd833b8cdd97e1b91d0f97a69b494895d82bee/datasette/static/app.css#L35-L38 - to add back the default styling of list items displayed within Datasette table cells. Following this change, the same content as in the original issue looks like this: ![2021-03-09_02:57:32](https://user-images.githubusercontent.com/7476523/110411982-63e5ae80-8083-11eb-9b5c-e5dc825073e2.png) | 2021-03-09T03:00:57Z | 2021-03-29T00:14:04Z | 2021-03-29T00:14:04Z | 2021-03-29T00:14:04Z | e72397d65b06b019521b6411243687464ac8d8ca | 0 | d22aa32cd9c0f798bcab917cc2024a371b4c0069 | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1252 | ||||
347179081 | MDExOlB1bGxSZXF1ZXN0MzQ3MTc5MDgx | 644 | closed | 0 | Validate metadata json on startup | chris48s 6025893 | This PR adds a sanity check which builds up a marshmallow schema on-the-fly based on the structure of the database(s) on startup and then validates the metadata json against it. In case of invalid data, this will raise with a descriptive error e.g: ``` marshmallow.exceptions.ValidationError: {'databases': {'fixtures': {'tables': {'not_a_table': ['Unknown field.']}}}} ``` Closes #260 --- This was intended to be fairly self-contained, but then while I was working on it, I hit some problems getting the tests to pass in the context of the test suite as a whole. My tests passed in isolation, but then failed while doing a full test suite run. That's when the worms started coming out of the can :bug: After some sleuthing, it turned out this was essentially the result of several issues intersecting: * There are certain events in the application lifecycle where the metadata schema can be modified after it is loaded e.g: https://github.com/simonw/datasette/blob/a562f2965552fb2dbbbd74df245c9965ee23d886/datasette/app.py#L299-L320 This means that sometimes what goes in isn't always exactly what comes out when you call `/-/metadata`. * Because the test fixtures use session scope for performance reasons if one unit test performs an action which mutates the metadata, that can impact on other unit tests which run after it using the same fixture. * Because the `self._metadata` property was being set with a simple assignment `self._metadata = metadata`, that created an object reference to the test fixture data, so operating on `self._metadata` was actually modifying the test fixture `METADATA` meaning that depending on when it was loaded in the test suite lifecycle, `METADATA` had different content, which was somewhat unexpected. As such, I've added some band-aids in 3552024 and 6859fd8: * Switching the metadata object to a `deepcopy` of the input prevents us directly mutating the input fixture. * I've switched some of the tests to use a fixture with function scope instead of session scope so we're workin… | 2019-11-30T00:32:15Z | 2021-07-28T17:58:45Z | 2021-07-28T17:58:45Z | e71b642474d54f986bc8857346103d8a10d84e6d | 0 | 6859fd8c5eef26f397aa949dc4edf3747e8ab0a5 | a562f2965552fb2dbbbd74df245c9965ee23d886 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/644 | |||||
369394043 | MDExOlB1bGxSZXF1ZXN0MzY5Mzk0MDQz | 80 | closed | 0 | on_create mechanism for after table creation | simonw 9599 | I need this for `geojson-to-sqlite`, in particular https://github.com/simonw/geojson-to-sqlite/issues/6 | 2020-01-31T03:38:48Z | 2020-01-31T05:08:04Z | 2020-01-31T05:08:04Z | e6dc95d19348e72b28b42e73a18737cb2e4563e0 | 0 | 45bf0c25492c276bde0b85868ffb55f169375bd7 | f7289174e66ae4d91d57de94bbd9d09fabf7aff4 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/80 | |||||
475874493 | MDExOlB1bGxSZXF1ZXN0NDc1ODc0NDkz | 146 | closed | 0 | Handle case where subsequent records (after first batch) include extra columns | simonwiles 96218 | Addresses #145. I think this should do the job. If it meets with your approval I'll update this PR to include an update to the documentation -- I came across this bug while preparing a PR to update the documentation around `batch_size` in any event. | 2020-08-30T07:13:58Z | 2020-09-08T23:20:37Z | 2020-09-08T23:20:37Z | 2020-09-08T23:20:36Z | e6d202b742a7b531fffa593703d34f8337632d68 | 0 | 40fcea41525682fdc2f601da787b29d5a8517dcd | deb2eb013ff85bbc828ebc244a9654f0d9c3139e | CONTRIBUTOR | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/146 | ||||
1325515181 | PR_kwDOBm6k_c5PAcGt | 2063 | closed | 0 | Bump sphinx from 6.1.3 to 6.2.0 | dependabot[bot] 49699333 | 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 … | 2023-04-24T13:58:21Z | 2023-04-25T13:57:55Z | 2023-04-25T13:57:53Z | e621c970bc64b2c90b801a9fc1e300b9452f6a5f | 0 | 9838c5839d591332dc9a8ffd6255918e0ac78f05 | 5890a20c374fb0812d88c9b0ef26a838bfa06c76 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2063 | |||||
255658112 | MDExOlB1bGxSZXF1ZXN0MjU1NjU4MTEy | 12 | closed | 0 | Support for numpy types, closes #11 | simonw 9599 | 2019-02-24T03:57:32Z | 2019-02-24T04:02:20Z | 2019-02-24T04:02:20Z | 2019-02-24T04:02:20Z | e615d22c5564ea1f32abb086088b2700110be10a | 0 | 7c20e60685088d6da0739749305215790ca8375a | c5068a0972651b3e359ebc2d6c1486b8b7d2c242 | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/12 | |||||
511005542 | MDExOlB1bGxSZXF1ZXN0NTExMDA1NTQy | 1056 | closed | 0 | Radical new colour scheme and base styles, courtesy of @natbat | simonw 9599 | 2020-10-27T19:31:48Z | 2020-10-27T19:39:57Z | 2020-10-27T19:39:56Z | 2020-10-27T19:39:56Z | e5f5034bcdc71e4bc62a6a155ca60eb41910c335 | 0.51 6026070 | 0 | a7b2aabd5148c0ee382b583de68a4f0538f7dfb1 | 26bb4a268127da2c38f4241abe45444b2a6f7874 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1056 | ||||
1102353255 | PR_kwDOBm6k_c5BtJNn | 1870 | open | 0 | don't use immutable=1, only mode=ro | fgregg 536941 | Opening db files in immutable mode sometimes leads to the file being mutated, which causes duplication in the docker image layers: see #1836, #1480 That this happens in "immutable" mode is surprising, because the sqlite docs say that setting this should open the database as read only. https://www.sqlite.org/c3ref/open.html > immutable: The immutable parameter is a boolean query parameter that indicates that the database file is stored on read-only media. When immutable is set, SQLite assumes that the database file cannot be changed, even by a process with higher privilege, and so the database is opened read-only and all locking and change detection is disabled. Caution: Setting the immutable property on a database file that does in fact change can result in incorrect query results and/or [SQLITE_CORRUPT](https://www.sqlite.org/rescode.html#corrupt) errors. See also: [SQLITE_IOCAP_IMMUTABLE](https://www.sqlite.org/c3ref/c_iocap_atomic.html). Perhaps this is a bug in sqlite? <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1870.org.readthedocs.build/en/1870/ <!-- readthedocs-preview datasette end --> | 2022-10-27T23:33:04Z | 2022-10-29T00:53:43Z | e5a41217c8ef86bcd73042d909864ae5660c6ff0 | 0 | 4faa4fd3b3e7f5eae758b713d0a121b960e2e261 | bf00b0b59b6692bdec597ac9db4e0b497c5a47b4 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1870 | ||||||
1355563020 | PR_kwDOBm6k_c5QzEAM | 2076 | open | 0 | Datsette gpt plugin | StudioCordillera 130708713 | <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2076.org.readthedocs.build/en/2076/ <!-- readthedocs-preview datasette end --> | 2023-05-18T11:22:30Z | 2023-05-18T11:22:45Z | e561698980618a8d82a9430ab2c47753f8049c2f | 0 | 093693edd2a177a38cbc5570aaef769e5cbffac1 | 49184c569cd70efbda4f3f062afef3a34401d8d5 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2076 | ||||||
1143946542 | PR_kwDOBm6k_c5ELz0u | 1930 | closed | 0 | Typo in JSON API `Updating a row` documentation | davidbgk 3556 | <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1930.org.readthedocs.build/en/1930/ <!-- readthedocs-preview datasette end --> | 2022-12-03T02:22:31Z | 2022-12-08T21:12:35Z | 2022-12-08T21:12:35Z | 2022-12-08T21:12:35Z | e539c1c024bc62d88df91d9107cbe37e7f0fe55f | 0 | 9928ff17b47443f6b51e570ae6116fd472756096 | cab5b60e09e94aca820dbec5308446a88c99ea3d | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1930 | ||||
410469272 | MDExOlB1bGxSZXF1ZXN0NDEwNDY5Mjcy | 746 | closed | 0 | shutil.Error, not OSError | simonw 9599 | Refs #744 | 2020-04-29T03:30:51Z | 2020-04-29T07:07:24Z | 2020-04-29T07:07:23Z | e4e8b51b50e51b2515c6d8874d16c4607f79b80a | 0 | af3a5b91503f5d74aa111bbcd1ee531ee00f9ed7 | 89c4ddd4828623888e91a1d2cb396cba12d4e7b4 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/746 | |||||
152870030 | MDExOlB1bGxSZXF1ZXN0MTUyODcwMDMw | 104 | closed | 0 | [WIP] Add publish to heroku support | jacobian 21148 | Refs #90 | 2017-11-15T19:56:22Z | 2017-11-21T20:55:05Z | 2017-11-21T20:55:05Z | 2017-11-21T20:55:05Z | e47117ce1d15f11246a3120aa49de70205713d05 | 0 | de42240afd1e3829fd21cbe77a89ab0eaab20d78 | 0331666e346c68b86de4aa19fbb37f3a408d37ca | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/104 | ||||
500798091 | MDExOlB1bGxSZXF1ZXN0NTAwNzk4MDkx | 1008 | open | 0 | Add json_loads and json_dumps jinja2 filters | mhalle 649467 | 2020-10-09T20:11:34Z | 2020-12-15T02:30:28Z | e33e91ca7c9b2fdeab9d8179ce0d603918b066aa | 0 | 40858989d47043743d6b1c9108528bec6a317e43 | 1bdbc8aa7f4fd7a768d456146e44da86cb1b36d1 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1008 | |||||||
406067019 | MDExOlB1bGxSZXF1ZXN0NDA2MDY3MDE5 | 728 | closed | 0 | Update mergedeep requirement from ~=1.1.1 to >=1.1.1,<1.4.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [mergedeep](https://github.com/clarketm/mergedeep) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/clarketm/mergedeep/commit/3d6e7b4c9c25b64eba0834da6f54c8dd309767ea"><code>3d6e7b4</code></a> v1.3.0 - support additive merging of <code>Counter</code> types</li> <li><a href="https://github.com/clarketm/mergedeep/commit/56a258a0b58366aa205322476db1b3f84aac65d9"><code>56a258a</code></a> v1.2.1 - tidy docs and variable names</li> <li><a href="https://github.com/clarketm/mergedeep/commit/61ab21382ba20d7973a848c942eb36bd33bc7cd0"><code>61ab213</code></a> v1.2.0 - support both TYPESAFE_REPLACE and TYPESAFE_ADDITIVE merge strategies...</li> <li><a href="https://github.com/clarketm/mergedeep/commit/b331bb5f1580d8290dcf5c6e7690fd3b9708b5cd"><code>b331bb5</code></a> cleanup Makefile</li> <li><a href="https://github.com/clarketm/mergedeep/commit/6f577bf29750c073f6764ffbea29ab6d6759a8d3"><code>6f577bf</code></a> officially label support for python3.8</li> <li><a href="https://github.com/clarketm/mergedeep/commit/84faf37d2da81d4356a4ade4c015fc3964262585"><code>84faf37</code></a> use pipenv for managing dev dependencies</li> <li><a href="https://github.com/clarketm/mergedeep/commit/3a8761a736c8cb7a324bd9e6f4d50a58898a3ba9"><code>3a8761a</code></a> Update README.md</li> <li>See full diff in <a href="https://github.com/clarketm/mergedeep/compare/v1.1.1...v1.3.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge th… | 2020-04-20T13:33:23Z | 2020-05-04T16:45:58Z | 2020-05-04T16:45:49Z | 2020-05-04T16:45:49Z | e232f77055880b38cc0b738607cd50cde9188eaf | 0 | b584fbc4215d92df08360937916ffe128f11f72e | 985e59493e44d6fcebf7a30f693f4edecee3e90d | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/728 | ||||
206863803 | MDExOlB1bGxSZXF1ZXN0MjA2ODYzODAz | 358 | closed | 0 | Bump versions of pytest, pluggy and beautifulsoup4 | simonw 9599 | 2018-08-08T00:44:38Z | 2018-08-08T01:11:13Z | 2018-08-08T01:11:13Z | 2018-08-08T01:11:13Z | e1db8194e8c1d7f361fd0c1c3fc1b91d6aa920e5 | 0 | 848ed0e0420d2e8c95a96b4cf73082da4c65d8f6 | fe5b6ea95a973534fe8a44907c0ea2449aae7602 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/358 | |||||
1299206303 | PR_kwDOBm6k_c5NcFCf | 2052 | open | 0 | feat: Javascript Plugin API (Custom panels, column menu items with JS actions) | hydrosquall 9020979 | ## 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 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 adding new functionality that coordinates with Datasette lifecycle events. - Provide a `manager.s… | 2023-04-02T20:23:44Z | 2023-07-12T16:38:28Z | e1db219299cf7a7608e827273b2bed466da6b5c0 | asg017 15178711 | 0 | cf5a9df3f5b3083f35e5e43b8025b72370497235 | 0f7192b6154edb576c41b55bd3f2a3f53e5f436a | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2052 | |||||
466410755 | MDExOlB1bGxSZXF1ZXN0NDY2NDEwNzU1 | 927 | closed | 0 | 'datasette --get' option, refs #926 | simonw 9599 | Refs #926, #898 | 2020-08-11T23:31:52Z | 2020-08-12T00:24:42Z | 2020-08-12T00:24:41Z | 2020-08-12T00:24:41Z | e139a7619f63d45ca2ff1ee108b933e17b5675b3 | 0 | 2111da01a03cfc62303b6a4b59ea9f96d22c0f78 | 83eda049af3f38d4289118d3576f96b2535084b1 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/927 | ||||
733665129 | PR_kwDOBm6k_c4rutdp | 1471 | closed | 0 | Bump black from 21.7b0 to 21.9b0 | dependabot[bot] 49699333 | Bumps [black](https://github.com/psf/black) from 21.7b0 to 21.9b0. <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>21.9b0</h2> <h3>Packaging</h3> <ul> <li>Fix missing modules in self-contained binaries (<a href="https://github-redirect.dependabot.com/psf/black/issues/2466">#2466</a>)</li> <li>Fix missing toml extra used during installation (<a href="https://github-redirect.dependabot.com/psf/black/issues/2475">#2475</a>)</li> </ul> <h2>21.8b0</h2> <h3><em>Black</em></h3> <ul> <li>Add support for formatting Jupyter Notebook files (<a href="https://github-redirect.dependabot.com/psf/black/issues/2357">#2357</a>)</li> <li>Move from <code>appdirs</code> dependency to <code>platformdirs</code> (<a href="https://github-redirect.dependabot.com/psf/black/issues/2375">#2375</a>)</li> <li>Present a more user-friendly error if .gitignore is invalid (<a href="https://github-redirect.dependabot.com/psf/black/issues/2414">#2414</a>)</li> <li>The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (<a href="https://github-redirect.dependabot.com/psf/black/issues/2437">#2437</a>)</li> <li>Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (<a href="https://github-redirect.dependabot.com/psf/black/issues/2384">#2384</a>)</li> <li>Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (<a href="https://github-redirect.dependabot.com/psf/black/issues/2447">#2447</a>).</li> <li>Pin <code>setuptools-scm</code> build-time dependency version (<a href="https://github-redirect.dependabot.com/psf/black/issues/2457">#2457</a>)</li> <li>Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (<a href="https://github-redirect.dependabot.com/psf/black/issues/2460">#2460</a>)</li> </ul> <h3><em>Blackd</em></h3> <ul> <li>Replace s… | 2021-09-14T13:10:35Z | 2021-10-13T21:47:42Z | 2021-10-13T21:47:42Z | 2021-10-13T21:47:42Z | e1012e7098056734d9c90f081493991009253390 | 0 | 847238abf194f195a4fca896cd98f6ff332b1c18 | a673a93b57e249f06b2d0265ce33f458258feeb0 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1471 | ||||
1182000455 | PR_kwDOC8tyDs5Gc-VH | 23 | open | 0 | Include workout statistics | badboy 2129 | Not sure when this changed (iOS 16 maybe?), but the `WorkoutStatistics` now has a whole bunch of information about workouts, e.g. for runs it contains the distance (as a `<WorkoutStatistics type="HKQuantityTypeIdentifierDistanceWalkingRunning ...>` element). Adding it as another column at leat allows me to pull these out (using SQLite's JSON support). I'm running with this patch on my own data now. | 2023-01-01T17:29:56Z | 2023-01-01T17:29:57Z | e0ad45055f363810085119f26df87a6804451056 | 0 | d5b9e3609961515cc52bcc5ef070e3b83b473339 | 9fe3cb17e03d6c73222b63e643638cf951567c4c | FIRST_TIME_CONTRIBUTOR | healthkit-to-sqlite 197882382 | https://github.com/dogsheep/healthkit-to-sqlite/pull/23 | ||||||
1169793638 | PR_kwDOBm6k_c5FuaJm | 1965 | closed | 0 | Detect server start/stop more reliably. | janl 11321 | 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 --> | 2022-12-18T10:03:42Z | 2022-12-20T19:08:26Z | 2022-12-18T16:01:51Z | 2022-12-18T16:01:51Z | e03aed00026cc2e59c09ca41f69a247e1a85cc89 | 0 | 6a58fc71d481d27ef28a75b026b47713ca88eeec | a21c00b54dd6e0ecb17c60024fb1b55729c5d21e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1965 | ||||
872509423 | PR_kwDOBm6k_c40AW_v | 1649 | closed | 0 | Add /opt/homebrew to where spatialite extension can be found | danp 2182 | Helps homebrew on Apple Silicon setups find spatialite without needing a full path. Similar to #1114 | 2022-03-06T18:09:35Z | 2022-03-06T22:46:00Z | 2022-03-06T19:39:15Z | 2022-03-06T19:39:15Z | de810f49cc57a4f88e4a1553d26c579253ce4531 | 0 | 59b2c16e3db10390b134673bda20045c351bdef8 | 0499f174c063283aa9b589d475a32077aaf7adc5 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1649 | ||||
1365439700 | PR_kwDOBm6k_c5RYvTU | 2080 | closed | 0 | New View base class | simonw 9599 | 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 --> | 2023-05-25T23:22:55Z | 2023-05-26T00:18:45Z | 2023-05-26T00:18:44Z | 2023-05-26T00:18:44Z | dda99fc09fb0b5523948f6d481c6c051c1c7b5de | 0 | e990fbc00ef36c022986432e7706b3ad1c9c68a1 | b49fa446d683ddcaf6faf2944dacc0d866bf2d70 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2080 | ||||
399166433 | MDExOlB1bGxSZXF1ZXN0Mzk5MTY2NDMz | 719 | closed | 0 | asgi: check raw_path is not None | cldellow 193185 | The ASGI spec (https://asgi.readthedocs.io/en/latest/specs/www.html#http) seems to imply that `None` is a valid value, so we need to check the value itself, not just whether the key is present. In particular, the [mangum](https://github.com/erm/mangum) adapter passes `None` for this key's value. This change permits mangum to be used to front datasette in Amazon API Gateway + AWS Lambda deployments. | 2020-04-05T16:53:58Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | dbd2d70b3819a7041bb36a527033d77c85683c05 | 0 | 161f61d73800a605354b4ac44a3c989e19bbc77a | e0e7a0facfc935a835cd73c720bc46661462f0b1 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/719 | ||||
204029142 | MDExOlB1bGxSZXF1ZXN0MjA0MDI5MTQy | 349 | closed | 0 | publish_subcommand hook + default plugins mechanism, used for publish heroku/now | simonw 9599 | This change introduces a new plugin hook, publish_subcommand, which can be used to implement new subcommands for the "datasette publish" command family. I've used this new hook to refactor out the "publish now" and "publish heroku" implementations into separate modules. I've also added unit tests for these two publishers, mocking the subprocess.call and subprocess.check_output functions. As part of this, I introduced a mechanism for loading default plugins. These are defined in the new "default_plugins" list inside datasette/app.py Closes #217 (Plugin support for "datasette publish") Closes #348 (Unit tests for "datasette publish") Refs #14, #59, #102, #103, #146, #236, #347 | 2018-07-26T05:03:22Z | 2018-07-26T05:28:54Z | 2018-07-26T05:16:00Z | 2018-07-26T05:16:00Z | dbbe707841973b50a76d2703003ae2c40e7ad1fd | 0 | 7abdfd55daa9c617da02fd768b8e7476e89f0f94 | 3ac21c749881d0fb1c35b0f9b7a819e29f61c5c1 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/349 | ||||
959140599 | PR_kwDODFdgUs45K1L3 | 73 | closed | 0 | Fixing 'NoneType' object has no attribute 'items' | empjustine 1224205 | Under some conditions, GitHub caches removed starred repositories and ends up leaving dangling `None` user references. Traceback (most recent call last): File "/home/dogsheep/dogsheep/github-to-sqlite/bin/github-to-sqlite", line 8, in <module> sys.exit(cli()) File "/home/dogsheep/dogsheep/github-to-sqlite/lib64/python3.10/site-packages/click/core.py", line 1130, in __call__ return self.main(*args, **kwargs) File "/home/dogsheep/dogsheep/github-to-sqlite/lib64/python3.10/site-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/home/dogsheep/dogsheep/github-to-sqlite/lib64/python3.10/site-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/dogsheep/dogsheep/github-to-sqlite/lib64/python3.10/site-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/dogsheep/dogsheep/github-to-sqlite/lib64/python3.10/site-packages/click/core.py", line 760, in invoke return __callback(*args, **kwargs) File "/home/dogsheep/dogsheep/github-to-sqlite/lib64/python3.10/site-packages/github_to_sqlite/cli.py", line 181, in starred utils.save_stars(db, user, stars) File "/home/dogsheep/dogsheep/github-to-sqlite/lib64/python3.10/site-packages/github_to_sqlite/utils.py", line 494, in save_stars repo_id = save_repo(db, repo) File "/home/dogsheep/dogsheep/github-to-sqlite/lib64/python3.10/site-packages/github_to_sqlite/utils.py", line 308, in save_repo to_save["owner"] = save_user(db, to_save["owner"]) File "/home/dogsheep/dogsheep/github-to-sqlite/lib64/python3.10/site-packages/github_to_sqlite/utils.py", line 229, in save_user for key, value in user.items() AttributeError: 'NoneType' object has no attribute 'items' | 2022-06-06T13:58:11Z | 2022-07-18T19:40:12Z | 2022-07-18T19:40:12Z | 2022-07-18T19:40:12Z | dbac2e5dd8a562b45d8255a265859cf8020ca22a | 0 | d7c06886f3bb95085a3af3b2a21547e41556cc6e | a6e237f75a4b86963d91dcb5c9582e3a1b3349d6 | CONTRIBUTOR | github-to-sqlite 207052882 | https://github.com/dogsheep/github-to-sqlite/pull/73 | ||||
545264436 | MDExOlB1bGxSZXF1ZXN0NTQ1MjY0NDM2 | 1159 | open | 0 | Improve the display of facets information | lovasoa 552629 | This PR changes the display of facets to hopefully make them more readable. Before | After ---|--- ![image](https://user-images.githubusercontent.com/552629/103084609-b1ec2980-45df-11eb-85bc-68ab8df3e8d9.png) | ![image](https://user-images.githubusercontent.com/552629/103085220-620e6200-45e1-11eb-8189-5dd5d3e2569e.png) | 2020-12-24T11:01:47Z | 2023-01-22T20:58:11Z | db2a9666feffd2b84b110d239ccad1d52440727e | 0 | c820abd0bcb34d1ea5a03be64a2158ae7c42920c | a882d679626438ba0d809944f06f239bcba8ee96 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1159 | ||||||
335980246 | MDExOlB1bGxSZXF1ZXN0MzM1OTgwMjQ2 | 8 | closed | 0 | stargazers command, refs #4 | simonw 9599 | Needs tests. Refs #4. | 2019-11-03T00:37:36Z | 2020-05-02T20:00:27Z | 2020-05-02T20:00:26Z | db25bdf8cee4c3e2d730cf269eb9a903b51cdb41 | 0 | ea07274667a08c67907e8bfbbccb6f0fb95ce817 | ae9035f8fe5aff1c54bff4c6b4c2e808a44f0f2a | MEMBER | github-to-sqlite 207052882 | https://github.com/dogsheep/github-to-sqlite/pull/8 | |||||
1308472112 | PR_kwDOBm6k_c5N_bMw | 2056 | open | 0 | GitHub Action to lint Python code with ruff | cclauss 3709715 | [Ruff](https://beta.ruff.rs/) supports [over 500 lint rules](https://beta.ruff.rs/docs/rules) and can be used to replace [Flake8](https://pypi.org/project/flake8/) (plus dozens of plugins), [isort](https://pypi.org/project/isort/), [pydocstyle](https://pypi.org/project/pydocstyle/), [yesqa](https://github.com/asottile/yesqa), [eradicate](https://pypi.org/project/eradicate/), [pyupgrade](https://pypi.org/project/pyupgrade/), and [autoflake](https://pypi.org/project/autoflake/), all while executing (in Rust) tens or hundreds of times faster than any individual tool. The ruff Action uses minimal steps to run in ~5 seconds, rapidly providing intuitive GitHub Annotations to contributors. ![image](https://user-images.githubusercontent.com/3709715/223758136-afc386d2-70aa-4eff-953a-2c2d82ceea23.png) <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2056.org.readthedocs.build/en/2056/ <!-- readthedocs-preview datasette end --> | 2023-04-11T06:41:27Z | 2023-04-15T14:24:46Z | dad6ef94091e032c7621ac6322f801ecf5292774 | 0 | f53b78029321cd9bd5661accb5bd043d62e35a85 | 5890a20c374fb0812d88c9b0ef26a838bfa06c76 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2056 | ||||||
530125695 | MDExOlB1bGxSZXF1ZXN0NTMwMTI1Njk1 | 1122 | closed | 0 | Fix misaligned table actions cog | abdusco 3243482 | Fixes https://github.com/simonw/datasette/issues/1121 | 2020-12-01T08:41:46Z | 2020-12-03T10:56:40Z | 2020-12-03T00:33:37Z | 2020-12-03T00:33:36Z | daae35be46ec5cb8a207aa20986a4fa62e94777e | 0 | 94ea22f7b6b6c55b490c97b385f6eb6c1ea2121c | a970276b9999687b96c5e11ea1c817d814f5d267 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1122 | ||||
424085264 | MDExOlB1bGxSZXF1ZXN0NDI0MDg1MjY0 | 772 | closed | 0 | Test that plugin hooks are unit tested | simonw 9599 | Refs #771 | 2020-05-27T20:01:32Z | 2020-05-27T20:21:56Z | 2020-05-27T20:16:03Z | 2020-05-27T20:16:02Z | da87e963bff24e47878a5bc2025c8bfc63d4bc93 | Datasette 0.43 5471110 | 0 | 173b6947521f1c1b47a119f62f379bf4278c87c9 | 41a0cd7b6afe0397efbbf27ad822679fc574811a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/772 | |||
1212277427 | PR_kwDOBm6k_c5IQeKz | 1999 | closed | 0 | ?_extra= support (draft) | simonw 9599 | Refs: - #262 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1999.org.readthedocs.build/en/1999/ <!-- readthedocs-preview datasette end --> | 2023-01-21T04:55:18Z | 2023-03-22T22:49:41Z | 2023-03-22T22:49:40Z | 2023-03-22T22:49:40Z | d97e82df3c8a3f2e97038d7080167be9bb74a68d | 0 | 69a31cd5b61f0b62938efdeec5972090f1a1a508 | 56b0758a5fbf85d01ff80a40c9b028469d7bb65f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1999 | ||||
339742432 | MDExOlB1bGxSZXF1ZXN0MzM5NzQyNDMy | 630 | closed | 0 | Use python:3.8 base Docker image | simonw 9599 | Closes #629 | 2019-11-12T06:02:37Z | 2019-11-12T06:03:10Z | 2019-11-12T06:03:10Z | 2019-11-12T06:03:10Z | d977fbadf70a96bf2eea1407d01f99d98e092dec | 0 | 53180ec09483bd4eef00346a39b302aeb3039e7d | f554be39fc14ddc18921ca29d3920d55aad03d46 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/630 | ||||
280205502 | MDExOlB1bGxSZXF1ZXN0MjgwMjA1NTAy | 480 | closed | 0 | Split pypi and docker travis tasks | glasnt 813732 | Resolves #478 This *should* work, but because this is a change that'll only really be testable on a) this repo, b) master branch, this might fail fast if I didn't get the configurations right. Looking at #478 it should just be as simple as splitting out the docker and pypi processes into separate jobs, but it might end up being more complicated than that, depending on what pre-processes the pypi deployment needs, and how travisci treats deployment steps without scripts in general. | 2019-05-19T23:14:37Z | 2019-07-07T20:03:20Z | 2019-07-07T20:03:20Z | 2019-07-07T20:03:20Z | d95048031edb02bbc9892879507f55a4f29c5459 | Datasette 0.29 4471010 | 0 | 8b667898b6c2dd57fa68310c6d3c62d77b68f321 | 4246e138f9512686413e97878659ef953337e57b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/480 | |||
1358321208 | PR_kwDOCGYnMM5Q9lY4 | 553 | closed | 0 | Reformatted CLI examples in docs | simonw 9599 | 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 --> | 2023-05-21T20:44:34Z | 2023-05-21T20:57:27Z | 2023-05-21T20:57:23Z | 2023-05-21T20:57:22Z | d8fe1b0d899faaaa3d4714a39328f4c24932278f | 0 | 21036a5084a2c846a05feb6bced3111d849bbe3c | e240133b11588d31dc22c632f7a7ca636c72978d | OWNER | sqlite-utils 140912432 | https://github.com/simonw/sqlite-utils/pull/553 | ||||
214653641 | MDExOlB1bGxSZXF1ZXN0MjE0NjUzNjQx | 364 | open | 0 | Support for other types of databases using external connectors | jsancho-gpl 11912854 | This PR is related to #293, but now all commits have been merged. The purpose is to support other file formats that aren't SQLite, like files with PyTables format. I've tried to accomplish that using external connectors published with entry points. The modifications in the original datasette code are minimal and many are in a separated file. | 2018-09-11T14:31:47Z | 2018-09-11T14:31:47Z | d84f3b1f585cb52b58aed0401c34214de2e8b47b | 0 | 592fd05f685859b271f0305c2fc8cdb7da58ebfb | b7257a21bf3dfa7353980f343c83a616da44daa7 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/364 | ||||||
716262829 | MDExOlB1bGxSZXF1ZXN0NzE2MjYyODI5 | 1444 | closed | 0 | Ability to deploy demos of branches | simonw 9599 | See #1442. | 2021-08-19T21:08:04Z | 2021-08-19T21:09:44Z | 2021-08-19T21:09:39Z | 2021-08-19T21:09:39Z | d84e574e59c51ddcd6cf60a6f9b3d45182daf824 | 0 | 75f9fe6d6bc642ce5587dd74eed70064c11868be | adb5b70de5cec3c3dd37184defe606a082c232cf | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1444 | ||||
687304242 | MDExOlB1bGxSZXF1ZXN0Njg3MzA0MjQy | 1393 | closed | 0 | Update deploying.rst | aslakr 80737 | Example on how to use Unix domain socket option on Apache. Not testet. (Usually I would have used [`ProxyPassReverse`](https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassreverse) in combination with `ProxyPass` , i.e. ```apache ProxyPass /my-datasette/ http://127.0.0.1:8009/my-datasette/ ProxyPassReverse /my-datasette/ http://127.0.0.1:8009/my-datasette/ ``` and ```apache ProxyPass /my-datasette/ unix:/tmp/datasette.sock|http://localhost/my-datasette/ ProxyPassReverse /my-datasette/ unix:/tmp/datasette.sock|http://localhost/my-datasette/ ``` ) | 2021-07-11T09:32:16Z | 2021-07-13T18:32:49Z | 2021-07-13T18:32:49Z | 2021-07-13T18:32:49Z | d71cac498138ddd86f18607b9043e70286ea884a | 0 | 1bbb577e9e10e0225ab885d72defcbf6517cc096 | f83c84fd51d144036924ae77d99f12b0a69e7e6f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1393 | ||||
1350861558 | PR_kwDOBm6k_c5QhIL2 | 2075 | open | 0 | Bump sphinx from 6.1.3 to 7.0.1 | dependabot[bot] 49699333 | 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 … | 2023-05-15T13:59:31Z | 2023-06-29T14:31:59Z | d5ae0ab826ca78f98ddea077f42bdfd1f3964114 | 0 | b99e1d3ee0308bce1df837f9e231d25cc44f8789 | 49184c569cd70efbda4f3f062afef3a34401d8d5 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2075 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [pull_requests] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [state] TEXT, [locked] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [body] TEXT, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [merged_at] TEXT, [merge_commit_sha] TEXT, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [draft] INTEGER, [head] TEXT, [base] TEXT, [author_association] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [url] TEXT, [merged_by] INTEGER REFERENCES [users]([id]) , [auto_merge] TEXT); CREATE INDEX [idx_pull_requests_merged_by] ON [pull_requests] ([merged_by]); CREATE INDEX [idx_pull_requests_repo] ON [pull_requests] ([repo]); CREATE INDEX [idx_pull_requests_milestone] ON [pull_requests] ([milestone]); CREATE INDEX [idx_pull_requests_assignee] ON [pull_requests] ([assignee]); CREATE INDEX [idx_pull_requests_user] ON [pull_requests] ([user]);