pull_requests
436 rows where repo = 107914493 sorted by author_association descending
This data as json, CSV (advanced)
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
598213565 | MDExOlB1bGxSZXF1ZXN0NTk4MjEzNTY1 | 1271 | open | 0 | Use SQLite conn.interrupt() instead of sqlite_timelimit() | simonw 9599 | Refs #1270, #1268, #1249 Before merging this I need to do some more testing (to make sure that expensive queries really are properly cancelled). I also need to delete a bunch of code relating to the old mechanism of cancelling queries. [See comment below: this doesn't actually cancel the query due to a thread-local confusion] | 2021-03-22T17:34:20Z | 2021-03-22T21:49:27Z | a4fd7e5a761523881c031b4fee266a366e1c97bd | 1 | fb2ad7ada0b86a7fe4a576fe23236757c41eb05e | c4f1ec7f33fd7d5b93f0f895dafb5351cc3bfc5b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1271 | ||||||
608323028 | MDExOlB1bGxSZXF1ZXN0NjA4MzIzMDI4 | 1290 | closed | 0 | Use pytest-xdist to speed up tests | simonw 9599 | Closes #1289, refs #1212. | 2021-04-03T03:34:36Z | 2021-04-03T03:42:29Z | 2021-04-03T03:42:28Z | 2021-04-03T03:42:28Z | 0a7621f96f8ad14da17e7172e8a7bce24ef78966 | 0 | 2fb1e4284f1f0f6aaba7e889a6713c0f96e802e1 | 59ef4a20cba1533bc347378415f4ffcd025f32c8 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1290 | ||||
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 | ||||
655684477 | MDExOlB1bGxSZXF1ZXN0NjU1Njg0NDc3 | 1346 | closed | 0 | Re-display user's query with an error message if an error occurs | simonw 9599 | Refs #619 | 2021-05-28T02:04:20Z | 2021-06-02T03:46:21Z | 2021-06-02T03:46:21Z | 2021-06-02T03:46:21Z | 9552414e1f968c6fc704031cec349c05e6bc2371 | 0 | 3bffc35ff9137a75024d2a8ef44828a50ec91071 | 7b106e106000713bbee31b34d694b3dadbd4818c | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1346 | ||||
662557240 | MDExOlB1bGxSZXF1ZXN0NjYyNTU3MjQw | 1357 | closed | 0 | Make custom pages compatible with base_url setting | simonw 9599 | Refs #1238. | 2021-06-05T18:54:39Z | 2021-06-05T18:59:54Z | 2021-06-05T18:59:54Z | 2021-06-05T18:59:54Z | a63412152518581c6a3d4e142b937e27dabdbfdb | 0 | 1b27643d7bd192e1d2cc52e36ada0021c3f76bb8 | 6e9b07be92905011211d8df7a872fb7c1f2737b2 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1357 | ||||
691707409 | MDExOlB1bGxSZXF1ZXN0NjkxNzA3NDA5 | 1397 | closed | 0 | Fix for race condition in refresh_schemas(), closes #1231 | simonw 9599 | 2021-07-16T19:44:43Z | 2021-07-16T19:45:00Z | 2021-07-16T19:44:58Z | 2021-07-16T19:44:58Z | c00f29affcafce8314366852ba1a0f5a7dd25690 | 0 | bf2453ab7cb876c91edab3df59b7f398df2f9727 | dd5ee8e66882c94343cd3f71920878c6cfd0da41 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1397 | |||||
702422263 | MDExOlB1bGxSZXF1ZXN0NzAyNDIyMjYz | 1418 | closed | 0 | Spelling corrections plus CI job for codespell | simonw 9599 | Refs #1417. | 2021-08-03T16:21:19Z | 2021-08-03T16:36:39Z | 2021-08-03T16:36:38Z | 2021-08-03T16:36:38Z | 2208c3c68e552d343e6a2872ff6e559fca9d1b38 | 0 | 532170fc606df04986104aacbd67b920c5fa0af9 | 54b6e96ee8aa553b6671e341a1944f93f3fb89c3 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1418 | ||||
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 | ||||
712412883 | MDExOlB1bGxSZXF1ZXN0NzEyNDEyODgz | 1434 | open | 0 | Enrich arbitrary query results with foreign key links and column descriptions | simonw 9599 | Refs #1293, follows #942. | 2021-08-13T14:43:01Z | 2021-08-19T21:18:58Z | d4d4f5566b1d43075cb52ded5d19a9dcf4350761 | 0 | 281c0872d5b8a462c9d7b2b2d77a924da4ed25a7 | 2883098770fc66e50183b2b231edbde20848d4d6 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1434 | ||||||
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 | ||||
753513062 | PR_kwDOBm6k_c4s6bJm | 1481 | closed | 0 | Fix compatibility with Python 3.10 | simonw 9599 | 2021-10-07T20:34:23Z | 2021-10-24T22:19:55Z | 2021-10-24T22:19:54Z | 2021-10-24T22:19:54Z | 96a823f2834a262ae97a90ebfb6847f14763c415 | 0 | 50005bd2d36219c3ae8b6220d38df918459a1812 | 63886178a649586b403966a27a45881709d2b868 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1481 | |||||
758569502 | PR_kwDOBm6k_c4tNtoe | 1490 | closed | 0 | Upgrade to httpx 0.20 | simonw 9599 | Refs #1488 | 2021-10-14T17:51:05Z | 2021-10-14T18:03:45Z | 2021-10-14T18:03:44Z | 2021-10-14T18:03:44Z | b267b5775436577a91a9f9655143908aecff05da | 0 | e0332d1f4788a561492965a09ef83fe122fd3d8c | 2a8c6690399ee832ee62aafdede1794f5945d911 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1490 | ||||
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 | |||||
801798514 | PR_kwDOBm6k_c4vynly | 1554 | closed | 0 | TableView refactor | simonw 9599 | I'm starting a PR with almost nothing in it so I can use the GitHub code commenting feature to add a bunch of comments to the code I intend to refactor. Related issues: - #617 - #715 - #870 - #1518 | 2021-12-13T23:16:04Z | 2021-12-20T23:52:11Z | 2021-12-20T23:52:04Z | a68545f9a4c3b3a68259be5c03abfc9ad7710875 | 0 | 1d08b46412410837f987c606b2307a121fa2641a | a6ff123de5464806441f6a6f95145c9a83b7f20b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1554 | |||||
804924636 | PR_kwDOBm6k_c4v-izc | 1559 | closed | 0 | filters_from_request plugin hook, now used in TableView | simonw 9599 | New plugin hook, refs #473 Used it to extract the logic from TableView that handles _search and _through and _where - refs #1518 | 2021-12-16T23:59:33Z | 2021-12-17T23:09:41Z | 2021-12-17T19:02:15Z | 2021-12-17T19:02:15Z | aa7f0037a46eb76ae6fe9bf2a1f616c58738ecdf | 0 | 71af58d9392d42f45506cbc2370c1e9994126f63 | 0663d5525cc41e9260ac7d1f6386d3a6eb5ad2a9 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1559 | ||||
838724548 | PR_kwDOBm6k_c4x_evE | 1622 | closed | 0 | Test against Python 3.11-dev | simonw 9599 | Refs #1621 | 2022-02-02T21:39:38Z | 2022-02-02T21:58:53Z | 2022-02-02T21:58:53Z | 2022-02-02T21:58:53Z | a9d8824617268c4d214dd3be2174ac452044f737 | 0 | fbaf317ab723482e971688cda72ce51825bcf4d7 | 8d5779acf0041cfd0db7f68f468419f9008b86ec | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1622 | ||||
838755826 | PR_kwDOBm6k_c4x_mXy | 1626 | open | 0 | Try test suite against macOS and Windows | simonw 9599 | Refs #1625 | 2022-02-02T22:26:51Z | 2022-02-03T01:22:44Z | 83958f26a8458a108acb7c3c0a1c8aacb777586a | 0 | 4b4d0e1ff9e2ee998cbd71abd5f5806f25444ed9 | b5e6b1a9e1332fca3effe45d55dd06ee4249f163 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1626 | ||||||
872324754 | PR_kwDOBm6k_c4z_p6S | 1648 | closed | 0 | Use dash encoding for table names and row primary keys in URLs | simonw 9599 | Refs #1439. - [x] Build `dash_encode` / `dash_decode` functions - [x] Use dash encoding for row primary keys - [x] Use dash encoding for `?_next=` pagination tokens - [x] Use dash encoding for table names in URLs - [x] Use dash encoding for database name - ~~Implement redirects from previous `%` URLs that replace those with `-`~~ - separate issue: #1650 | 2022-03-05T19:50:45Z | 2022-03-07T15:38:30Z | 2022-03-07T15:38:30Z | 2022-03-07T15:38:29Z | 1baa030eca375f839f3471237547ab403523e643 | 0 | 32548b88fdb413429d960966decba8f6b3889190 | 5010d1359b9e9db90a5a69a3ca22d12862893e00 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1648 | ||||
880373442 | PR_kwDOBm6k_c40eW7C | 1659 | closed | 0 | Tilde encoding | simonw 9599 | Refs #1657 | 2022-03-15T16:19:07Z | 2022-03-15T18:01:58Z | 2022-03-15T18:01:57Z | 2022-03-15T18:01:57Z | a35393b29cfb5b8abdc6a94e577af1c9a5c13652 | 0 | 99b8263806e81028af169f400352c26e5473ab44 | c10cd48baf106659bf3f129ad7bfb2226be73821 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1659 | ||||
882973374 | PR_kwDOBm6k_c40oRq- | 1664 | closed | 0 | Remove hashed URL mode | simonw 9599 | Refs #1661. | 2022-03-17T23:19:10Z | 2022-03-19T00:12:04Z | 2022-03-19T00:12:04Z | 2022-03-19T00:12:03Z | d4f60c2388c01ddce1b16f95c16d310e037c9912 | 0 | eae91fe8c2934c8674f5202b2d9f85b6f674c410 | 30e5f0e67c38054a8087a2a4eae3fc4d1779af90 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1664 | ||||
925926708 | PR_kwDOBm6k_c43MIU0 | 1736 | closed | 0 | Clean up compatibility with Pyodide | simonw 9599 | Closes #1735, closes #1733 | 2022-05-02T20:14:38Z | 2022-05-02T20:15:28Z | 2022-05-02T20:15:27Z | 2022-05-02T20:15:27Z | 3f00a29141bdea5be747f6d1c93871ccdb792167 | 0 | 784fe6a245a051ef6b42e153d3fae9cce7b0b148 | a29c1277896b6a7905ef5441c42a37bc15f67599 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1736 | ||||
1034576054 | PR_kwDOBm6k_c49qmC2 | 1792 | closed | 0 | Test `--load-extension` in GitHub Actions | simonw 9599 | Refs: - #1789 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1792.org.readthedocs.build/en/1792/ <!-- readthedocs-preview datasette end --> | 2022-08-23T18:43:29Z | 2022-08-24T00:11:46Z | 2022-08-24T00:11:45Z | 2022-08-24T00:11:45Z | ba35105eee2d3ba620e4f230028a02b2e2571df2 | 0 | f61cfb77056e2ee39ae827889c005b1e44c81165 | 456dc155d491a009942ace71a4e1827cddc6b93d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1792 | ||||
1046767034 | PR_kwDOBm6k_c4-ZGW6 | 1801 | closed | 0 | Don't use upper bound dependencies, refs #1800 | simonw 9599 | See https://iscinumpy.dev/post/bound-version-constraints/ <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1801.org.readthedocs.build/en/1801/ <!-- readthedocs-preview datasette end --> | 2022-09-05T18:29:28Z | 2022-09-05T18:35:41Z | 2022-09-05T18:35:41Z | 2022-09-05T18:35:41Z | 51030df1869b3b574dd3584d1563415776b9cd4e | 0 | 3f24edd6b29e7deff37d0e45827133fc5a9e5387 | ba35105eee2d3ba620e4f230028a02b2e2571df2 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1801 | ||||
1046943107 | PR_kwDOBm6k_c4-ZxWD | 1803 | closed | 0 | Workaround for test failure: RuntimeError: There is no current event loop | simonw 9599 | Closes #1802 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1803.org.readthedocs.build/en/1803/ <!-- readthedocs-preview datasette end --> | 2022-09-06T00:31:06Z | 2022-09-06T00:40:19Z | 2022-09-06T00:40:19Z | 2022-09-06T00:40:19Z | 64288d827f7ff97f825e10f714da3f781ecf9345 | 0 | 7b6a2b48408697905bd93504b7f5554f4a7627ef | 1c29b925d300d1ee17047504473f2517767aa05b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1803 | ||||
1067890893 | PR_kwDOBm6k_c4_prjN | 1823 | open | 0 | Keyword-only arguments for a bunch of internal methods | simonw 9599 | Refs #1822 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1823.org.readthedocs.build/en/1823/ <!-- readthedocs-preview datasette end --> | 2022-09-27T00:44:59Z | 2022-10-05T04:37:54Z | 28068a62ad6a8b76a1c9223c4ca78099cfd2ece5 | 0 | b545b6a04ed7b407331f991adce107691ac3ab97 | 5f9f567acbc58c9fcd88af440e68034510fb5d2b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1823 | ||||||
1086765659 | PR_kwDOBm6k_c5Axrpb | 1842 | closed | 0 | check_visibility can now take multiple permissions into account | simonw 9599 | Refs #1829 - [x] Fix table page - [x] Fix database page - [x] Fix query page - [x] Fix row page - [x] Tests - [x] Updated documentation for `check_visibility` method, to cover the new `permissions=` keyword argument Also this fix is currently only applied on the table page - needs to be applied on database, row and query pages too. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1842.org.readthedocs.build/en/1842/ <!-- readthedocs-preview datasette end --> | 2022-10-14T00:06:04Z | 2022-10-24T02:11:36Z | 2022-10-24T02:11:36Z | 2022-10-24T02:11:34Z | 78dad236df730212aa7172f885fd8ec575f0d3ad | 0 | 362347574e3283d637243906af7d5e028e100180 | 79aa0de083d38a9975915d5a4cc68ca6c74fbe3d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1842 | ||||
1139440836 | PR_kwDOBm6k_c5D6nzE | 1912 | closed | 0 | Merge 1.0-dev (with initial write API) back into main | simonw 9599 | See: - #1892 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1912.org.readthedocs.build/en/1912/ <!-- readthedocs-preview datasette end --> | 2022-11-29T19:31:21Z | 2022-11-29T19:39:37Z | 2022-11-29T19:39:36Z | 2022-11-29T19:39:36Z | 07aad511769da9242260c850e8d975cbd8c29552 | 0 | b8fc8e2cd755b9cfc66838bdc1ca9ee87afdce8a | 21f8aab53164a4f096737743d8cc624d2186327a | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1912 | ||||
1144085408 | PR_kwDOBm6k_c5EMVug | 1931 | closed | 0 | /db/table/-/upsert | simonw 9599 | Refs #1878 Still todo: - [x] Support `"return": true` properly for upserts (with tests) - [x] Require both `insert-row` and `update-row` permissions - [x] Tests are going to need to cover both rowid-only and compound primary key tables, including all of the error states - [x] Documentation <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1931.org.readthedocs.build/en/1931/ <!-- readthedocs-preview datasette end --> | 2022-12-03T07:01:44Z | 2022-12-08T01:12:17Z | 2022-12-08T01:12:16Z | 2022-12-08T01:12:16Z | 272982e8a6f45700ff93c3917b4688a86de0e672 | Datasette 1.0a2 8711695 | 0 | 7cd6fd9f76913196d4f99a194a30e406f33aa363 | 93ababe6f7150454d2cf278dae08569e505d2a5b | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1931 | |||
1154884166 | PR_kwDOBm6k_c5E1iJG | 1938 | closed | 0 | "permissions" blocks in metadata.json/yaml | simonw 9599 | Refs #1636 - [x] Documentation - [ ] Implementation - [ ] Validate metadata to check there are no nonsensical permissions (like `debug-menu` set at the table level) - [ ] Tests <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1938.org.readthedocs.build/en/1938/ <!-- readthedocs-preview datasette end --> | 2022-12-08T22:07:36Z | 2022-12-13T05:23:19Z | 2022-12-13T05:23:18Z | 271ea3ae0c858de2d392b61a1a4a9f5837cbddf8 | Datasette 1.0a2 8711695 | 0 | 6e35a6b4f7ea9ba3fb6f02f45452eeb41de69786 | e539c1c024bc62d88df91d9107cbe37e7f0fe55f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1938 | ||||
1155365505 | PR_kwDOBm6k_c5E3XqB | 1940 | closed | 0 | register_permissions() plugin hook | simonw 9599 | Refs #1939 From this comment: https://github.com/simonw/datasette/issues/1939#issuecomment-1343872168 - [x] Unit test for the registration plugin hook itself - [x] Use them in `check_permission_actions_are_documented` test in `conftest.py` - [x] Add description field to `Permissions` (and update tests and docs) - [x] Documentation for `datasette.permissions` dictionary - [x] If no `default=` provided in call to `permission_allowed()` then use default from `datasette.permissions` list - [x] Remove `default=` from a bunch of places - [x] Throw an error if two permissions are registered with the same name or abbreviation (but other attributes differ) - [x] Update authentication and permissions documentation to explain that permissions are now registered and have a registered default <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1940.org.readthedocs.build/en/1940/ <!-- readthedocs-preview datasette end --> | 2022-12-09T05:09:28Z | 2022-12-13T02:05:55Z | 2022-12-13T02:05:54Z | 2022-12-13T02:05:54Z | 8bf06a76b51bc9ace7cf72cf0cca8f1da7704ea7 | Datasette 1.0a2 8711695 | 0 | 94e5c75397a96b86a3349123808cd02cb20f7440 | e539c1c024bc62d88df91d9107cbe37e7f0fe55f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1940 | |||
1167432070 | PR_kwDOBm6k_c5FlZmG | 1960 | closed | 0 | Port as many tests as possible to async def tests against ds_client | simonw 9599 | Refs: - #1959 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1960.org.readthedocs.build/en/1960/ <!-- readthedocs-preview datasette end --> | 2022-12-15T21:45:53Z | 2022-12-17T21:47:56Z | 2022-12-17T21:47:55Z | 2022-12-17T21:47:55Z | 89cffcf14cda830871c8ee81742eaa1e2dff017b | 0 | f42bca8fc2657cecde05eca644c28fac7c28101f | 0b68996cc511b3a801f0cd0157bd66332d75f46f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1960 | ||||
1167644140 | PR_kwDOBm6k_c5FmNXs | 1961 | closed | 0 | Use click.echo() instead of print() for --root option | simonw 9599 | This ensures the URL is output correctly when running under Docker. Closes #1958 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1961.org.readthedocs.build/en/1961/ <!-- readthedocs-preview datasette end --> | 2022-12-16T00:54:56Z | 2022-12-16T00:55:19Z | 2022-12-16T00:55:18Z | 2022-12-16T00:55:18Z | 013496862f4d4b441ab61255242b838b24287607 | 0 | 06d20c792f8c872118edd84973308fb3e5137b5e | 0b68996cc511b3a801f0cd0157bd66332d75f46f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1961 | ||||
1191716406 | PR_kwDOBm6k_c5HCCY2 | 1984 | closed | 0 | Upgrade Sphinx | simonw 9599 | Refs #1971 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1984.org.readthedocs.build/en/1984/ <!-- readthedocs-preview datasette end --> | 2023-01-10T02:00:40Z | 2023-01-10T02:02:33Z | 2023-01-10T02:02:33Z | 2023-01-10T02:02:32Z | 8e7073404379d79a2d269167a12bbb58439edd39 | 0 | 0c8b3f5ca1385c804c696f1fa61c24de29ae4755 | 4880638f13c3a1abc53f395cde39ac848daf416d | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1984 | ||||
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 | ||||
1303909190 | PR_kwDOBm6k_c5NuBNG | 2053 | closed | 0 | WIP new JSON for queries | simonw 9599 | Refs: - #2049 TODO: - [x] Read queries JSON - Implement error display with `"ok": false` and an errors key - Read queries HTML - Read queries other formats (plugins) - Canned read queries (dispatched to from table) - Write queries (a canned query thing) - Implement different shapes, refactoring to share code with table - Implement a sensible subset of extras, also refactoring to share code with table - Get all tests passing <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2053.org.readthedocs.build/en/2053/ <!-- readthedocs-preview datasette end --> | 2023-04-05T23:26:15Z | 2023-07-26T18:28:59Z | 2023-07-26T18:26:45Z | c69f7961e42c1103e281ca061edbe041e212cbb0 | 1 | ee24ea94525ace221f1b4d141d01cf56410c2c6d | dda99fc09fb0b5523948f6d481c6c051c1c7b5de | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2053 | |||||
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 | ||||
1451100029 | PR_kwDOBm6k_c5Wfgd9 | 2118 | closed | 0 | New JSON design for query views | simonw 9599 | WIP. Refs: - #2109 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2118.org.readthedocs.build/en/2118/ <!-- readthedocs-preview datasette end --> | 2023-07-26T23:29:21Z | 2023-08-08T01:47:40Z | 2023-08-08T01:47:39Z | 2023-08-08T01:47:39Z | 1377a290cd85ba8d3338b1da47c4665ed4c6c625 | Datasette 1.0a3 9700784 | 0 | 8b1dea3c0994d5875e372965eb5ca388ea08fe6a | 08181823990a71ffa5a1b57b37259198eaa43e06 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2118 | |||
1488154809 | PR_kwDOBm6k_c5Ys3C5 | 2154 | closed | 0 | Cascade for restricted token view-table/view-database/view-instance operations | simonw 9599 | Refs: - #2102 Also includes a prototype implementation of `--actor option` which I'm using for testing this, from: - #2153 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2154.org.readthedocs.build/en/2154/ <!-- readthedocs-preview datasette end --> | 2023-08-24T14:24:23Z | 2023-08-29T16:32:35Z | 2023-08-29T16:32:34Z | 2023-08-29T16:32:34Z | 50da908213a0fc405ecd7a40090dfea7a2e7395c | 0 | 1b38cba913b0a3515b4b1649276dc1ff973680bb | 2e2825869fc2655b5fcadc743f6f9dec7a49bc65 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2154 | ||||
1492599485 | PR_kwDOBm6k_c5Y90K9 | 2161 | closed | 0 | -s/--setting x y gets merged into datasette.yml, refs #2143, #2156 | simonw 9599 | This change updates the `-s/--setting` option to `datasette serve` to allow it to be used to set arbitrarily complex nested settings in a way that is compatible with the new `-c datasette.yml` work happening in: - #2143 It will enable things like this: ``` datasette data.db --setting plugins.datasette-ripgrep.path "/home/simon/code" ``` For the moment though it just affects [settings](https://docs.datasette.io/en/1.0a4/settings.html) - so you can do this: ``` datasette data.db --setting settings.sql_time_limit_ms 3500 ``` I've also implemented a backwards compatibility mechanism, so if you use it this way (the old way): ``` datasette data.db --setting sql_time_limit_ms 3500 ``` It will notice that the setting you passed is one of Datasette's core settings, and will treat that as if you said `settings.sql_time_limit_ms` instead. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2161.org.readthedocs.build/en/2161/ <!-- readthedocs-preview datasette end --> | 2023-08-28T19:30:42Z | 2023-08-28T20:06:15Z | 2023-08-28T20:06:14Z | 2023-08-28T20:06:14Z | d9aad1fd042a25d226f2ace1f7827b4602761038 | 0 | a5cbf80d795b599697b2b873566386abb0cd8b32 | 527cec66b0403e689c8fb71fc8b381a1d7a46516 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2161 | ||||
1496106142 | PR_kwDOBm6k_c5ZLMSe | 2165 | closed | 0 | DATASETTE_LOAD_PLUGINS environment variable for loading specific plugins | simonw 9599 | - #2164 TODO: - [x] Automated tests - [ ] Documentation - [x] Make sure `DATASETTE_LOAD_PLUGINS=''` works for loading zero plugins | 2023-08-30T20:33:30Z | 2023-08-30T22:12:25Z | 2023-08-30T22:12:25Z | 2023-08-30T22:12:25Z | 6bfe104d47b888c70bfb7781f8f48ff11452b2b5 | 0 | 6321c9c055a640ed6ea98e231dc5813dcde1f773 | 30b28c8367a9c6870386ea10a202705b40862457 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2165 | ||||
1503774871 | PR_kwDOBm6k_c5ZociX | 2173 | closed | 0 | click-default-group>=1.2.3 | simonw 9599 | Now available as a wheel: - https://github.com/click-contrib/click-default-group/issues/21 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2173.org.readthedocs.build/en/2173/ <!-- readthedocs-preview datasette end --> | 2023-09-06T02:33:28Z | 2023-09-06T02:50:10Z | 2023-09-06T02:50:10Z | 2023-09-06T02:50:10Z | 05707aa16b5c6c39fbe48b3176b85a8ffe493938 | 0 | a481ebd495d0f87ebd6dcf360a9cff25a6e148d7 | fd083e37ec53e7e625111168d324a572344a3b19 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2173 | ||||
1504918180 | PR_kwDOBm6k_c5Zszqk | 2175 | closed | 0 | Test against Python 3.12 preview | simonw 9599 | https://dev.to/hugovk/help-test-python-312-beta-1508/ <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2175.org.readthedocs.build/en/2175/ <!-- readthedocs-preview datasette end --> | 2023-09-06T16:09:05Z | 2023-09-06T16:16:28Z | 2023-09-06T16:16:27Z | 2023-09-06T16:16:27Z | e86eaaa4f371512689e973c18879298dab51f80a | 0 | 21e77c3ff9e4aacaa9442a7b3b36aafd87025115 | 05707aa16b5c6c39fbe48b3176b85a8ffe493938 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2175 | ||||
1507122571 | PR_kwDOBm6k_c5Z1N2L | 2181 | closed | 0 | actors_from_ids plugin hook and datasette.actors_from_ids() method | simonw 9599 | Refs: - #2180 This plugin hook is feature complete - including documentation and tests. I'm not going to land it in Datasette `main` until we've used it at least once though, which should happen promptly in development for [Datasette Cloud](https://www.datasette.cloud/). <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2181.org.readthedocs.build/en/2181/ <!-- readthedocs-preview datasette end --> | 2023-09-08T01:51:07Z | 2023-09-08T04:24:00Z | 2023-09-08T04:23:59Z | 2023-09-08T04:23:59Z | b645174271aa08e8ca83b27ff83ce078ecd15da2 | 0 | e1c5a9d92b7677eaf9eff58d05badb39d078d1bd | c26370485a4fd4bf130da051be9163d92c57f24f | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2181 | ||||
1522166951 | PR_kwDOBm6k_c5aumyn | 2192 | closed | 0 | Stop using parallel SQL queries for tables | simonw 9599 | Refs: - #2189 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2192.org.readthedocs.build/en/2192/ <!-- readthedocs-preview datasette end --> | 2023-09-20T01:28:43Z | 2023-09-20T22:10:56Z | 2023-09-20T22:10:55Z | 2023-09-20T22:10:55Z | b0e5d8afa308759f4ee9f3ecdf61101dffc4a037 | 0 | 4e6a34179eaedec44c1263275d7592fd83d7e2ac | 6ed7908580fa2ba9297c3225d85c56f8b08b9937 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/2192 | ||||
163561830 | MDExOlB1bGxSZXF1ZXN0MTYzNTYxODMw | 181 | closed | 0 | add "format sql" button to query page, uses sql-formatter | bsmithgall 1957344 | Cool project! This fixes #136 using the suggested [sql formatter](https://github.com/zeroturnaround/sql-formatter) library. I included the minified version in the bundle and added the relevant scripts to the codemirror includes instead of adding new files, though I could also add new files. I wanted to keep it all together, since the result of the format needs access to the editor in order to properly update the codemirror instance. | 2018-01-17T21:50:04Z | 2019-11-11T03:08:25Z | 2019-11-11T03:08:25Z | a9ac208088e536043890e0f7ff8a182398576a51 | 0 | 86ac746cfcbf2fa86863f8fab528494600eac1ae | a290f28caae61b47e76e825c06984f22fc41a694 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/181 | |||||
187770345 | MDExOlB1bGxSZXF1ZXN0MTg3NzcwMzQ1 | 258 | closed | 0 | Add new metadata key persistent_urls which removes the hash from all database urls | philroche 247131 | Add new metadata key "persistent_urls" which removes the hash from all database urls when set to "true" This PR is just to gauge if this, or something like it, is something you would consider merging? I understand the reason why the substring of the hash is included in the url but there are some use cases where the urls should persist across deployments. For bookmarks for example or for scripts that use the JSON API. This is the initial commit for this feature. Tests and documentation updates to follow. | 2018-05-14T09:39:18Z | 2018-05-21T07:38:15Z | 2018-05-21T07:38:15Z | 457fcdfc82a0260db543d49006d49f8486f233b5 | 0 | 0d77a896ccb16b34c86fdeef7738f2d056e27e02 | 2b79f2bdeb1efa86e0756e741292d625f91cb93d | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/258 | |||||
189860052 | MDExOlB1bGxSZXF1ZXN0MTg5ODYwMDUy | 281 | closed | 0 | Reduces image size using Alpine + Multistage (re: #278) | iMerica 487897 | Hey Simon! I got the image size down from 256MB to 110MB. Seems to be working okay, but you might want to test it a bit more. Example output of `docker run --rm -it <my-tag> datasette` ``` Serve! files=() on port 8001 [2018-05-23 05:23:08 +0000] [1] [INFO] Goin' Fast @ http://127.0.0.1:8001 [2018-05-23 05:23:08 +0000] [1] [INFO] Starting worker [1] ``` Related: https://github.com/simonw/datasette/issues/278 | 2018-05-23T05:27:05Z | 2018-05-26T02:10:38Z | 2018-05-26T02:10:38Z | 0d6c8fa841ae5d28e151e4ba43370289d1e2e22c | 0 | 3af65075c430d94647f8a1b1f215e82f563bc46f | 49f317752cfe89c5641165a490eef49e025752a7 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/281 | |||||
196526861 | MDExOlB1bGxSZXF1ZXN0MTk2NTI2ODYx | 322 | closed | 0 | Feature/in operator | 4e1e0603 2691848 | 2018-06-21T17:41:51Z | 2018-06-21T17:45:25Z | 2018-06-21T17:45:25Z | 80b7bcefa1c07202779d98c9e2214f3ebad704e3 | 0 | 1acc562a2f60a7289438df657db8fd6dd3a7391d | e7566cc59d4b02ef301054fd35fdde6c925a8e38 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/322 | ||||||
291534596 | MDExOlB1bGxSZXF1ZXN0MjkxNTM0NTk2 | 529 | closed | 0 | Use keyed rows - fixes #521 | nathancahill 1383872 | Supports template syntax like this: ``` {% for row in display_rows %} <h2 class="scientist">{{ row["First_Name"] }} {{ row["Last_Name"] }}</h2> ... ``` | 2019-06-25T12:33:48Z | 2019-06-25T12:35:07Z | 2019-06-25T12:35:07Z | 3be9759418fdfe4a8ae8aec46fc2a937d45332d2 | 0 | 312e3394bd9f3eaef606fbe37eb409ec7462baaf | 9e97b725f11be3f4dca077fe5569078a62ec2761 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/529 | |||||
322529381 | MDExOlB1bGxSZXF1ZXN0MzIyNTI5Mzgx | 578 | closed | 0 | Added support for multi arch builds | heussd 887095 | Minor changes in Dockerfile and new Makefile to support Docker multi architecture builds. `make`will build one image per architecture and push them as one Docker manifest to Docker Hub. Feel free to change `IMAGE_NAME ` to `datasetteproject/datasette` to update your official Docker Hub image(s). | 2019-09-29T18:43:03Z | 2019-11-13T19:13:15Z | 2019-11-13T19:13:15Z | ae1aa0929b9e62a413ec9b4a40588e6aafe50573 | 0 | ce6372bc6210ae52ac1951647b8fbaee40d64fc1 | 0fc8afde0eb5ef677f4ac31601540d6168c8208d | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/578 | |||||
327541046 | MDExOlB1bGxSZXF1ZXN0MzI3NTQxMDQ2 | 595 | closed | 0 | bump uvicorn to 0.9.0 to be Python-3.8 friendly | stonebig 4312421 | as uvicorn-0.9 is needed to get websockets-8.0.2, which is needed to have Python-3.8 compatibility | 2019-10-13T10:00:04Z | 2019-11-12T04:46:48Z | 2019-11-12T04:46:48Z | 5a7185bcd15aab28e86338b3771c25af13a94a4c | 0 | e1d92ea94ca8f14879ef280cb7dadab7eed76e9c | fffd69ec031b83f46680f192ba57a27f0d1f0b8a | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/595 | |||||
354869391 | MDExOlB1bGxSZXF1ZXN0MzU0ODY5Mzkx | 652 | closed | 0 | Quick (and uninformed and perhaps misguided) attempt to add a <base> url for hosting datasette at a particular host/URI | terrycojones 132978 | As usual, I don't really know what I'm doing... so this is just a suggested approach. I've not written tests, I've not run the tests, I don't know if I've missed some absolute URLs that would need to have the leading slash dropped. BUT, I tested it with `--config base_url:http://127.0.0.1:8001/` on the command line and from what little I know about datasette it's at least working in some obvious cases. My changes are based on what I saw in https://github.com/simonw/datasette/commit/8da2db4b71096b19e7a9ef1929369b8483d448bf (thanks!) I'm happy to be more thorough on this if you think it's worth pursuing. Fixes #394 (he said, optimistically). | 2019-12-18T23:37:16Z | 2020-03-24T22:14:50Z | 2020-03-24T22:14:50Z | 8e674de58c17c89c8a4a90bc3ec6e02151b354e5 | 0 | eaa636841e38d40360a74596ef1a0df50f6a86a5 | a498d0fe6590f9bdbc4faf9e0dd5faeb3b06002c | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/652 | |||||
496298180 | MDExOlB1bGxSZXF1ZXN0NDk2Mjk4MTgw | 986 | closed | 0 | Allow facet by primary keys, fixes #985 | MrNaif2018 39452697 | Hello! This PR makes it possible to facet by primary keys. Did I get it right that just removing the condition on UI side is enough? From testing it works fine with primary keys, just as with normal keys. If so, should I also remove unused `data-is-pk`? | 2020-10-01T14:18:55Z | 2020-10-01T16:51:45Z | 2020-10-01T16:51:45Z | 58906c597f1217381f5d746726bcb8bdfa8f52f8 | 0 | 76f7094bd33f037a1c689a173f0dbbb988e6dcdd | 141544613f9e76ddb74eee38d6f8ee1e0e70f833 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/986 | |||||
588601627 | MDExOlB1bGxSZXF1ZXN0NTg4NjAxNjI3 | 1254 | closed | 0 | Update Docker Spatialite version to 5.0.1 + add support for Spatialite topology functions | durkie 3200608 | This requires adding the RT Topology library (Spatialite changed to RT Topology from LWGEOM between 4.4 and 5.0), as well as upgrading the GEOS version (which is the reason for switching to `python:3.7.10-slim-buster` as the base image.) `autoconf` and `libtool` are added to build RT Topology, and Spatialite is now built with `--disable-minizip` (minizip wasn't an option in 4.4 and I didn't want to add another dependency) and `--disable-dependency-tracking` which, according to Spatialite, "speeds up one-time builds" | 2021-03-09T20:49:08Z | 2021-03-10T18:27:45Z | 2021-03-09T22:04:23Z | bc09c84d6af4721b32f01f4d9186a6fbf9863081 | 0 | b103204155c2396d353fa195a320cee6aca258cf | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1254 | |||||
592548103 | MDExOlB1bGxSZXF1ZXN0NTkyNTQ4MTAz | 1260 | closed | 0 | Fix: code quality issues | withshubh 25361949 | ### Description Hi :wave: I work at [DeepSource](https://deepsource.io), I ran DeepSource analysis on the forked copy of this repo and found some interesting [code quality issues](https://deepsource.io/gh/withshubh/datasette/issues/?category=recommended) in the codebase, opening this PR so you can assess if our platform is right and helpful for you. ### Summary of changes - Replaced ternary syntax with if expression - Removed redundant `None` default - Used `is` to compare type of objects - Iterated dictionary directly - Removed unnecessary lambda expression - Refactored unnecessary `else` / `elif` when `if` block has a `return` statement - Refactored unnecessary `else` / `elif` when `if` block has a `raise` statement - Added .deepsource.toml to continuously analyze and detect code quality issues | 2021-03-14T13:56:10Z | 2021-03-29T00:22:41Z | 2021-03-29T00:22:41Z | bc868ae8c8152a25bcab7adb490c5b89411bdf3a | 0 | 90f5fb6d2fb36ddffc49acee924d042f2d5d1d58 | 8e18c7943181f228ce5ebcea48deb59ce50bee1f | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1260 | |||||
730020867 | MDExOlB1bGxSZXF1ZXN0NzMwMDIwODY3 | 1467 | closed | 0 | Add Authorization header when CORS flag is set | jameslittle230 3058200 | This PR adds the [`Access-Control-Allow-Headers`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) flag when CORS mode is enabled. This would fix https://github.com/simonw/datasette-auth-tokens/issues/4. When making cross-origin requests, the server must respond with all allowable HTTP headers. A Datasette instance using auth tokens must accept the `Authorization` HTTP header in order for cross-origin authenticated requests to take place. Please let me know if there's a better way of doing this! I couldn't figure out a way to change the app's response from the plugin itself, so I'm starting here. If you'd rather this logic live in the plugin, I'd love any guidance you're able to give. | 2021-09-08T22:14:41Z | 2021-10-17T02:29:07Z | 2021-10-14T18:54:18Z | 15f258735ddee555028a075c09e1e8f74069be70 | 0 | 05109e8d61dedd477c4cedfb89b1da65610f70d1 | d57ab156b35ec642549fb69d08279850065027d2 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1467 | |||||
806136219 | PR_kwDOBm6k_c4wDKmb | 1574 | closed | 0 | introduce new option for datasette package to use a slim base image | fs111 33631 | The official python images on docker hub come with a slim variant that is significantly smaller than the default. The diff does not change the default, but allows to switch to the `slim` variant with commandline switch (`--slim-base-image`) Size comparison: ``` $ datasette package some.db -t fat --install "datasette-basemap datasette-cluster-map" $ datasette package some.db -t slim --slim-base-image --install "datasette-basemap datasette-cluster-map" $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE fat latest 807b393ace0d 9 seconds ago 978MB slim latest 31bc5e63505c 8 minutes ago 191MB ``` | 2021-12-19T21:18:19Z | 2022-08-15T08:49:31Z | 2022-08-15T08:49:31Z | 92ca4a2a9fb44e4cffc71444196753ad4a75a5c8 | 0 | 8561f0343b2b4213416ca84c8071a5a290f15a42 | 8c401ee0f054de2f568c3a8302c9223555146407 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1574 | |||||
883644303 | PR_kwDOBm6k_c40q1eP | 1665 | closed | 0 | Pin setup-gcloud to v0 instead of master | sethvargo 408570 | setup-gcloud will be updating the branch name from master to main in a future release. Even though GitHub will establish redirects, this will break any GitHub Actions workflows that pin to master. This PR updates your GitHub Actions workflows to pin to v0, which is the recommended best practice. | 2022-03-18T17:17:22Z | 2022-03-23T19:31:10Z | 2022-03-23T17:55:39Z | 5bd51d8eda65b25ce639a841944eb6b522768b2b | 0 | c811c2181e298a48fdf50523525813c37f99e592 | 30e5f0e67c38054a8087a2a4eae3fc4d1779af90 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1665 | |||||
1037685744 | PR_kwDOBm6k_c492dPw | 1793 | closed | 0 | Added a useful resource | MobiWancode 111973926 | Have added a useful resource about the types of databases in SQL i.e SQLite, PostgreSQL, MySQL &, etc from the scaler topics. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1793.org.readthedocs.build/en/1793/ <!-- readthedocs-preview datasette end --> | 2022-08-26T08:41:26Z | 2022-09-06T00:41:25Z | 2022-09-06T00:41:24Z | 40c948ac58afa155bbceaff70c43e85e58434188 | 0 | 32a9224b7e107016e5ba0fc90ff86cfafad93b2f | ba35105eee2d3ba620e4f230028a02b2e2571df2 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1793 | |||||
1079769381 | PR_kwDOBm6k_c5AW_kl | 1838 | closed | 0 | Open Datasette link in new tab | ocdtrekkie 4399499 | This is technically a Sandstorm-specific fix (as external links do not work inside the grain frame), however, I think it is an improvement to the upstream project, so I wanted to propose it here rather than patching it in our package. There's much opinions on the Internet about whether external links should open in a new tab by default or not, but I'd argue very few people who might click a "powered by" link intend to complete their interaction with the source page (a Datasette). And furthermore, users may be working within various queries or loading visualizations (navigating away when trying to plot a million GPS coordinates pretty much just resets your progress!), so linking away within the tab might be a frustrating or destructive act to one's work, even inadvertently. original report: https://github.com/ocdtrekkie/datasette-sandstorm/issues/1 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1838.org.readthedocs.build/en/1838/ <!-- readthedocs-preview datasette end --> | 2022-10-07T01:12:20Z | 2022-10-07T16:28:41Z | 2022-10-07T02:01:07Z | 9a7745ceef270893fa76a10ee70546f62d5110bd | 0 | 7f2a3376c348e9dd9ea926ab94ae6b610194e6c1 | eff112498ecc499323c26612d707908831446d25 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1838 | |||||
1081550456 | PR_kwDOBm6k_c5AdyZ4 | 1840 | closed | 0 | test commit | 7lingyuan 102635518 | lalalalalalala <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1840.org.readthedocs.build/en/1840/ <!-- readthedocs-preview datasette end --> | 2022-10-10T05:15:26Z | 2022-10-10T09:11:50Z | 2022-10-10T09:11:50Z | 0 | 304ce7a516a0b361ae9f5f0059ce02eb675f69aa | b7fec7f9020b79c1fe60cc5a2def86b50eeb5af9 | NONE | datasette 107914493 | https://github.com/simonw/datasette/pull/1840 | ||||||
190901429 | MDExOlB1bGxSZXF1ZXN0MTkwOTAxNDI5 | 293 | closed | 0 | Support for external database connectors | jsancho-gpl 11912854 | I think it would be nice that Datasette could work with 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. These external connectors must have a structure similar to the structure [PyTables Datasette connector](https://github.com/PyTables/datasette-pytables) has. | 2018-05-28T11:02:45Z | 2018-09-11T14:32:45Z | 2018-09-11T14:32:45Z | ad2cb12473025ffab738d4df6bb47cd8b2e27859 | 0 | 59c94be46f9ccd806dd352fa28a6dba142d5ab82 | b7257a21bf3dfa7353980f343c83a616da44daa7 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/293 | |||||
211860706 | MDExOlB1bGxSZXF1ZXN0MjExODYwNzA2 | 363 | open | 0 | Search all apps during heroku publish | kevboh 436032 | Adds the `-A` option to include apps from all organizations when searching app names for publish. | 2018-08-29T19:25:10Z | 2018-08-31T14:39:45Z | b684b04c30f6b8779a3d11f7599329092fb152f3 | 0 | 2dd363e01fa73b24ba72f539c0a854bc901d23a7 | b7257a21bf3dfa7353980f343c83a616da44daa7 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/363 | ||||||
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 | ||||||
440735814 | MDExOlB1bGxSZXF1ZXN0NDQwNzM1ODE0 | 868 | open | 0 | initial windows ci setup | joshmgrant 702729 | Picking up the work done on #557 with a new PR. Seeing if I can get this working. | 2020-06-26T18:49:13Z | 2021-07-10T23:41:43Z | b99adb1720a0b53ff174db54d0e4a67357b47f33 | 0 | c99cabae638958ef057438a92cb9a182ba4f8188 | 180c7a5328457aefdf847ada366e296fef4744f1 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/868 | ||||||
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 | |||||||
505453900 | MDExOlB1bGxSZXF1ZXN0NTA1NDUzOTAw | 1030 | open | 0 | Make `package` command deal with a configuration directory argument | frankier 299380 | Currently if we run `datasette package` on a configuration directory we'll get an exception when we try to hard link to the directory. This PR copies the tree and makes the Dockerfile run inspect on all *.db files. | 2020-10-18T11:07:02Z | 2020-10-19T08:01:51Z | 124142e4d2710525b09ff2bd2a7a787cbed163a4 | 0 | e0825334692967fec195e104cb6aa11095807a8e | c37a0a93ecb847e66cfe7b6f9452ba210fcae91b | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1030 | ||||||
505769462 | MDExOlB1bGxSZXF1ZXN0NTA1NzY5NDYy | 1031 | closed | 0 | Fallback to databases in inspect-data.json when no -i options are passed | frankier 299380 | Currenlty `Datasette.__init__` checks immutables against None to decide whether to fallback to inspect-data.json. This patch modifies the serve command to pass None when no -i options are passed so this fallback works correctly. | 2020-10-19T07:51:06Z | 2021-03-29T01:46:45Z | 2021-03-29T00:23:41Z | 3ee6b39e96ef684e1ac393bb269d804e957fee1d | 0 | 7e7eaa4e712b01de0b5a8a1b90145bdc1c3cd731 | c37a0a93ecb847e66cfe7b6f9452ba210fcae91b | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1031 | |||||
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-07-31T18:57:59Z | 0276c5609da34bfb660f65212e1a367e637979d7 | Datasette 1.0 3268330 | 0 | c820abd0bcb34d1ea5a03be64a2158ae7c42920c | a882d679626438ba0d809944f06f239bcba8ee96 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1159 | |||||
613178968 | MDExOlB1bGxSZXF1ZXN0NjEzMTc4OTY4 | 1296 | open | 0 | Dockerfile: use Ubuntu 20.10 as base | tmcl-it 82332573 | This PR changes the main Dockerfile to use ubuntu:20.10 as base image instead of python:3.9.2-slim-buster (itself based on debian:buster-slim). The Dockerfile is essentially the one from https://github.com/simonw/datasette/issues/1249#issuecomment-803698983 with some additional cleanups to slim it down. This fixes a couple of issues: 1. The SQLite version in Debian Buster (2.6.0) doesn't support generated columns 2. Installing SpatiaLite from the Debian sid repositories has the side effect of also installing updates to libc and libstdc++ from sid. As a bonus, the Docker image becomes smaller: ``` $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE datasette 0.56-ubuntu f7aca255140a 5 hours ago 212MB datasetteproject/datasette 0.56 efb3b282f390 13 days ago 258MB ``` ### Reproduction of the first issue ``` $ curl -O https://latest.datasette.io/fixtures.db % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 260k 0 260k 0 0 489k 0 --:--:-- --:--:-- --:--:-- 489k $ docker run -v `pwd`:/mnt datasetteproject/datasette:0.56 datasette /mnt/fixtures.db Traceback (most recent call last): File "/usr/local/bin/datasette", line 8, in <module> sys.exit(cli()) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 829, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 610, in invoke return callback(*args, … | 2021-04-12T00:23:32Z | 2021-07-20T08:52:13Z | 2ba522dbd7168a104a33621598c5a2460aae3e74 | 0 | 8f00c312f6b8ab5cecbb8a698ab4ad659aabf4ef | c73af5dd72305f6a01ea94a2c76d52e5e26de38b | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1296 | ||||||
692557381 | MDExOlB1bGxSZXF1ZXN0NjkyNTU3Mzgx | 1399 | open | 0 | Multiple sort | jgryko5 87192257 | Closes #197. I have added support for sorting by multiple parameters as mentioned in the issue above, and together with that, a suggestion on how to implement such sorting in the user interface. | 2021-07-19T12:20:14Z | 2021-07-19T12:20:14Z | 3161cd1202824921054cf78d82c1d8c07b140451 | 0 | 739697660382e4d2974619b4a5605baef87d233a | c73af5dd72305f6a01ea94a2c76d52e5e26de38b | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1399 | ||||||
737690951 | PR_kwDOBm6k_c4r-EVH | 1475 | open | 0 | feat: allow joins using _through in both directions | bram2000 5268174 | Currently the `_through` clause can only work if the FK relationship is defined in a specific direction. I don't think there is any reason for this limitation, as an FK allows joining in both directions. This is an admittedly hacky change to implement bidirectional joins using `_through`. It does work for our use-case, but I don't know if there are other implications that I haven't thought of. Also if this change is desirable we probably want to make the code a little nicer. | 2021-09-20T15:28:20Z | 2021-09-20T15:28:20Z | aa2f1c103730c0ede4ab67978288d91bbe1e00a6 | 0 | edf3c4c3271c8f13ab4c28ad88b817e115477e41 | b28b6cd2fe97f7e193a235877abeec2c8eb0a821 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1475 | ||||||
754942128 | PR_kwDOBm6k_c4s_4Cw | 1484 | closed | 0 | GitHub Actions: Add Python 3.10 to the tests | cclauss 3709715 | 2021-10-11T06:03:03Z | 2021-10-11T06:03:31Z | 2021-10-11T06:03:28Z | 69027b8c3e0e2236acd817a6fa5d32f762e3e9aa | 0 | 02c3218ca093df8b595d8ba7d88a32a0207b6385 | 0d5cc20aeffa3537cfc9296d01ec24b9c6e23dcf | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1484 | ||||||
964640654 | PR_kwDOBm6k_c45fz-O | 1757 | open | 0 | feat: add a wildcard for _json columns | ytjohn 163156 | This allows _json to accept a wildcard for when there are many JSON columns that the user wants to convert. I hope this is useful. I've tested it on our datasette and haven't ran into any issues. I imagine on a large set of results, there could be some performance issues, but it will probably be negligible for most use cases. On a side note, I ran into an issue where I had to upgrade black on my system beyond the pinned version in setup.py. Here is the upstream issue <<https://github.com/psf/black/issues/2964> . I didn't include this in the PR yet since I didn't look into the issue too far, but I can if you would like. | 2022-06-11T01:01:17Z | 2022-09-06T00:51:21Z | f302b919cb78f1e353fc14cb449cab4a93dcedc6 | 0 | 1cdcd8894ce2bb76cf29f8ffcdadedbb6fa0dac1 | 2e9751672d4fe329b3c359d5b7b1992283185820 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1757 | ||||||
998860509 | PR_kwDOBm6k_c47iWbd | 1772 | open | 0 | Convert to setup.cfg | kfdm 89725 | Recent versions of setuptools can run most things from setup.cfg so one can have a simpler version that does not require executing code on install. The bulk of the changes were automated by running https://pypi.org/project/setup-py-upgrade/ with a few minor edits for the bits that it can not auto convert (the initial `get_long_description()` and `get_version()` can not be automatically converted) | 2022-07-18T03:39:53Z | 2022-07-18T03:39:53Z | 3abb0780f97901ae39f8a206c7c6d376f8574ffc | 0 | c1b2f539c8d4cabe0a48d07bd8ce3fd1439a8f08 | 01369176b0a8943ab45292ffc6f9c929b80a00e8 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1772 | ||||||
1238017010 | PR_kwDOBm6k_c5JyqPy | 2025 | open | 0 | Add database metadata to index.html template context | palewire 9993 | Fixes #2016 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2025.org.readthedocs.build/en/2025/ <!-- readthedocs-preview datasette end --> | 2023-02-12T11:16:58Z | 2023-02-12T11:17:14Z | a2d3bb02cf2c9b8ed7c788910fdda606108cd584 | 0 | 912ed9de92d1bb9a28f50a2e08c5e7df2b827c15 | 0b4a28691468b5c758df74fa1d72a823813c96bf | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2025 | ||||||
1243080434 | PR_kwDOBm6k_c5KF-by | 2026 | open | 0 | Avoid repeating primary key columns if included in _col args | runderwood 8513 | ...while maintaining given order. Fixes #1975 (if I'm understanding correctly). <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2026.org.readthedocs.build/en/2026/ <!-- readthedocs-preview datasette end --> | 2023-02-16T04:16:25Z | 2023-02-16T04:16:41Z | ad2bfc72186e7af2244a6f27e02754f4c2f64910 | 0 | f15adf1d6211e05250e5492826dd3f8e8e328077 | 0b4a28691468b5c758df74fa1d72a823813c96bf | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2026 | ||||||
1259276997 | PR_kwDOBm6k_c5LDwrF | 2031 | open | 0 | Expand foreign key references in row view as well | tmcl-it 82332573 | Unlike the table view, the single row view does not resolve foreign key references into labels. This patch extracts the foreign key reference expansion code from TableView.data() into a standalone function that is then called by both TableView.data() and RowView.data(). <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2031.org.readthedocs.build/en/2031/ <!-- readthedocs-preview datasette end --> | 2023-03-01T18:43:09Z | 2023-03-24T18:35:25Z | ee7aec6175d0934c0420002529d21a767d2a527d | 0 | ef25867492ce6eb69492aa37fcde98936a95365c | 3feed1f66e2b746f349ee56970a62246a18bb164 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2031 | ||||||
1266742462 | PR_kwDOBm6k_c5LgPS- | 2034 | open | 0 | remove an unused `app` var in cli.py | wenhoujx 4370201 | this var `app` isn't actually used? unless init it does some side-effect outside of the event loop, idon't think it's necessary. Feel free to ignore this PR if the deleted line actually does something. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2034.org.readthedocs.build/en/2034/ <!-- readthedocs-preview datasette end --> | 2023-03-07T18:19:05Z | 2023-03-29T20:56:20Z | 9bd2128399e6dff33f97b3aa7adbd8f3a36daad7 | 0 | 28239c5bed362f2b9ee9e780bf23e5f31b680b5d | 1ad92a1d87d79084ebe524ed186c900ff042328c | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2034 | ||||||
1289476973 | PR_kwDOBm6k_c5M29tt | 2044 | open | 0 | Expand labels in row view as well (patch for 0.64.x branch) | tmcl-it 82332573 | This is a version of #2031 for the 0.64.x branch. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2044.org.readthedocs.build/en/2044/ <!-- readthedocs-preview datasette end --> | 2023-03-24T18:44:44Z | 2023-03-24T18:44:57Z | 175202f5238c23fc6b76a0119d3ce9917d1570d1 | 0 | c039d23a730448a7d82f9239cfb445aa1f7a4f16 | 2a0a94fe972e4b1556e73026dc381d297bc906bc | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2044 | ||||||
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 | 608507fe15679221ff74d437339ee66e3d21a7ae | 0 | f53b78029321cd9bd5661accb5bd043d62e35a85 | 5890a20c374fb0812d88c9b0ef26a838bfa06c76 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2056 | ||||||
1319390463 | PR_kwDOBm6k_c5OpEz_ | 2061 | open | 0 | Add "Packaging a plugin using Poetry" section in docs | rclement 1238873 | This PR adds a new section about packaging a plugin using `poetry` within the "Writing plugins" page of the documentation. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2061.org.readthedocs.build/en/2061/ <!-- readthedocs-preview datasette end --> | 2023-04-19T07:23:28Z | 2023-04-19T07:27:18Z | e777f394dc770714055e48c952e04c1620454e3e | 0 | 2650e3ca2c5ae4f21efe216f9959be31d9e58eed | 5890a20c374fb0812d88c9b0ef26a838bfa06c76 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2061 | ||||||
1349830554 | PR_kwDOBm6k_c5QdMea | 2074 | open | 0 | sort files by mtime | abbbi 3919561 | serving multiple database files and getting tired by the default sort, changes so the sort order puts the latest changed databases to be on top of the list so don't have to scroll down, lazy as i am ;) <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2074.org.readthedocs.build/en/2074/ <!-- readthedocs-preview datasette end --> | 2023-05-14T15:25:15Z | 2023-05-14T15:25:29Z | 4fe4822c999a3003a9e3093814274190ea05e522 | 0 | 689e3b0155612c766607feea10bc2e67e1c2a6da | 49184c569cd70efbda4f3f062afef3a34401d8d5 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2074 | ||||||
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 | 71658bfe72b75bdceb2b29e13fd610511c8b908c | 0 | 093693edd2a177a38cbc5570aaef769e5cbffac1 | 49184c569cd70efbda4f3f062afef3a34401d8d5 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2076 | ||||||
1372714762 | PR_kwDOBm6k_c5R0fcK | 2082 | open | 0 | Catch query interrupted on facet suggest row count | redraw 10843208 | Just like facet's `suggest()` is trapping `QueryInterrupted` for facet columns, we also need to trap `get_row_count()`, which can reach timeout if database tables are big enough. I've included `get_columns()` inside the block as that's just another query, despite it's a really cheap one and might never raise the exception. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2082.org.readthedocs.build/en/2082/ <!-- readthedocs-preview datasette end --> | 2023-05-31T18:42:46Z | 2023-05-31T18:45:26Z | eadc26004d50f38f28b032056821ba319c9f2e87 | 0 | dfe99af36c11b88ffcb5ca602d72cee1b8acd8bc | dda99fc09fb0b5523948f6d481c6c051c1c7b5de | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2082 | ||||||
1425647904 | PR_kwDOBm6k_c5U-akg | 2096 | open | 0 | Clarify docs for descriptions in metadata | garthk 15906 | G'day! I got confused while debugging, earlier today. That's on me, but it does strike me a little repetition in the metadata documentation might help those flicking around it rather than reading it from top to bottom. No worries if you think otherwise. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2096.org.readthedocs.build/en/2096/ <!-- readthedocs-preview datasette end --> | 2023-07-08T01:57:58Z | 2023-07-08T01:58:13Z | 88388864859b24707f4be9574e357910c368b0fe | 0 | 3b787aae74b683414f3546bc9979e9f2c0ae13e9 | 8cd60fd1d899952f1153460469b3175465f33f80 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2096 | ||||||
1432754160 | PR_kwDOBm6k_c5VZhfw | 2100 | open | 0 | Make primary key view accessible to render_cell hook | meowcat 1563881 | <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2100.org.readthedocs.build/en/2100/ <!-- readthedocs-preview datasette end --> | 2023-07-13T09:30:36Z | 2023-08-10T13:15:41Z | 37e72ded81cba41c7597a4287e73c47570dca2c7 | 0 | 5639f9d943e55d6990b40db726aa59790724899a | 33251d04e78d575cca62bb59069bb43a7d924746 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2100 | ||||||
1488414606 | PR_kwDOBm6k_c5Yt2eO | 2155 | open | 0 | Fix hupper.start_reloader entry point | cadeef 79087 | Update hupper's entry point so that click commands are processed properly. Fixes #2123 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2155.org.readthedocs.build/en/2155/ <!-- readthedocs-preview datasette end --> | 2023-08-24T17:14:08Z | 2023-09-27T18:44:02Z | 8b993f48927cfb89f31251a94dc7b48b6b2d3021 | 0 | ba2c235a8ea7240549af38988b4cbff8d7ec55bd | bdf59eb7db42559e538a637bacfe86d39e5d17ca | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2155 | ||||||
1488782498 | PR_kwDOBm6k_c5YvQSi | 2158 | open | 0 | add brand option to metadata.json. | publicmatt 52261150 | This adds a brand link to the top navbar if 'brand' key is populated in metadata.json. The link will be either '#' or use the contents of 'brand_url' in metadata.json for href. I was able to get this done on my own site by replacing `templates/_crumbs.html` with a custom version, but I thought it would be nice to incorporate this in the tool directly. ![image](https://github.com/simonw/datasette/assets/52261150/fdfe9bb5-fee4-466c-8074-6132071d94e6) <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2158.org.readthedocs.build/en/2158/ <!-- readthedocs-preview datasette end --> | 2023-08-24T22:37:41Z | 2023-08-24T22:37:57Z | 20fad9361ea7173a3543fa16e4b6913a3a0f4b9e | 0 | 0d89c4bd19732487232ab2637cf5e8632f48986b | 527cec66b0403e689c8fb71fc8b381a1d7a46516 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2158 | ||||||
1489526658 | PR_kwDOBm6k_c5YyF-C | 2159 | open | 0 | Implement Dark Mode colour scheme | jamietanna 3315059 | Closes #2095. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--2159.org.readthedocs.build/en/2159/ <!-- readthedocs-preview datasette end --> | 2023-08-25T10:46:23Z | 2023-08-25T10:46:35Z | 97687cea4bd9c94ae76a780311e044b3c77ef902 | 1 | 4b969945d106e48b50545fc029ec020593ee1db0 | 527cec66b0403e689c8fb71fc8b381a1d7a46516 | FIRST_TIME_CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/2159 | ||||||
152360740 | MDExOlB1bGxSZXF1ZXN0MTUyMzYwNzQw | 81 | closed | 0 | :fire: Removes DS_Store | jefftriplett 50527 | 2017-11-13T22:07:52Z | 2017-11-14T02:24:54Z | 2017-11-13T22:16:55Z | 2017-11-13T22:16:55Z | 06a826c3188af82f27bb6b4e09cc89b782d30bd6 | 0 | c66d297eac556a7f4fd4dcdb15cfb9466fddac77 | d75f423b6fcfc074b7c6f8f7679da8876f181edd | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/81 | |||||
152522762 | MDExOlB1bGxSZXF1ZXN0MTUyNTIyNzYy | 89 | closed | 0 | SQL syntax highlighting with CodeMirror | tomdyson 15543 | Addresses #13 Future enhancements could include autocompletion of table and column names, e.g. with ```javascript extraKeys: {"Ctrl-Space": "autocomplete"}, hintOptions: {tables: { users: ["name", "score", "birthDate"], countries: ["name", "population", "size"] }} ``` (see https://codemirror.net/doc/manual.html#addon_sql-hint and source at http://codemirror.net/mode/sql/) | 2017-11-14T14:43:33Z | 2017-11-15T02:03:01Z | 2017-11-15T02:03:01Z | 2017-11-15T02:03:01Z | 8252daa4c14d73b4b69e3f2db4576bb39d73c070 | 0 | 7f6ad095e9c41bf24d73b7724d898965c419965b | 075d422c0a1c70259188dfbd940538c67419694a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/89 | ||||
152631570 | MDExOlB1bGxSZXF1ZXN0MTUyNjMxNTcw | 94 | closed | 0 | Initial add simple prod ready Dockerfile refs #57 | macropin 247192 | Multi-stage build based off official python:3.6-slim Example usage: ``` docker run --rm -t -i -p 9000:8001 -v $(pwd)/db:/db datasette datasette serve /db/chinook.db ``` | 2017-11-14T22:09:09Z | 2017-11-15T03:08:04Z | 2017-11-15T03:08:04Z | 2017-11-15T03:08:04Z | 86755503d26b4a83c2ec59f08ec1b8de791fd954 | 0 | 147195c2fdfa2b984d8f9fc1c6cab6634970a056 | 075d422c0a1c70259188dfbd940538c67419694a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/94 | ||||
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 | ||||
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 | ||||
153201945 | MDExOlB1bGxSZXF1ZXN0MTUzMjAxOTQ1 | 114 | closed | 0 | Add spatialite, switch to debian and local build | ingenieroariel 54999 | Improves the Dockerfile to support spatial datasets, work with the local datasette code (Friendly with git tags and Dockerhub) and moves to slim debian, a small image easy to extend via apt packages for sqlite. | 2017-11-17T02:37:09Z | 2017-11-17T03:50:52Z | 2017-11-17T03:50:52Z | 2017-11-17T03:50:52Z | 8b4c600d98b85655b3a1454ebf64f858b5fe54c8 | 0 | 6c6b63d890529eeefcefb7ab126ea3bd7b2315c1 | b7c4165346ee8b6a6fbd72d6ba2275a24a8a8ae3 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/114 | ||||
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 | ||||
153324301 | MDExOlB1bGxSZXF1ZXN0MTUzMzI0MzAx | 117 | closed | 0 | Don't prevent tabbing to `Run SQL` button | rgieseke 198537 | Mentioned in #115 Here you go! | 2017-11-17T15:27:50Z | 2017-11-19T20:30:24Z | 2017-11-18T00:53:43Z | 2017-11-18T00:53:43Z | 6d39429daa4655e3cf7a6a7671493292a20a30a1 | 0 | 7b4d00e87ed8ac931e6f5458599aece1a95d4e82 | eda848b37f8452dba7913583ef101f39d9b130ba | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/117 | ||||
161982711 | MDExOlB1bGxSZXF1ZXN0MTYxOTgyNzEx | 178 | closed | 0 | If metadata exists, add it to heroku launch command | psychemedia 82988 | The heroku build does seem to make use of any provided `metadata.json` file. Add the `--metadata` switch to the Heroku web launch command if a `metadata.json` file is available. Addresses: https://github.com/simonw/datasette/issues/177 | 2018-01-09T21:42:21Z | 2018-01-15T09:42:46Z | 2018-01-14T21:05:16Z | 2018-01-14T21:05:16Z | 3a56a2cd7eea5d477d5d936b01098be5cba0d98e | 0 | 1bc9ed98c4f4fd91b70560ac8f507a2fddbd8317 | 306e1c6ac4f00cc25d676a6ee660938f5b27427c | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/178 | ||||
163523976 | MDExOlB1bGxSZXF1ZXN0MTYzNTIzOTc2 | 180 | closed | 0 | make html title more readable in query template | ryanpitts 56477 | tiny tweak to make this easier to visually parse—I think it matches your style in other templates | 2018-01-17T18:56:03Z | 2018-04-03T16:03:38Z | 2018-04-03T15:24:05Z | 2018-04-03T15:24:05Z | 446d47fdb005b3776bc06ad8d1f44b01fc2e938b | 0 | dc900b2f587c839e97389aaca70140fb06b4d40b | 56623e48da5412b25fb39cc26b9c743b684dd968 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/180 |
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]);