github
html_url | issue_url | id | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
https://github.com/simonw/datasette/pull/1659#issuecomment-1068193035 | https://api.github.com/repos/simonw/datasette/issues/1659 | 1068193035 | IC_kwDOBm6k_c4_q1UL | 22429695 | 2022-03-15T16:28:25Z | 2022-03-15T17:56:09Z | NONE | # [Codecov](https://codecov.io/gh/simonw/datasette/pull/1659?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report > Merging [#1659](https://codecov.io/gh/simonw/datasette/pull/1659?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (85dde28) into [main](https://codecov.io/gh/simonw/datasette/commit/c10cd48baf106659bf3f129ad7bfb2226be73821?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (c10cd48) will **increase** coverage by `0.03%`. > The diff coverage is `100.00%`. > :exclamation: Current head 85dde28 differs from pull request most recent head 99b8263. Consider uploading reports for the commit 99b8263 to get more accurate results ```diff @@ Coverage Diff @@ ## main #1659 +/- ## ========================================== + Coverage 92.06% 92.10% +0.03% ========================================== Files 34 34 Lines 4576 4584 +8 ========================================== + Hits 4213 4222 +9 + Misses 363 362 -1 ``` | [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1659?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/app.py](https://codecov.io/gh/simonw/datasette/pull/1659/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.36% <100.00%> (ø)` | | | [datasette/url\_builder.py](https://codecov.io/gh/simonw/datasette/pull/1659/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3VybF9idWlsZGVyLnB5) | `100.00% <100.00%> (ø… | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1169895600 | |
https://github.com/simonw/datasette/issues/1657#issuecomment-1068125636 | https://api.github.com/repos/simonw/datasette/issues/1657 | 1068125636 | IC_kwDOBm6k_c4_qk3E | 9599 | 2022-03-15T15:30:54Z | 2022-03-15T15:30:54Z | OWNER | I've made a real mess of this. I'm going to revert Datasette`main` back to the last commit that passed the tests and try this again in a branch. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1168995756 | |
https://github.com/simonw/datasette/issues/1657#issuecomment-1068126821 | https://api.github.com/repos/simonw/datasette/issues/1657 | 1068126821 | IC_kwDOBm6k_c4_qlJl | 9599 | 2022-03-15T15:31:54Z | 2022-03-15T15:31:54Z | OWNER | The state I had got to prior to that revert is in https://github.com/simonw/datasette/tree/issue-1657-wip | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1168995756 | |
https://github.com/simonw/datasette/issues/1658#issuecomment-1068138578 | https://api.github.com/repos/simonw/datasette/issues/1658 | 1068138578 | IC_kwDOBm6k_c4_qoBS | 9599 | 2022-03-15T15:42:49Z | 2022-03-15T15:42:49Z | OWNER | Easiest way to do this was with three reverts, then cherry-pick back the code of conduct. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1169840669 | |
https://github.com/simonw/datasette/issues/1657#issuecomment-1068148013 | https://api.github.com/repos/simonw/datasette/issues/1657 | 1068148013 | IC_kwDOBm6k_c4_qqUt | 9599 | 2022-03-15T15:50:15Z | 2022-03-15T15:50:15Z | OWNER | The thing that broke everything was this change: <img width="569" alt="image" src="https://user-images.githubusercontent.com/9599/158417416-285018c1-af45-49bc-9687-829c0c17ff05.png"> I'm going to bring back the horrible `get_format()` method for the moment, with its weird mutations of the `args` object, then try and get rid of it again later. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1168995756 | |
https://github.com/simonw/datasette/pull/1656#issuecomment-1068154183 | https://api.github.com/repos/simonw/datasette/issues/1656 | 1068154183 | IC_kwDOBm6k_c4_qr1H | 22429695 | 2022-03-15T15:55:34Z | 2022-03-15T15:55:34Z | NONE | # [Codecov](https://codecov.io/gh/simonw/datasette/pull/1656?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report > Merging [#1656](https://codecov.io/gh/simonw/datasette/pull/1656?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (5d9883f) into [main](https://codecov.io/gh/simonw/datasette/commit/c10cd48baf106659bf3f129ad7bfb2226be73821?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) (c10cd48) will **not change** coverage. > The diff coverage is `n/a`. ```diff @@ Coverage Diff @@ ## main #1656 +/- ## ======================================= Coverage 92.06% 92.06% ======================================= Files 34 34 Lines 4576 4576 ======================================= Hits 4213 4213 Misses 363 363 ``` ------ [Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1656?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1656?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Last update [c10cd48...5d9883f](https://codecov.io/gh/simonw/datasette/pull/1656?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Read the [comment docs](https://docs.codecov.io/d… | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1168357113 | |
https://github.com/simonw/datasette/issues/1657#issuecomment-1068181623 | https://api.github.com/repos/simonw/datasette/issues/1657 | 1068181623 | IC_kwDOBm6k_c4_qyh3 | 9599 | 2022-03-15T16:18:23Z | 2022-03-15T16:18:23Z | OWNER | Moving this to a PR. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1168995756 | |
https://github.com/simonw/datasette/issues/857#issuecomment-1068450483 | https://api.github.com/repos/simonw/datasette/issues/857 | 1068450483 | IC_kwDOBm6k_c4_r0Kz | 9599 | 2022-03-15T20:43:55Z | 2022-03-15T20:43:55Z | OWNER | Dupe of #1510. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 642297505 | |
https://github.com/simonw/datasette/issues/1439#issuecomment-1068461449 | https://api.github.com/repos/simonw/datasette/issues/1439 | 1068461449 | IC_kwDOBm6k_c4_r22J | 9599 | 2022-03-15T20:51:26Z | 2022-03-15T20:51:26Z | OWNER | I'm happy with this now that I've landed Tilde encoding in #1657. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 973139047 | |
https://github.com/simonw/datasette/issues/1657#issuecomment-1068296042 | https://api.github.com/repos/simonw/datasette/issues/1657 | 1068296042 | IC_kwDOBm6k_c4_rOdq | 9599 | 2022-03-15T18:05:54Z | 2022-03-15T18:05:54Z | OWNER | Documentation: https://docs.datasette.io/en/latest/internals.html#tilde-encoding | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1168995756 | |
https://github.com/simonw/datasette/issues/1657#issuecomment-1068306916 | https://api.github.com/repos/simonw/datasette/issues/1657 | 1068306916 | IC_kwDOBm6k_c4_rRHk | 9599 | 2022-03-15T18:15:11Z | 2022-03-15T18:15:11Z | OWNER | Now live here: https://fivethirtyeight.datasettes.com/fivethirtyeight/august-senate-polls~2Faugust_senate_polls | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1168995756 | |
https://github.com/simonw/datasette/issues/1657#issuecomment-1068318454 | https://api.github.com/repos/simonw/datasette/issues/1657 | 1068318454 | IC_kwDOBm6k_c4_rT72 | 9599 | 2022-03-15T18:25:11Z | 2022-03-15T18:25:11Z | OWNER | Demo: - https://latest.datasette.io/fixtures/table~2Fwith~2Fslashes~2Ecsv - https://latest.datasette.io/fixtures/table~2Fwith~2Fslashes~2Ecsv.csv - https://latest.datasette.io/fixtures/table~2Fwith~2Fslashes~2Ecsv.json | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1168995756 | |
https://github.com/simonw/datasette/issues/1651#issuecomment-1068319530 | https://api.github.com/repos/simonw/datasette/issues/1651 | 1068319530 | IC_kwDOBm6k_c4_rUMq | 9599 | 2022-03-15T18:25:42Z | 2022-03-15T18:25:42Z | OWNER | Done: - https://latest.datasette.io/fixtures/table~2Fwith~2Fslashes~2Ecsv - https://latest.datasette.io/fixtures/table~2Fwith~2Fslashes~2Ecsv.csv - https://latest.datasette.io/fixtures/table~2Fwith~2Fslashes~2Ecsv.json | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1161584460 | |
https://github.com/simonw/datasette/issues/1062#issuecomment-1068327874 | https://api.github.com/repos/simonw/datasette/issues/1062 | 1068327874 | IC_kwDOBm6k_c4_rWPC | 9599 | 2022-03-15T18:33:49Z | 2022-03-15T18:33:49Z | OWNER | I can get regular `.json` to stream too, using the pattern described in this TIL: https://til.simonwillison.net/python/output-json-array-streaming | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 732674148 | |
https://github.com/simonw/datasette/issues/1660#issuecomment-1068415072 | https://api.github.com/repos/simonw/datasette/issues/1660 | 1068415072 | IC_kwDOBm6k_c4_rrhg | 9599 | 2022-03-15T20:02:36Z | 2022-03-15T20:02:36Z | OWNER | This is one of the worst bits - the `get_format()` method on the `DataView` base class actually modifies `args`, including removing keys! Really confusing: https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/views/base.py#L454-L482 Then `BaseView` has some surprising responsibilities. It has a utility helper for checking multiple permissions at once: https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/views/base.py#L81-L105 And its own render method that adds extra stuff to the template context and handles the rel: alternate header: https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/views/base.py#L131-L157 Then `DataView` does all sorts of weird stuff - from handling database hashes (which I want to remove, see #647): https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/views/base.py#L206-L219 To streaming CSV responses: https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/views/base.py#L286-L308 To handling SQLite exceptions: https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/views/base.py#L514-L526 And a ton more. It' s a big mess. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1170144879 | |
https://github.com/simonw/datasette/issues/1660#issuecomment-1068417357 | https://api.github.com/repos/simonw/datasette/issues/1660 | 1068417357 | IC_kwDOBm6k_c4_rsFN | 9599 | 2022-03-15T20:05:08Z | 2022-03-15T20:05:08Z | OWNER | `DataView` is used as the base class for: - `DatabaseView` - `DatabaseDownload` (just so the permissions checks can be called) - `QueryView` - which isn't routed to directly, it's called from `DatabaseView` if `?sql=` is available and `TableView` for canned queries - `RowTableShared` which is the base class for `TableView` and `RowView` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1170144879 | |
https://github.com/simonw/datasette/issues/1660#issuecomment-1068418619 | https://api.github.com/repos/simonw/datasette/issues/1660 | 1068418619 | IC_kwDOBm6k_c4_rsY7 | 9599 | 2022-03-15T20:06:19Z | 2022-03-15T20:06:19Z | OWNER | Also related: - #878 - #1512 - #1518 - #870 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1170144879 | |
https://github.com/simonw/datasette/issues/1509#issuecomment-1068445412 | https://api.github.com/repos/simonw/datasette/issues/1509 | 1068445412 | IC_kwDOBm6k_c4_ry7k | 9599 | 2022-03-15T20:37:50Z | 2022-03-15T20:38:56Z | OWNER | ... maybe Datasette itself should include interactive API documentation, in addition to documenting it in the manual? `/dbname/table/-/apidocs` could return documentation about the specific table, taking into account columns and types. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1054243511 | |
https://github.com/simonw/datasette/issues/1510#issuecomment-1068443509 | https://api.github.com/repos/simonw/datasette/issues/1510 | 1068443509 | IC_kwDOBm6k_c4_ryd1 | 9599 | 2022-03-15T20:35:29Z | 2022-03-15T20:35:29Z | OWNER | If I set a rule that everything available in the template context MUST also be available via the JSON API (maybe through an extras mechanism) I can combine this with API documentation and solve both at once. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1054244712 | |
https://github.com/simonw/datasette/issues/1509#issuecomment-1068444767 | https://api.github.com/repos/simonw/datasette/issues/1509 | 1068444767 | IC_kwDOBm6k_c4_ryxf | 9599 | 2022-03-15T20:37:03Z | 2022-03-15T20:37:03Z | OWNER | Idea: I could add Pydantic https://pydantic-docs.helpmanual.io/usage/schema/ as an optional test dependency and use it to generate JSON schemas and run validation against examples in the API documentation. Maybe generate API documentation from it too? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1054243511 | |
https://github.com/simonw/datasette/issues/647#issuecomment-1068539404 | https://api.github.com/repos/simonw/datasette/issues/647 | 1068539404 | IC_kwDOBm6k_c4_sJ4M | 9599 | 2022-03-15T22:49:01Z | 2022-03-15T22:49:01Z | OWNER | I shipped the first version of this: https://github.com/simonw/datasette-hashed-urls Next step: test it with a live demo: - https://github.com/simonw/datasette-hashed-urls/issues/2 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 531755959 | |
https://github.com/simonw/datasette/issues/647#issuecomment-1068552696 | https://api.github.com/repos/simonw/datasette/issues/647 | 1068552696 | IC_kwDOBm6k_c4_sNH4 | 9599 | 2022-03-15T23:13:06Z | 2022-03-15T23:13:06Z | OWNER | The plugin works. I'm going to implement one last feature for it: - https://github.com/simonw/datasette-hashed-urls/issues/3 Then I can remove hashed URL mode in a separate issue. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 531755959 | |
https://github.com/simonw/datasette/issues/1661#issuecomment-1068553454 | https://api.github.com/repos/simonw/datasette/issues/1661 | 1068553454 | IC_kwDOBm6k_c4_sNTu | 9599 | 2022-03-15T23:14:37Z | 2022-03-15T23:14:37Z | OWNER | This is going to simplify the code in the various view classes substantially: - #1660 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1170355774 | |
https://github.com/simonw/datasette/issues/1661#issuecomment-1068554827 | https://api.github.com/repos/simonw/datasette/issues/1661 | 1068554827 | IC_kwDOBm6k_c4_sNpL | 9599 | 2022-03-15T23:16:58Z | 2022-03-15T23:18:58Z | OWNER | If you attempt to use the [old setting](https://docs.datasette.io/en/stable/settings.html#hash-urls): datasette mydatabase.db --setting hash_urls 1 It should error with a message saying that the feature has been moved to a plugin. I'll do this with a `deprecated_settings` mechanism so the error can be detected even though `datasette --help-settings` will no longer return the setting. https://github.com/simonw/datasette/blob/77a904fea14f743560af9cc668146339bdbbd0a9/datasette/cli.py#L479-L489 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1170355774 | |
https://github.com/simonw/sqlite-utils/issues/131#issuecomment-1067981656 | https://api.github.com/repos/simonw/sqlite-utils/issues/131 | 1067981656 | IC_kwDOCGYnMM4_qBtY | 25778 | 2022-03-15T13:21:42Z | 2022-03-15T13:21:42Z | CONTRIBUTOR | Just ran into this issue last night. I have a big table that's _mostly_ numbers, but also a zip code column in a state where ZIP codes start with 0. Would be great to run something like this: ```sh sqlite-utils insert data.db places file.csv --csv --detect-types --type zipcode text ``` Maybe I'll take a crack at this one. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 675753042 | |
https://github.com/simonw/datasette/issues/870#issuecomment-650696054 | https://api.github.com/repos/simonw/datasette/issues/870 | 650696054 | MDEyOklzc3VlQ29tbWVudDY1MDY5NjA1NA== | 9599 | 2020-06-28T04:52:41Z | 2022-03-15T20:07:17Z | OWNER | This would be a lot easier if I had extracted out the hash logic to a plugin, see: - #647 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 646737558 |