pull_requests
436 rows where repo = 107914493 sorted by user
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | ||||
560760145 | MDExOlB1bGxSZXF1ZXN0NTYwNzYwMTQ1 | 1204 | open | 0 | WIP: Plugin includes | simonw 9599 | Refs #1191 Next steps: - [ ] Get comfortable that this pattern is the right way to go - [ ] Implement it for all of the other pages, not just the table page - [ ] Add a new set of plugin tests that exercise ALL of these new hook locations - [ ] Document, then ship | 2021-01-25T03:59:06Z | 2021-12-17T07:10:49Z | 98f06a766317a40035962416cf3211d7a374866a | 1 | 05258469ae39bcaad17beb57c5b7eeab0d58a589 | 07e163561592c743e4117f72102fcd350a600909 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1204 | ||||||
560831638 | MDExOlB1bGxSZXF1ZXN0NTYwODMxNjM4 | 1206 | closed | 0 | Release 0.54 | simonw 9599 | Refs #1201 | 2021-01-25T06:45:47Z | 2021-01-25T17:33:30Z | 2021-01-25T17:33:29Z | 2021-01-25T17:33:29Z | 0b9ac1b2e9c855f1b823a06a898891da87c720ef | 0 | 571476d2cf8f7d7eac6098de8557264e69cac43f | a5ede3cdd455e2bb1a1fb2f4e1b5a9855caf5179 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1206 | ||||
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 | |||||
575940193 | MDExOlB1bGxSZXF1ZXN0NTc1OTQwMTkz | 1232 | closed | 0 | --crossdb option for joining across databases | simonw 9599 | Refs #283. Still needs: - [x] Unit test for --crossdb queries - [x] Show warning on console if it truncates at ten databases (or on web interface) - [x] Show connected databases on the `/_memory` database page - [x] Documentation - [x] https://latest.datasette.io/ demo should demonstrate this feature | 2021-02-18T19:48:50Z | 2021-02-18T22:09:13Z | 2021-02-18T22:09:12Z | 2021-02-18T22:09:12Z | 6f41c8a2bef309a66588b2875c3e24d26adb4850 | 0 | 887649942b02d70a0fe4e205e1e5eff4e745b016 | 4df548e7668b5b21d64a267964951e67894f4712 | OWNER | datasette 107914493 | https://github.com/simonw/datasette/pull/1232 | ||||
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 | ||||
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 | ||||||
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 | ||||
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 | ||||
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 | ||||||
971057476 | PR_kwDOBm6k_c454SlE | 1759 | closed | 0 | Extract facet portions of table.html out into included templates | nsmgr8 19872 | To allow users customise the facet content as they would prefer such as sorting of facet results. ordering of suggested facets etc. | 2022-06-17T22:04:04Z | 2022-06-20T18:05:45Z | 2022-06-20T18:05:45Z | 2022-06-20T18:05:45Z | 00e59ec461dc0150772b999c7cc15fcb9b507d58 | 0 | b901bb0a8eb50bc966c3e1712d73c0822edf3861 | 2e9751672d4fe329b3c359d5b7b1992283185820 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1759 | ||||
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 | ||||
664072046 | MDExOlB1bGxSZXF1ZXN0NjY0MDcyMDQ2 | 1370 | closed | 0 | Ensure db.path is a string before trying to insert into internal database | eyeseast 25778 | Fixes #1365 This is the simplest possible fix, with a test that will fail without it. There are a bunch of places where `db.path` is getting converted to and from a `Path` type, so this fix errs on the side of calling `str(db.path)` right before it's inserted. | 2021-06-08T01:16:48Z | 2021-06-21T15:57:39Z | 2021-06-21T15:57:39Z | 2021-06-21T15:57:39Z | a6c55afe8c82ead8deb32f90c9324022fd422324 | 0 | 2de712e439097de1d31f00db312cb87764642a87 | f4c5777c7e4ed406313583de09a3bf746552167f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1370 | ||||
985781142 | PR_kwDOBm6k_c46wdOW | 1766 | closed | 0 | Keep track of config_dir | eyeseast 25778 | Closes #1764 Small change that adds `self.config_dir = config_dir` to `Datasette.__init__`. This will let plugins also use `config_dir`, if available. | 2022-07-03T17:37:02Z | 2022-07-18T01:12:45Z | 2022-07-18T01:12:45Z | 2022-07-18T01:12:45Z | 01369176b0a8943ab45292ffc6f9c929b80a00e8 | 0 | 257fd240975abf9647217f5d22ccadbecd6ec9f2 | 9f1eb0d4eac483b953392157bd9fd6cc4df37de7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1766 | ||||
1201985064 | PR_kwDOBm6k_c5HpNYo | 1996 | open | 0 | Document custom json encoder | eyeseast 25778 | Closes #1983 All documentation here. Edits welcome. <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1996.org.readthedocs.build/en/1996/ <!-- readthedocs-preview datasette end --> | 2023-01-18T16:54:14Z | 2023-01-19T12:55:57Z | b608768f75e8e15ee4618ebac8bcba2da47b2aa3 | 0 | 96b8b7f1ecf3abaec5921aaedee251e36eed5339 | 6a352e99ab988dbf8fd22a100049caa6ad33f1ec | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1996 | ||||||
284743794 | MDExOlB1bGxSZXF1ZXN0Mjg0NzQzNzk0 | 500 | closed | 0 | Fix typo in install step: should be install -e | tmcw 32314 | 2019-06-03T21:50:51Z | 2019-06-11T18:48:43Z | 2019-06-11T18:48:40Z | 2019-06-11T18:48:40Z | aa911122feab13f8e65875c98edb00fd3832b7b8 | 0 | ff98f44d7f10ff65fc172df9155c77f169ab4c7f | 5e8fbf7f6fbc0b63d0479da3806dd9ccd6aaa945 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/500 | |||||
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 | |||||
181033024 | MDExOlB1bGxSZXF1ZXN0MTgxMDMzMDI0 | 200 | closed | 0 | Hide Spatialite system tables | russss 45057 | They were getting on my nerves. | 2018-04-11T21:26:58Z | 2018-04-12T21:34:48Z | 2018-04-12T21:34:48Z | 2018-04-12T21:34:48Z | d08a13314081ae2ce0313a17d3c07c1a7f2d94d5 | 0 | 765b5d677154c633b91e3e826dfffc53b7c4b5d3 | bfb4e45a7bcb880758dbc18f66258de26c1d1904 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/200 | ||||
181247568 | MDExOlB1bGxSZXF1ZXN0MTgxMjQ3NTY4 | 202 | closed | 0 | Raise 404 on nonexistent table URLs | russss 45057 | Currently they just 500. Also cleaned the logic up a bit, I hope I didn't miss anything. This is issue #184. | 2018-04-12T15:47:06Z | 2018-04-13T19:22:56Z | 2018-04-13T18:19:15Z | 134150933ade84327cfd97a88d536f5bff37a136 | 0 | 71bbf4e4be8a9ab7bcc4ddfb33760c7d902f4a34 | bfb4e45a7bcb880758dbc18f66258de26c1d1904 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/202 | |||||
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 | ||||
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 | |||||
181644805 | MDExOlB1bGxSZXF1ZXN0MTgxNjQ0ODA1 | 206 | closed | 0 | Fix sqlite error when loading rows with no incoming FKs | russss 45057 | This fixes `ERROR: conn=<sqlite3.Connection object at 0x10bbb9f10>, sql = 'select ', params = {'id': '1'}` caused by an invalid query loading incoming FKs when none exist. The error was ignored due to async but it still got printed to the console. | 2018-04-14T12:08:17Z | 2018-04-14T14:32:42Z | 2018-04-14T14:24:25Z | 2018-04-14T14:24:25Z | 1cc5161089e559c8b16049b20f7a5b3a43290c21 | 0 | 93b038e2469bee07d36ae8a943aab8b9d8610c1d | ec6abc81e433c9bac1b9f085111785fc227e9e34 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/206 | ||||
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 | ||||
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 | ||||
181723303 | MDExOlB1bGxSZXF1ZXN0MTgxNzIzMzAz | 209 | closed | 0 | Don't duplicate simple primary keys in the link column | russss 45057 | When there's a simple (single-column) primary key, it looks weird to duplicate it in the link column. This change removes the second PK column and treats the link column as if it were the PK column from a header/sorting perspective. This might make it a bit more difficult to tell what the link for the row is, I'm not sure yet. I feel like the alternative is to change the link column to just have the text "view" or something, instead of repeating the PK. (I doubt it makes much more sense with compound PKs.) Bonus change in this PR: fix urlencoding of links in the displayed HTML. Before: ![image](https://user-images.githubusercontent.com/45057/38783830-e2ababb4-40ff-11e8-97fb-25e286a8c920.png) After: ![image](https://user-images.githubusercontent.com/45057/38783835-ebf6b48e-40ff-11e8-8c47-6a864cf21ccc.png) | 2018-04-15T21:56:15Z | 2018-04-18T08:40:37Z | 2018-04-18T01:13:04Z | 2018-04-18T01:13:04Z | 136a70d88741e2a5892c3de437064a9d14494d66 | 0 | 4acde4e187795214af6fc86f46af48982ec5de46 | bf5ec2d61148f9852441934dd206b3b1c07a512f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/209 | ||||
189318453 | MDExOlB1bGxSZXF1ZXN0MTg5MzE4NDUz | 277 | closed | 0 | Refactor inspect logic | russss 45057 | This pulls the logic for inspect out into a new file which makes it a bit easier to understand. This was going to be the first part of an implementation for #276, but it seems like that might take a while so I'm going to PR a few bits of refactoring individually. | 2018-05-21T08:49:31Z | 2018-05-22T16:07:24Z | 2018-05-22T14:03:07Z | 2018-05-22T14:03:07Z | 58b5a37dbbf13868a46bcbb284509434e66eca25 | 0 | 0b81e047ad27b67ba17e8c176e38a94cf4548115 | d59366d36e95b973d674e62edff0168d5bdd90eb | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/277 | ||||
201451332 | MDExOlB1bGxSZXF1ZXN0MjAxNDUxMzMy | 345 | closed | 0 | Allow app names for `datasette publish heroku` | russss 45057 | Lets you supply the `-n` parameter for Heroku deploys, which also lets you update existing Heroku deployments. | 2018-07-14T13:12:34Z | 2018-07-14T14:09:54Z | 2018-07-14T14:04:44Z | 2018-07-14T14:04:44Z | 58fec99ab0a31bcf25968f2aa05d37de8139b83c | 0 | 864cf8c1b01a581d6dc9711efe7cb4f2a6ac87e8 | 31a5d8fa77be68d4f837f0a80a611675dce49f4b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/345 | ||||
266035382 | MDExOlB1bGxSZXF1ZXN0MjY2MDM1Mzgy | 424 | closed | 0 | Column types in inspected metadata | russss 45057 | This PR does two things: * Adds the sqlite column type for each column to the inspected table info. * Stops binary columns from being rendered to HTML, unless a plugin handles it. There's a bit more detail in the changeset descriptions. These changes are intended as a precursor to a plugin which adds first-class support for Spatialite geographic primitives, and perhaps more useful geo-stuff. | 2019-03-31T18:46:33Z | 2019-04-29T18:30:50Z | 2019-04-29T18:30:46Z | a332d4e0b3fed7165a22880430664f1c3a00963d | 0 | 92e7b8c67fe5bcd484f19576f20c9235aca9050b | 0209a0a344503157351e625f0629b686961763c9 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/424 | |||||
274174614 | MDExOlB1bGxSZXF1ZXN0Mjc0MTc0NjE0 | 437 | closed | 0 | Add inspect and prepare_sanic hooks | russss 45057 | This adds two new plugin hooks: The `inspect` hook allows plugins to add data to the inspect dictionary. The `prepare_sanic` hook allows plugins to hook into the web router. I've attached a warning to this hook in the docs in light of #272 but I want this hook now... On quick inspection, I don't think it's worthwhile to try and make this hook independent of the web framework (but it looks like Starlette would make the hook implementation a bit nicer). Ref #14 | 2019-04-28T11:53:34Z | 2019-06-24T16:38:57Z | 2019-06-24T16:38:56Z | 7aeaac7c478acf572bda61bdaa6ac3247dc15811 | 0 | f33a0a63a7442f0b665320ac3e2eb55de315f1f7 | 11b352b4d52fd02a422776edebb14f12e4994d3b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/437 | |||||
274313625 | MDExOlB1bGxSZXF1ZXN0Mjc0MzEzNjI1 | 439 | closed | 0 | [WIP] Add primary key to the extra_body_script hook arguments | russss 45057 | This allows the row to be identified on row pages. The context here is that I want to access the row's data to plot it on a map. I considered passing the entire template context through to the hook function. This would expose the actual row data and potentially avoid a further fetch request in JS, but it does make the plugin API a lot more leaky. (At any rate, using the selected row data is tricky in my case because of Spatialite's infuriating custom binary representation...) | 2019-04-29T10:08:23Z | 2019-05-01T09:58:32Z | 2019-05-01T09:58:30Z | b3cbcfef4d11d2741cf00861734d726a4730afe5 | 0 | 76b2c8fa406063b436155a7d8995e07b7e718c13 | 11b352b4d52fd02a422776edebb14f12e4994d3b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/439 | |||||
274468836 | MDExOlB1bGxSZXF1ZXN0Mjc0NDY4ODM2 | 441 | closed | 0 | Add register_output_renderer hook | russss 45057 | This changeset refactors out the JSON renderer and then adds a hook and dispatcher system to allow custom output renderers to be registered. The CSV output renderer is untouched because supporting streaming renderers through this system would be significantly more complex, and probably not worthwhile. We can't simply allow hooks to be called at request time because we need a list of supported file extensions when the request is being routed in order to resolve ambiguous database/table names. So, renderers need to be registered at startup. I've tried to make this API independent of Sanic's request/response objects so that this can remain stable during the switch to ASGI. I'm using dictionaries to keep it simple and to make adding additional options in the future easy. Fixes #440 | 2019-04-29T18:03:21Z | 2019-05-01T23:01:57Z | 2019-05-01T23:01:57Z | 2019-05-01T23:01:57Z | cf406c075433882b656e340870adf7757976fa4c | 0 | c9f941f06eb0268841de49407725917c74a8a2dc | 11b352b4d52fd02a422776edebb14f12e4994d3b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/441 | ||||
274478761 | MDExOlB1bGxSZXF1ZXN0Mjc0NDc4NzYx | 442 | closed | 0 | Suppress rendering of binary data | russss 45057 | Binary columns (including spatialite geographies) get shown as ugly binary strings in the HTML by default. Nobody wants to see that mess. Show the size of the column in bytes instead. If you want to decode the binary data, you can use a plugin to do it. | 2019-04-29T18:36:41Z | 2019-05-03T18:26:48Z | 2019-05-03T16:44:49Z | 2019-05-03T16:44:49Z | d555baf508de71a5e3dc9a9aed2c13f6f202956d | 0 | bbbd9ea5ad774f088bd963106fa5756bfd77c799 | 11b352b4d52fd02a422776edebb14f12e4994d3b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/442 | ||||
275275610 | MDExOlB1bGxSZXF1ZXN0Mjc1Mjc1NjEw | 443 | closed | 0 | Pass view_name to extra_body_script hook | russss 45057 | At the moment it's not easy to tell whether the hook is being called in (for example) the row or table view, as in both cases the `database` and `table` parameters are provided. This passes the `view_name` added in #441 to the `extra_body_script` hook. | 2019-05-02T08:38:36Z | 2019-05-03T13:12:20Z | 2019-05-03T13:12:20Z | 2019-05-03T13:12:20Z | bf229c9bd88179c8ec16bd65fd4fb28ab4241c2e | 0 | 83b6b82d4787b30d34eb26c22ad1ff9c5c118134 | efc93b8ab5a21e3802f75f08d5e41409f5684b5d | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/443 | ||||
275281307 | MDExOlB1bGxSZXF1ZXN0Mjc1MjgxMzA3 | 444 | closed | 0 | Add a max-line-length setting for flake8 | russss 45057 | This stops my automatic editor linting from flagging lines which are too long. It's been lingering in my checkout for ages. 160 is an arbitrary large number - we could alter it if we have any opinions (but I find the line length limit to be my least favourite part of PEP8). | 2019-05-02T08:58:57Z | 2019-05-04T09:44:48Z | 2019-05-03T13:11:28Z | 2019-05-03T13:11:28Z | 470cf0b05d4fda0d2563f81c7e32af13fe346ccc | 0 | 4f0d265951d7e95920298b46eff39bb9cc783984 | efc93b8ab5a21e3802f75f08d5e41409f5684b5d | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/444 | ||||
275909197 | MDExOlB1bGxSZXF1ZXN0Mjc1OTA5MTk3 | 450 | closed | 0 | Coalesce hidden table count to 0 | russss 45057 | For some reason I'm hitting a `None` here with a FTS table. I'm not entirely sure why but this makes the logic work the same as with non-hidden tables. | 2019-05-04T09:37:10Z | 2019-05-11T18:10:09Z | 2019-05-11T18:10:09Z | 5918489a2a2f14b58c5c71773a9d4fb6bb0e3e0a | 0 | f81d9df985e8d054fc16ab91f72878fe71656354 | 55643430f7ac8d27e99b00e7cf79db741003e811 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/450 | |||||
275923066 | MDExOlB1bGxSZXF1ZXN0Mjc1OTIzMDY2 | 452 | open | 0 | SQL builder utility classes | russss 45057 | This adds a straightforward set of classes to aid in the construction of SQL queries. My plan for this was to allow plugins to manipulate the Datasette-generated SQL in a more structured way. I'm not sure that's going to work, but I feel like this is still a step forward - it reduces the number of intermediate variables in `TableView.data` which aids readability, and also factors out a lot of the boring string concatenation. There are a fair number of minor structure changes in here too as I've tried to make the ordering of `TableView.data` a bit more logical. As far as I can tell, I haven't broken anything... | 2019-05-04T13:57:47Z | 2019-05-04T14:03:04Z | 45e7460d78c3f87c01f2e9e142cb7f646b23b156 | 0 | c63762280d3bd66ad6ea24933dafe218861efef2 | 55643430f7ac8d27e99b00e7cf79db741003e811 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/452 | ||||||
183135604 | MDExOlB1bGxSZXF1ZXN0MTgzMTM1NjA0 | 232 | closed | 0 | Fix a typo | lsb 45281 | It looks like this was the only instance of it: https://github.com/simonw/datasette/search?utf8=%E2%9C%93&q=SOLite&type= | 2018-04-20T18:20:04Z | 2018-04-21T00:19:08Z | 2018-04-21T00:19:08Z | 2018-04-21T00:19:08Z | a971718d2a5e1b61b5e5c27b0ef6c4ec65616e35 | 0 | b0f0f16a1c1f48aba62dfa30fa039dc6d3c07802 | 3a5d7951ce8f35118ffdd7f8d86e09b909e1218c | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/232 | ||||
508719567 | MDExOlB1bGxSZXF1ZXN0NTA4NzE5NTY3 | 1043 | closed | 0 | Include LICENSE in sdist | bollwyvl 45380 | Hi, thanks for `datasette`! This PR adds the `LICENSE` to source distributions, which seems the norm for Apache-2.0 stuff. I noticed the [0.50.2 sdist](https://files.pythonhosted.org/packages/f2/ba/1b5f182c3f1769c0863bcaa77406bdcb81c92e31bb579959c01b1d8951c0/datasette-0.50.2.tar.gz) doesn't ship `LICENSE`, but the 0.5.2 `whl` does, so I'm assuming the intent _is_ to ship... and it's a one-liner! Motivation: It might be a bit of a slog, but I'm looking to see about getting `datasette` (and friends!) available on conda-forge. There are a few missing upstreams (`asgi-csrf`, `python-basecov`, `mergedeep`) and some of the plugins don't even appear to _have_ tarballs (just `whl`!), but the little stuff like licenses are nice to get out handled upstream vs separately grabbing them. | 2020-10-23T05:04:12Z | 2020-10-26T00:14:57Z | 2020-10-23T20:54:35Z | 2020-10-23T20:54:35Z | 976e5f74aae1fa0d406df6691dc8b5feeebe8788 | 0 | dc4129cb37060b52775d96e756f7cdb65ee76bc3 | d0cc6f4c32e1f89238ddec782086b3122f445bd4 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1043 | ||||
508720660 | MDExOlB1bGxSZXF1ZXN0NTA4NzIwNjYw | 1044 | closed | 0 | Add minimum supported python | bollwyvl 45380 | Thanks for `datasette`! This PR adds `python_requires` to formally signal the [minimum supported python version](https://packaging.python.org/guides/dropping-older-python-versions/#specify-the-version-ranges-for-supported-python-distributions) (which is pointed out with classifiers, so seems pretty straightforward). | 2020-10-23T05:08:03Z | 2020-10-23T20:53:08Z | 2020-10-23T20:53:08Z | 2020-10-23T20:53:08Z | cab8e65261b117b493af6a0b21aa2e1ae4564419 | 0 | 6453ab18e56b36bc912b6f24c4a43002c6084ade | d0cc6f4c32e1f89238ddec782086b3122f445bd4 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1044 | ||||
226314862 | MDExOlB1bGxSZXF1ZXN0MjI2MzE0ODYy | 367 | closed | 0 | Mark codemirror files as vendored | jaap3 48517 | GitHub lists datasette as a Javascript project, primarily because of the vendored codemirror files. This is somewhat confusing when you're looking for datasette, knowing it's written in Python. Luckily it's possible exclude certain files from GitHub's code statistics: https://github.com/github/linguist#using-gitattributes | 2018-10-27T18:41:25Z | 2019-05-03T21:12:09Z | 2019-05-03T21:11:20Z | 2019-05-03T21:11:20Z | 66c87cee0c7344c7877373c60b180c766c206101 | 0 | 8e23e4548eedd58b0ff0e69c9a5010fc1a0136d5 | 6b398c2971801d9a20cfdb7998f59020d5534e22 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/367 | ||||
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 | ||||
434085235 | MDExOlB1bGxSZXF1ZXN0NDM0MDg1MjM1 | 848 | closed | 0 | Reload support for config_dir mode. | amjith 49260 | A reference implementation for adding support to reload when datasette is in the config_dir mode. This implementation is flawed since it is watching the entire directory and any changes to the database will reload the server and adding unrelated files to the directory will also reload the server. | 2020-06-14T02:34:46Z | 2020-07-03T02:44:54Z | 2020-07-03T02:44:53Z | 888538efdbf545c0df524ca590a17fb6c6fa2419 | 0 | 0d100d15aca93fae200b3bc2e29dfd60aaa4b384 | 57879dc8b346a435804a9e45ffaacbf2a0228bc6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/848 | |||||
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 | ||||
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 | |||||
528997614 | MDExOlB1bGxSZXF1ZXN0NTI4OTk3NjE0 | 1112 | closed | 0 | Fix --metadata doc usage | jefftriplett 50527 | I stumbled on this while trying to figure out how to configure datasette-ripgrep via https://github.com/simonw/datasette-ripgrep/issues/15 You may not want to update the changelog (those are annoying) so I added two commits in case that's easier. | 2020-11-28T19:19:51Z | 2020-11-28T23:28:21Z | 2020-11-28T19:53:48Z | 2020-11-28T19:53:48Z | bbde835a1fec01458e8d00929e7bab6d6a5ba948 | Datasette 0.52 6055094 | 0 | 1a30fc259205df736daf068c57a0a6ae2c21ffa9 | 37d18a5bce08c9ee53c080f613bae84fc2ccc853 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1112 | |||
727436404 | MDExOlB1bGxSZXF1ZXN0NzI3NDM2NDA0 | 1458 | closed | 0 | Rework the `--static` documentation a bit | ctb 51016 | Per https://github.com/simonw/datasette/issues/1457, I was confused by the current docs and took a few minutes to sort out what the right combination of locations was. This is a PR that differentiates the docs to split out `/static/` in URL from `--static` option and `./static/` path. Not wedded to the details in any way, happy to change to suit. Fixes #1457. | 2021-09-05T17:08:48Z | 2021-10-15T13:24:29Z | 2021-10-14T18:39:55Z | 2021-10-14T18:39:55Z | 0fdbf004843850f200e077a3c87427fe16c18b85 | 0 | e00c3a274d073c09707f4b6edd2ed652efe03918 | d57ab156b35ec642549fb69d08279850065027d2 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1458 | ||||
729704537 | MDExOlB1bGxSZXF1ZXN0NzI5NzA0NTM3 | 1465 | open | 0 | add support for -o --get /path | ctb 51016 | Fixes https://github.com/simonw/datasette/issues/1459 Adds support for `--open --get /path` to be used in combination. If `--open` is provided alone, datasette will open a web page to a default URL. If `--get <url>` is provided alone, datasette will output the result of doing a GET to that URL and then exit. If `--open --get <url>` are provided together, datasette will open a web page to that URL. TODO items: - [ ] update documentation - [ ] print out error message when `--root --open --get <url>` is used - [ ] adjust code to require that `<url>` start with a `/` when `-o --get <url>` is used - [ ] add test(s) note, '@CTB' is used in this PR to flag code that needs revisiting. | 2021-09-08T14:30:42Z | 2021-09-08T14:31:45Z | 064e9511923fc4e50566bf9430b4a5b26f169357 | 1 | 9b66a7d9ba55bad8a3b409ede8855f4b4fff1f88 | d57ab156b35ec642549fb69d08279850065027d2 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1465 | ||||||
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 | ||||
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 | ||||
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 | ||||||
687298112 | MDExOlB1bGxSZXF1ZXN0Njg3Mjk4MTEy | 1392 | closed | 0 | Update deploying.rst | aslakr 80737 | Use same base url for Apache as in the example | 2021-07-11T08:43:19Z | 2021-07-13T17:42:31Z | 2021-07-13T17:42:27Z | 2021-07-13T17:42:27Z | 4054e96a3914e821d0880a40a7284aaa9db1eaaa | 0 | f57a8ab0905bb85a9334fe4bf87e2cd736c78cbb | f83c84fd51d144036924ae77d99f12b0a69e7e6f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1392 | ||||
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 | ||||
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 | ||||
509590205 | MDExOlB1bGxSZXF1ZXN0NTA5NTkwMjA1 | 1049 | closed | 0 | Add template block prior to extra URL loaders | psychemedia 82988 | To handle packages that require Javascript state setting prior to loading a package (eg [`thebelab`](https://thebelab.readthedocs.io/en/latest/examples/minimal_example.html), provide a template block before the URLs are loaded. | 2020-10-25T13:08:55Z | 2020-10-29T09:20:52Z | 2020-10-29T09:20:34Z | 99f994b14e2dbe22fda18b67dd5c824d359443fb | 0 | 50a743ad35684f09d3c3880f6af2019e59271237 | 42f4851e3e7885f1092f104d6c883cea40b12f02 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1049 | |||||
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 | ||||||
1123392399 | PR_kwDOBm6k_c5C9ZuP | 1893 | closed | 0 | Upgrade to CodeMirror 6, add SQL autocomplete | bgrins 95570 | In an effort to get closer to table / column autocomplete I took a shot at https://github.com/simonw/datasette/issues/1796. I haven't done a lot of testing but would be curious if this fixes some of the concerns raised in https://github.com/simonw/datasette/issues/1796#issue-1355148385 for example. Done: * Changed to bundling using rollup as per https://codemirror.net/examples/bundle/ * Restored a fromTextArea-like function from https://codemirror.net/docs/migration/ * Removed old JS and CSS files (no external CSS needed anymore as per https://codemirror.net/examples/styling/) * Updated instructions for building the bundle Not done: * cmResize had an error, so commented out the resize handle * Add extraKeys option for shift+enter and tab <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1893.org.readthedocs.build/en/1893/ <!-- readthedocs-preview datasette end --> | 2022-11-15T20:52:35Z | 2022-11-16T23:54:02Z | 2022-11-16T23:49:06Z | 2022-11-16T23:49:06Z | ae11fa5887e03376704c22e5d0969c1e0642d8d8 | 0 | f254be4b38936e95e7a7f25866e7c6b0520db96f | 6f610e1d94b7b8ec605b5b7fcb01537f6adf9c5b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1893 | ||||
1125261188 | PR_kwDOBm6k_c5DEh-E | 1898 | closed | 0 | Use DOMContentLoaded instead of load event for CodeMirror initialization | bgrins 95570 | Closes #1894 <!-- readthedocs-preview datasette start --> ---- :books: Documentation preview :books:: https://datasette--1898.org.readthedocs.build/en/1898/ <!-- readthedocs-preview datasette end --> | 2022-11-17T00:19:21Z | 2022-11-18T07:29:01Z | 2022-11-18T07:29:01Z | 2022-11-18T07:29:01Z | 3ecd131e57add427d847b614c920c9624bb2e66b | 0 | 5eb4ea45ce6cdc7003fc7c5175977b025b0f111e | 00e233d7a7f6443cb95fb5227c23580c48551cad | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1898 |
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]);