issues
1,865 rows where type = "issue" and user = 9599 sorted by comments
This data as json, CSV (advanced)
Suggested facets: author_association, state_reason, created_at (date), updated_at (date), closed_at (date)
repo 14
type 1
- issue · 1,865 ✖
id | node_id | number | title | user | state | locked | assignee | milestone | comments ▼ | created_at | updated_at | closed_at | author_association | pull_request | body | repo | type | active_lock_reason | performed_via_github_app | reactions | draft | state_reason |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
267513523 | MDU6SXNzdWUyNjc1MTM1MjM= | 2 | Initial proof-of-concept | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-10-23T00:45:37Z | 2017-10-23T01:26:39Z | 2017-10-23T00:45:53Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/2/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
267516329 | MDU6SXNzdWUyNjc1MTYzMjk= | 6 | Better JSON response options | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-10-23T01:18:47Z | 2017-10-24T15:07:58Z | 2017-10-24T15:07:58Z | OWNER | Default returns this:
.jsono instead returns a list of objects each duplicating the headers in its keys. They both probably share the same pagination mechanism so it might not be a jsono flat list. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/6/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
267713226 | MDU6SXNzdWUyNjc3MTMyMjY= | 15 | Support multiple databases | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-10-23T15:29:51Z | 2017-10-24T02:01:38Z | 2017-10-24T02:01:38Z | OWNER | I'm going to loop through every database file in the app root directory and bundle all of them. Each one will be accessible at /databasename Note this is without the file extension, and we will disallow multiple files with the same name but different extensions. Supported extensions to start with will be |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/15/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
267769431 | MDU6SXNzdWUyNjc3Njk0MzE= | 22 | Refactor to use class based views | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-10-23T18:26:22Z | 2019-05-27T20:05:56Z | 2017-10-24T02:25:53Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/22/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
267886865 | MDU6SXNzdWUyNjc4ODY4NjU= | 28 | /database?sql= should redirect correctly | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-10-24T03:38:44Z | 2017-10-24T23:54:30Z | 2017-10-24T23:54:30Z | OWNER | Needs to redirect to the location with the hash while retaining the query string. This should also work with the .json extension. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/28/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
268110769 | MDU6SXNzdWUyNjgxMTA3Njk= | 33 | Use locust for benchmarking and load tests | simonw 9599 | open | 0 | 0 | 2017-10-24T17:00:09Z | 2017-12-10T03:12:16Z | OWNER | https://github.com/locustio/locust Needed for #32 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/33/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
271242824 | MDU6SXNzdWUyNzEyNDI4MjQ= | 45 | Run SQLite operations in a thread pool | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-11-05T02:27:12Z | 2017-11-05T02:27:34Z | 2017-11-05T02:27:33Z | OWNER | Let's run SQLite operations in threads, so we don't end up blocking our core event loop. These articles are helpful: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/45/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
273128608 | MDU6SXNzdWUyNzMxMjg2MDg= | 58 | publish command should detect if "now" is installed | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-11-11T08:10:17Z | 2017-11-11T16:00:07Z | 2017-11-11T16:00:07Z | OWNER | If now is not installed, it should tell you where to get it. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/58/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
273173116 | MDU6SXNzdWUyNzMxNzMxMTY= | 61 | Common header and footer | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-11-11T20:20:08Z | 2017-11-11T20:37:19Z | 2017-11-11T20:37:19Z | OWNER | Split from #16
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/61/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
273174397 | MDU6SXNzdWUyNzMxNzQzOTc= | 62 | Link to .json and .jsono versions on various pages | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-11-11T20:37:47Z | 2017-11-11T22:41:06Z | 2017-11-11T22:41:06Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/62/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
273267081 | MDU6SXNzdWUyNzMyNjcwODE= | 70 | Paginate views using OFFSET/LIMIT | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-11-12T21:30:29Z | 2017-11-13T21:11:01Z | 2017-11-13T21:11:01Z | OWNER | As with #69 these should obey a maximum offset setting, which can be over-ridden. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/70/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
273283166 | MDU6SXNzdWUyNzMyODMxNjY= | 72 | publish command should take an optional --name argument | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-11-13T00:59:35Z | 2017-11-13T02:12:27Z | 2017-11-13T02:12:27Z | OWNER | To set the directory name so that now will inherit it as the name of the app. Defaults to datasette |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/72/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
273510781 | MDU6SXNzdWUyNzM1MTA3ODE= | 76 | publish should have required argument specifying publisher | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-11-13T17:21:26Z | 2017-11-13T18:41:01Z | 2017-11-13T18:41:01Z | OWNER | Initially the only argument will be “now” - but “hyper” can be added in the future |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/76/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
273537940 | MDU6SXNzdWUyNzM1Mzc5NDA= | 77 | Add Travis CI badge to README | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-11-13T18:52:25Z | 2017-11-13T21:24:15Z | 2017-11-13T21:24:15Z | OWNER | Also fix this newline issue: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/77/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
273554949 | MDU6SXNzdWUyNzM1NTQ5NDk= | 78 | Rename after to next and provide a next_url | simonw 9599 | closed | 0 | Ship first public release 2857392 | 0 | 2017-11-13T19:48:31Z | 2017-11-13T20:35:03Z | 2017-11-13T20:35:03Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/78/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
273626815 | MDU6SXNzdWUyNzM2MjY4MTU= | 83 | Individual row view is broken | simonw 9599 | closed | 0 | 0 | 2017-11-14T00:29:11Z | 2017-11-14T00:45:34Z | 2017-11-14T00:45:34Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/83/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
273660425 | MDU6SXNzdWUyNzM2NjA0MjU= | 84 | datasette package --metadata does not work with a relative path | simonw 9599 | closed | 0 | 0 | 2017-11-14T04:00:50Z | 2017-11-15T05:18:35Z | 2017-11-15T05:18:35Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/84/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
273895344 | MDU6SXNzdWUyNzM4OTUzNDQ= | 92 | Add --license --license_url --source --source_url --title arguments to datasette publish | simonw 9599 | closed | 0 | 0 | 2017-11-14T18:27:07Z | 2017-11-15T05:04:41Z | 2017-11-15T05:04:41Z | OWNER | I keep on using the https://gist.github.com/simonw/9f8bf23b37a42d7628c4dcc4bba10253 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/92/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
274023417 | MDU6SXNzdWUyNzQwMjM0MTc= | 98 | Default to 127.0.0.1 not 0.0.0.0 | simonw 9599 | closed | 0 | 0 | 2017-11-15T03:31:55Z | 2017-11-15T05:08:54Z | 2017-11-15T05:08:54Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/98/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
274023625 | MDU6SXNzdWUyNzQwMjM2MjU= | 99 | Start a change log | simonw 9599 | closed | 0 | 0 | 2017-11-15T03:33:21Z | 2017-11-16T15:12:46Z | 2017-11-16T15:12:45Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/99/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
274374317 | MDU6SXNzdWUyNzQzNzQzMTc= | 108 | Include version in python code, output in template | simonw 9599 | closed | 0 | 0 | 2017-11-16T02:32:40Z | 2017-11-16T15:30:04Z | 2017-11-16T15:30:04Z | OWNER | It would be useful if I could tell which version of datasette was running on a site. Embed version number and include it in maybe a tooltip on the “powered by datasette” link |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/108/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
274662378 | MDU6SXNzdWUyNzQ2NjIzNzg= | 113 | Fix the bug on the database custom SQL query view | simonw 9599 | closed | 0 | Foreign key edition 2919870 | 0 | 2017-11-16T21:01:26Z | 2017-11-17T15:40:52Z | 2017-11-17T15:40:52Z | OWNER | This is the bug I fixed in 01e0c3fa18cd0dd7970e208790ffd683a420c924 - but I only fixed it in one place. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/113/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
275159710 | MDU6SXNzdWUyNzUxNTk3MTA= | 128 | Every visualization should have an "embed" button | simonw 9599 | open | 0 | 0 | 2017-11-19T13:38:13Z | 2019-05-13T18:33:51Z | OWNER | At least for the first round of visualizations, any time you construct one using the UI the result should include an "embed this" button that returns source code to copy and paste These examples should use unpkg.com (or similarl) urls with SRI hashes, eg https://www.srihash.org - and should load data from the datasette JSON API. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/128/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
275166078 | MDU6SXNzdWUyNzUxNjYwNzg= | 130 | Rename "datasette build" to "datasette inspect" | simonw 9599 | closed | 0 | 0 | 2017-11-19T15:08:02Z | 2017-12-07T16:57:58Z | 2017-12-07T16:57:58Z | OWNER | This command introspects the databases and writes out a JSON summary. I think I'd like to use Since the internal method that does this is called |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/130/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
275228834 | MDU6SXNzdWUyNzUyMjg4MzQ= | 136 | "Reformat SQL" button next to SQL editor textarea | simonw 9599 | closed | 0 | 0 | 2017-11-20T03:42:19Z | 2019-10-14T03:46:13Z | 2019-10-14T03:46:13Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/136/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
276477888 | MDU6SXNzdWUyNzY0Nzc4ODg= | 148 | Need a != filter | simonw 9599 | closed | 0 | Foreign key edition 2919870 | 0 | 2017-11-23T22:05:22Z | 2017-11-23T22:10:02Z | 2017-11-23T22:10:01Z | OWNER | https://datasette-demos.now.sh/sf-trees-ebc2ad9/Street_Tree_List?qCareAssistant=1 shows trees managed by FUF - but how about trees that are NOT managed by FUF? |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/148/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
276765070 | MDU6SXNzdWUyNzY3NjUwNzA= | 152 | Incorrect display of rows page for tables with a primary key | simonw 9599 | closed | 0 | Custom templates edition 2949431 | 0 | 2017-11-25T17:29:54Z | 2017-12-07T05:23:20Z | 2017-12-07T05:23:19Z | OWNER | This is a regression. Here's the old version: And here's the new, broken one: https://parlgov-xtxlddmtiz.now.sh/parlgov-25f9855/party_family/1 The JSON output is the same for both - it's only the HTML representation that exhibits the bug. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/152/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
278191223 | MDU6SXNzdWUyNzgxOTEyMjM= | 159 | Come up with an elegant mechanism for per-row template customization | simonw 9599 | closed | 0 | Custom templates edition 2949431 | 0 | 2017-11-30T16:47:26Z | 2017-12-07T06:12:27Z | 2017-12-07T06:12:26Z | OWNER | It would be nice if customizing the display of an individual row in a custom table template was as simple as possible - refs #153 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/159/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
279199916 | MDU6SXNzdWUyNzkxOTk5MTY= | 162 | Link should not show up in the column selection dropdowns | simonw 9599 | closed | 0 | Custom templates edition 2949431 | 0 | 2017-12-05T00:19:04Z | 2017-12-07T05:05:58Z | 2017-12-07T05:05:58Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/162/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
312395790 | MDU6SXNzdWUzMTIzOTU3OTA= | 197 | Ability to sort by more than one column | simonw 9599 | open | 0 | 0 | 2018-04-09T05:13:30Z | 2018-07-10T17:45:37Z | OWNER | Split off from #189. I'd like to support "sort by X descending, then by Y ascending if there are dupes for X" as well. Suggested syntax for that:
we currently only allow one argument to be sent. We should allow as many arguments as there are columns, for example:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/197/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
312396095 | MDU6SXNzdWUzMTIzOTYwOTU= | 198 | Ability to sort with nulls last | simonw 9599 | open | 0 | 0 | 2018-04-09T05:15:40Z | 2018-07-10T17:45:37Z | OWNER | Split off from #189 Here's how to do that in SQL: https://fivethirtyeight.datasettes.com/fivethirtyeight-2628db9?sql=select+rowid%2C+*+from+%5Bnfl-wide-receivers%2Fadvanced-historical%5D%0D%0Aorder+by+case+when+career_ranypa+is+null+then+1+else+0+end%2C+career_ranypa%2C+rowid
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/198/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
314506033 | MDU6SXNzdWUzMTQ1MDYwMzM= | 213 | Documentation for plugins system | simonw 9599 | closed | 0 | 0 | 2018-04-16T05:27:07Z | 2018-04-16T15:12:48Z | 2018-04-16T15:12:48Z | OWNER | Documentation for #14 - how to write plugins, how to ship plugins to PyPI and how to use the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/213/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
314771615 | MDU6SXNzdWUzMTQ3NzE2MTU= | 218 | Support custom unit display in order to handle "$10,000" | simonw 9599 | open | 0 | 0 | 2018-04-16T18:39:31Z | 2018-07-10T17:45:38Z | OWNER | I tried to get Datasette to display It would be neat if there was a mechanism for specifying a custom unit display - maybe something like this:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/218/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
315548495 | MDU6SXNzdWUzMTU1NDg0OTU= | 225 | /-/(inspect|metadata|plugins)(.json)? introspection | simonw 9599 | closed | 0 | 0 | 2018-04-18T16:14:58Z | 2018-04-19T05:25:33Z | 2018-04-19T05:25:33Z | OWNER | 3 pages (and accompanying .json endpoints) for viewing:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/225/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
317900587 | MDU6SXNzdWUzMTc5MDA1ODc= | 240 | FTS table detection should be part of .inspect() | simonw 9599 | closed | 0 | 0 | 2018-04-26T06:58:10Z | 2018-04-29T00:04:44Z | 2018-04-29T00:04:44Z | OWNER | The code that detects if specific tables have a corresponding FTS column is currently called from TableView - it should instead be handled as part of Current code: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/240/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
318490133 | MDU6SXNzdWUzMTg0OTAxMzM= | 241 | Default datasette logging format should be JSON | simonw 9599 | open | 0 | 0 | 2018-04-27T17:32:48Z | 2018-07-10T17:45:40Z | OWNER | Structured logs are better. Datasette should default to outputting it's HTTP access log lines as newline delimited JSON instead of the Sanic default format it uses at the moment. For improved greppability these logs should have keys ordered in a consistent way. Python's JSON module can do this with ordered dictionaries. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/241/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
318692953 | MDU6SXNzdWUzMTg2OTI5NTM= | 242 | Rename ?_sql_time_limit_ms= to ?_timelimit= | simonw 9599 | closed | 0 | 0 | 2018-04-29T06:11:35Z | 2018-05-02T00:20:42Z | 2018-05-02T00:20:42Z | OWNER | It's a bit of a mouthful at the moment. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/242/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
320132682 | MDU6SXNzdWUzMjAxMzI2ODI= | 250 | Setup some issue templates | simonw 9599 | open | 0 | 0 | 2018-05-04T01:49:07Z | 2018-05-04T01:49:07Z | OWNER | https://twitter.com/left_pad/status/99216385740464537 I like the idea of using these to help people understand some of the ways I want to use issues. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/250/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
321624016 | MDU6SXNzdWUzMjE2MjQwMTY= | 252 | /-/versions should report the FTS version supported by SQLite | simonw 9599 | closed | 0 | 0 | 2018-05-09T15:43:47Z | 2018-05-11T13:19:52Z | 2018-05-11T13:19:52Z | OWNER | I can copy this function from |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/252/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
323726888 | MDU6SXNzdWUzMjM3MjY4ODg= | 269 | If a facet fails due to timing out, let the user know somehow | simonw 9599 | closed | 0 | 0 | 2018-05-16T18:01:47Z | 2018-05-18T06:11:46Z | 2018-05-18T06:11:46Z | OWNER | Refs #255 - right now facets fail silently if the user requested them but they take longer than 200ms to calculate - see also #264 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/269/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
326778161 | MDU6SXNzdWUzMjY3NzgxNjE= | 290 | Consider increasing the default for num_sql_threads (currently 3) | simonw 9599 | open | 0 | 0 | 2018-05-27T00:52:41Z | 2018-05-27T00:52:41Z | OWNER | I ran a very rough micro-benchmark on the new
Then
| Number of threads | Requests/second | |---|---| | 1 | 4.57 | | 3 | 9.77 | | 10 | 13.53 | | 20 | 15.24 | 50 | 8.21 | This was on my early 2018 OS X laptop. Need to benchmark in other common environments before making a decision on changing the default. That said, the default of 3 was a number I plucked out of thin air. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/290/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
327541975 | MDU6SXNzdWUzMjc1NDE5NzU= | 300 | Hide sort select box on larger screens | simonw 9599 | closed | 0 | 0 | 2018-05-30T01:34:59Z | 2018-05-31T14:43:13Z | 2018-05-31T14:43:13Z | OWNER | I'm larger screens you can sort by clicking column headers, so no need to show the select box (which was added for the small screen layout that doesn't show headers) |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/300/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
332830309 | MDU6SXNzdWUzMzI4MzAzMDk= | 310 | datasette publish now is broken in master | simonw 9599 | closed | 0 | 0 | 2018-06-15T16:01:14Z | 2018-06-16T16:29:50Z | 2018-06-16T16:29:50Z | OWNER | ```
Turns out the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/310/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
344654623 | MDU6SXNzdWUzNDQ2NTQ2MjM= | 347 | Rename "datasette package" to "datasette publish docker" | simonw 9599 | open | 0 | 0 | 2018-07-26T00:42:46Z | 2018-07-26T00:42:46Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/347/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||||
346026869 | MDU6SXNzdWUzNDYwMjY4Njk= | 354 | Handle many-to-many relationships | simonw 9599 | open | 0 | 0 | 2018-07-31T04:03:13Z | 2020-11-24T19:51:18Z | OWNER | This is a master tracking ticket for various many-2-many features. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/354/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
413857257 | MDU6SXNzdWU0MTM4NTcyNTc= | 15 | Ability to add columns to tables | simonw 9599 | closed | 0 | 0 | 2019-02-24T19:20:51Z | 2019-02-24T20:04:40Z | 2019-02-24T20:04:40Z | OWNER | Makes sense to do this before foreign keys in #2 Python:
CLI:
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/15/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
426722204 | MDU6SXNzdWU0MjY3MjIyMDQ= | 423 | ?_search_col=X not reflected correctly in the UI | simonw 9599 | open | 0 | 0 | 2019-03-28T21:48:19Z | 2020-11-03T19:01:59Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/423/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||||
432217625 | MDU6SXNzdWU0MzIyMTc2MjU= | 19 | Incorrect help text for enable-fts command | simonw 9599 | closed | 0 | 1.0 4348046 | 0 | 2019-04-11T19:46:44Z | 2019-05-25T00:44:31Z | 2019-05-25T00:44:31Z | OWNER | I clearly copied-and-pasted this from the |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/19/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
433297989 | MDU6SXNzdWU0MzMyOTc5ODk= | 433 | ?column__in=value1,value2,value3 filter | simonw 9599 | closed | 0 | 0 | 2019-04-15T13:58:24Z | 2019-04-15T23:00:20Z | 2019-04-15T23:00:20Z | OWNER | Support for the SQL
If comma separation won't work (because the values themselves contain commas) you can do this instead:
See also #288 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/433/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
445855910 | MDU6SXNzdWU0NDU4NTU5MTA= | 475 | Documentation for about and about_url metadata | simonw 9599 | closed | 0 | 0.28 4305096 | 0 | 2019-05-19T19:36:59Z | 2019-05-19T20:13:36Z | 2019-05-19T20:13:36Z | OWNER | Added in https://github.com/simonw/datasette/commit/bf6b0f918de4aeee7c1036ac975ce2fb23237da7 without docs. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/475/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
445858491 | MDU6SXNzdWU0NDU4NTg0OTE= | 476 | Remove "datasette skeleton" | simonw 9599 | closed | 0 | 0.28 4305096 | 0 | 2019-05-19T20:04:11Z | 2019-05-19T20:06:06Z | 2019-05-19T20:06:06Z | OWNER | It doesn't work any more, and it's not a particularly useful feature - I've hardly used it since I added it. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/476/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
445862501 | MDU6SXNzdWU0NDU4NjI1MDE= | 477 | Documentation for ArrayFacet (facet by JSON array) | simonw 9599 | closed | 0 | 0.28 4305096 | 0 | 2019-05-19T20:47:27Z | 2019-05-29T21:39:12Z | 2019-05-19T21:19:43Z | OWNER | This is missing from https://datasette.readthedocs.io/en/0.27.1/facets.html right now |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/477/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
446433735 | MDU6SXNzdWU0NDY0MzM3MzU= | 482 | Example of a custom facet plugin is incorrect | simonw 9599 | closed | 0 | Datasette 0.29 4471010 | 0 | 2019-05-21T06:12:47Z | 2019-07-07T23:19:10Z | 2019-07-07T23:19:10Z | OWNER | The function signatures are wrong on https://datasette.readthedocs.io/en/0.28/plugins.html#register-facet-classes The new signatures are: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/482/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
448668204 | MDU6SXNzdWU0NDg2NjgyMDQ= | 488 | Move detect_primary_keys to Database class method | simonw 9599 | closed | 0 | 0 | 2019-05-27T05:11:51Z | 2019-05-27T20:05:34Z | 2019-05-27T18:29:02Z | OWNER | e.g. Should be
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/488/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
449445715 | MDU6SXNzdWU0NDk0NDU3MTU= | 491 | Figure out how to use Firebase with cloudrun to enable vanity URLs and CDN caching | simonw 9599 | open | 0 | 0 | 2019-05-28T19:48:06Z | 2019-05-28T19:48:35Z | OWNER | It looks like Firebase can solve a couple of problems with the existing
https://firebase.google.com/docs/hosting/cloud-run looks like it can help with both of these. Lots of interesting questions:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/491/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
453639196 | MDU6SXNzdWU0NTM2MzkxOTY= | 504 | Remove TableView ?_group_count= feature | simonw 9599 | closed | 0 | simonw 9599 | 0 | 2019-06-07T18:25:18Z | 2019-11-06T05:13:10Z | 2019-11-06T05:13:10Z | OWNER | This feature really doesn't warrant continuing to exist. For reference: #150 and #44 Don't forget to remove it from the docs: https://github.com/simonw/datasette/blob/172da009d890aa029cff7138b4dcfd4f60948525/docs/json_api.rst#L322-L324 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/504/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
453829910 | MDU6SXNzdWU0NTM4Mjk5MTA= | 505 | Add white-space: pre-wrap to SQL create statement | simonw 9599 | closed | 0 | simonw 9599 | Datasette 0.29 4471010 | 0 | 2019-06-08T19:59:56Z | 2019-07-07T20:26:55Z | 2019-07-07T20:26:55Z | OWNER | Right now a super-long CREATE TABLE statement causes the table page to be even wider than the table itself: Adding |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/505/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||
458941203 | MDU6SXNzdWU0NTg5NDEyMDM= | 29 | Prevent accidental add-foreign-key with invalid column | simonw 9599 | closed | 0 | 0 | 2019-06-20T23:57:24Z | 2019-06-20T23:58:26Z | 2019-06-20T23:58:26Z | OWNER | You can corrupt your database by running:
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/29/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
459469278 | MDU6SXNzdWU0NTk0NjkyNzg= | 515 | Try shrinking official image with docker-slim | simonw 9599 | open | 0 | 0 | 2019-06-22T12:25:37Z | 2019-06-22T12:25:37Z | OWNER | This looks really promising: https://github.com/docker-slim/docker-slim If it can shave substantial size from our official container reliably we could add it to the automated build process. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/515/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
460095928 | MDU6SXNzdWU0NjAwOTU5Mjg= | 528 | Establish a pattern for Datasette plugins built on top of Pandas | simonw 9599 | open | 0 | 0 | 2019-06-24T21:05:52Z | 2019-06-24T21:05:52Z | OWNER | The Pandas ecosystem is huge, varied and full of tools that are really good at doing interesting analysis on top of tabular data. Pandas should not be a dependency of Datasette core, but I think there is a lot of potential in having plugins which use Pandas to apply interesting analysis to data sucked out of Datasette's SQLite tables. One example (thanks, Tony): https://github.com/ResidentMario/missingno could form the basis of a fantastic plugin for getting a high-level overview of how complete each column in a table is. Some thought is needed here about what shape these kind of plugins might take, and what plugin hooks they would use. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/528/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
461237618 | MDU6SXNzdWU0NjEyMzc2MTg= | 31 | Mechanism for adding multiple foreign key constraints at once | simonw 9599 | closed | 0 | 0 | 2019-06-27T00:04:30Z | 2019-06-29T06:27:40Z | 2019-06-29T06:27:40Z | OWNER | Needed by db-to-sqlite. It currently works by collecting all of the foreign key relationships it can find and then applying them at the end of the process. The problem is, the That means it's doing a full I think the right solution is to have a |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/31/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
462817589 | MDU6SXNzdWU0NjI4MTc1ODk= | 36 | Support compound primary keys | simonw 9599 | closed | 0 | 0 | 2019-07-01T17:00:07Z | 2019-07-15T04:28:52Z | 2019-07-15T04:28:52Z | OWNER | This should work:
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/36/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
462928038 | MDU6SXNzdWU0NjI5MjgwMzg= | 532 | Switch setup.py to using ~= for dependencies | simonw 9599 | closed | 0 | 0 | 2019-07-01T21:53:48Z | 2019-07-03T04:32:58Z | 2019-07-03T04:32:58Z | OWNER |
See also https://stackoverflow.com/questions/39590187/in-requirements-txt-what-does-tilde-equals-mean |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/532/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
464994105 | MDU6SXNzdWU0NjQ5OTQxMDU= | 548 | Add datasette-cors and datasette-auth-github plugins to Ecosystem page | simonw 9599 | closed | 0 | Datasette 0.29 4471010 | 0 | 2019-07-07T21:14:14Z | 2019-07-08T02:02:36Z | 2019-07-08T02:02:36Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/548/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
467864071 | MDU6SXNzdWU0Njc4NjQwNzE= | 39 | table.get(...) method | simonw 9599 | closed | 0 | 0 | 2019-07-14T17:20:51Z | 2019-07-15T04:28:53Z | 2019-07-15T04:28:53Z | OWNER | Utility method for fetching a record by its primary key. Accepts a single value (for primary key / rowid tables) or a list/tuple of values (for compound primary keys, refs #36). Raises a |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/39/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
470131537 | MDU6SXNzdWU0NzAxMzE1Mzc= | 41 | sqlite-utils insert --tsv option | simonw 9599 | closed | 0 | 0 | 2019-07-19T04:27:21Z | 2019-07-19T04:50:47Z | 2019-07-19T04:50:47Z | OWNER | Right now we only support ingesting CSV, but sometimes interesting data is released as TSV. https://www.washingtonpost.com/national/2019/07/18/how-download-use-dea-pain-pills-database/ for example. |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/41/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
470637206 | MDU6SXNzdWU0NzA2MzcyMDY= | 3 | Import ActivitySummary | simonw 9599 | closed | 0 | 0 | 2019-07-20T05:21:00Z | 2019-07-20T05:58:07Z | 2019-07-20T05:58:07Z | MEMBER | From #1
|
healthkit-to-sqlite 197882382 | issue | { "url": "https://api.github.com/repos/dogsheep/healthkit-to-sqlite/issues/3/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
487598042 | MDU6SXNzdWU0ODc1OTgwNDI= | 1 | Implement code to pull checkins from the Foursquare API | simonw 9599 | closed | 0 | 0 | 2019-08-30T17:40:02Z | 2019-08-30T18:23:24Z | 2019-08-30T18:23:24Z | MEMBER | The tool currently only works with a pre-prepared JSON file of checkins. When called without options, it should prompt the user to paste in a Foursquare OAuth token. The |
swarm-to-sqlite 205429375 | issue | { "url": "https://api.github.com/repos/dogsheep/swarm-to-sqlite/issues/1/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
487721884 | MDU6SXNzdWU0ODc3MjE4ODQ= | 5 | Treat Foursquare timestamps as UTC | simonw 9599 | closed | 0 | 0 | 2019-08-31T02:44:47Z | 2019-08-31T02:50:41Z | 2019-08-31T02:50:41Z | MEMBER | Current test failure is due to timezone differences between my laptop and Circle CI: https://circleci.com/gh/dogsheep/swarm-to-sqlite/3
The timestamps I store in |
swarm-to-sqlite 205429375 | issue | { "url": "https://api.github.com/repos/dogsheep/swarm-to-sqlite/issues/5/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
488338516 | MDU6SXNzdWU0ODgzMzg1MTY= | 570 | detect_fts should handle alternative table escaping | simonw 9599 | closed | 0 | 0 | 2019-09-02T23:43:29Z | 2019-09-03T00:32:28Z | 2019-09-03T00:32:28Z | OWNER | sqlite-utils now uses a better way of escaping table names, which has highlighted a bug in Datasette. Datasette has its own version of the Originally posted by @simonw in https://github.com/simonw/sqlite-utils/pull/57#issuecomment-527258212 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/570/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
488338965 | MDU6SXNzdWU0ODgzMzg5NjU= | 59 | Ability to introspect triggers | simonw 9599 | closed | 0 | 0 | 2019-09-02T23:47:16Z | 2019-09-03T01:52:36Z | 2019-09-03T00:09:42Z | OWNER | Now that we're creating triggers (thanks to @amjith in #57) it would be neat if we could introspect them too. I'm thinking:
The underlying query for this is I'll return the trigger information in a new namedtuple, similar to how Indexes and ForeignKeys work. |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/59/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
488833136 | MDU6SXNzdWU0ODg4MzMxMzY= | 1 | Imported followers should go in "users", relationships in "following" | simonw 9599 | closed | 0 | 0 | 2019-09-03T21:27:37Z | 2019-09-04T20:23:04Z | 2019-09-04T20:23:04Z | MEMBER | Right now It should instead save them all in a global |
twitter-to-sqlite 206156866 | issue | { "url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/1/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
489419782 | MDU6SXNzdWU0ODk0MTk3ODI= | 6 | Extract extended_entities into a media table | simonw 9599 | closed | 0 | 0 | 2019-09-04T21:59:10Z | 2019-09-04T22:08:01Z | 2019-09-04T22:08:01Z | MEMBER | twitter-to-sqlite 206156866 | issue | { "url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/6/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
490798130 | MDU6SXNzdWU0OTA3OTgxMzA= | 7 | users-lookup command for fetching users | simonw 9599 | closed | 0 | 0 | 2019-09-08T19:47:59Z | 2019-09-08T20:32:13Z | 2019-09-08T20:32:13Z | MEMBER | https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-users-lookup
|
twitter-to-sqlite 206156866 | issue | { "url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/7/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
493599818 | MDU6SXNzdWU0OTM1OTk4MTg= | 1 | Command for fetching starred repos | simonw 9599 | closed | 0 | 0 | 2019-09-14T08:36:29Z | 2019-09-14T21:30:48Z | 2019-09-14T21:30:48Z | MEMBER | github-to-sqlite 207052882 | issue | { "url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/1/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
493668862 | MDU6SXNzdWU0OTM2Njg4NjI= | 2 | Extract licenses from repos into a separate table | simonw 9599 | closed | 0 | 0 | 2019-09-14T21:33:41Z | 2019-09-14T21:46:58Z | 2019-09-14T21:46:58Z | MEMBER | github-to-sqlite 207052882 | issue | { "url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/2/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
503053243 | MDU6SXNzdWU1MDMwNTMyNDM= | 582 | Datasette should not completely crash if one SQLite database is malformed | simonw 9599 | open | 0 | 0 | 2019-10-06T05:11:43Z | 2019-10-06T05:11:43Z | OWNER | If you run Datasette against a number of database files and one of them is malformed, you get this 500 error on the index page: It would be better if Datasette still worked and listed the databases that were NOT malformed, then showed an inline error message just for the one that could not be accessed. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/582/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
503244410 | MDU6SXNzdWU1MDMyNDQ0MTA= | 14 | When importing favorites, record which user favorited them | simonw 9599 | closed | 0 | 0 | 2019-10-07T05:45:11Z | 2019-10-14T03:30:25Z | 2019-10-14T03:30:25Z | MEMBER | This code currently just dumps them into the |
twitter-to-sqlite 206156866 | issue | { "url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/14/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
504805857 | MDU6SXNzdWU1MDQ4MDU4NTc= | 587 | Use --platform=managed for publish cloudrun | simonw 9599 | closed | 0 | 0 | 2019-10-09T18:02:16Z | 2019-10-17T21:51:57Z | 2019-10-17T21:51:57Z | OWNER | Running
May as well set that as a default. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/587/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
505673645 | MDU6SXNzdWU1MDU2NzM2NDU= | 16 | Do a better job with archived direct message threads | simonw 9599 | open | 0 | 0 | 2019-10-11T06:55:21Z | 2019-10-11T06:55:27Z | MEMBER | twitter-to-sqlite 206156866 | issue | { "url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/16/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||||
508024032 | MDU6SXNzdWU1MDgwMjQwMzI= | 22 | Ability to import from uncompressed archive or from specific files | simonw 9599 | closed | 0 | 0 | 2019-10-16T18:31:57Z | 2019-10-16T18:53:36Z | 2019-10-16T18:53:36Z | MEMBER | Currently you can only import like this:
It would be useful if you could import from a folder that was decompressed from that zip:
AND from individual files within that folder - since that would allow you to e.g. selectively import certain files:
|
twitter-to-sqlite 206156866 | issue | { "url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/22/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
509339999 | MDU6SXNzdWU1MDkzMzk5OTk= | 600 | Don't auto-format SQL on first page load | simonw 9599 | closed | 0 | 0 | 2019-10-18T22:36:10Z | 2019-10-18T23:56:46Z | 2019-10-18T23:56:46Z | OWNER | I've gone back and forth on this a bit, but I've decided I'm not keen on the way Datasette now automatically formats SQL when a query (or canned query) page first loads. I like having an optional "Format SQL" button, but applying formatting automatically means that if the user has carefully formatted their SQL to a specific style their formatting will be automatically over-ridden. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/600/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
516310670 | MDU6SXNzdWU1MTYzMTA2NzA= | 610 | Don't suggest array facet if column is only [] empty arrays | simonw 9599 | closed | 0 | 0 | 2019-11-01T19:42:02Z | 2019-11-01T21:46:08Z | 2019-11-01T21:46:08Z | OWNER | Follow on from #562 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/610/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
516769276 | MDU6SXNzdWU1MTY3NjkyNzY= | 9 | Commands do not work without an auth.json file | simonw 9599 | closed | 0 | 0 | 2019-11-03T01:54:28Z | 2019-11-11T05:30:48Z | 2019-11-11T05:30:48Z | MEMBER |
``` $ github-to-sqlite repos .data/repos.db simonw Usage: github-to-sqlite repos [OPTIONS] DB_PATH [USERNAME] Try "github-to-sqlite repos --help" for help. Error: Invalid value for "-a" / "--auth": File "auth.json" does not exist. ``` |
github-to-sqlite 207052882 | issue | { "url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/9/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
520521843 | MDU6SXNzdWU1MjA1MjE4NDM= | 11 | Command to fetch releases | simonw 9599 | closed | 0 | 0 | 2019-11-09T22:23:30Z | 2019-11-09T22:57:00Z | 2019-11-09T22:57:00Z | MEMBER | https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository
|
github-to-sqlite 207052882 | issue | { "url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/11/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
530468212 | MDU6SXNzdWU1MzA0NjgyMTI= | 643 | Set up some basic benchmarks as part of the unit tests | simonw 9599 | open | 0 | 0 | 2019-11-29T19:24:19Z | 2019-11-29T19:24:19Z | OWNER | https://pypi.org/project/pytest-benchmark/ looks great for this. Here's how to run it as a github action: https://github.com/rhysd/github-action-benchmark/blob/master/examples/pytest/README.md |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/643/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
561454071 | MDU6SXNzdWU1NjE0NTQwNzE= | 32 | Documentation for " favorites" command | simonw 9599 | closed | 0 | 0 | 2020-02-07T06:50:11Z | 2020-02-07T06:59:10Z | 2020-02-07T06:59:10Z | MEMBER | It looks like I forgot to document this one in the README. |
twitter-to-sqlite 206156866 | issue | { "url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/32/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
561460274 | MDU6SXNzdWU1NjE0NjAyNzQ= | 84 | .upsert() with hash_id throws error | simonw 9599 | closed | 0 | 0 | 2020-02-07T07:08:19Z | 2020-02-07T07:17:11Z | 2020-02-07T07:17:11Z | OWNER |
The problem is, if you try this:
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/84/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
573740712 | MDU6SXNzdWU1NzM3NDA3MTI= | 90 | Cannot .enable_fts() for columns with spaces in their names | simonw 9599 | closed | 0 | 0 | 2020-03-02T06:06:03Z | 2020-03-02T06:10:49Z | 2020-03-02T06:10:49Z | OWNER | ```
import sqlite_utils
db = sqlite_utils.Database(memory=True) OperationalError Traceback (most recent call last) <ipython-input-8-ce4b87dd1c7a> in <module> ----> 1 db['test'].enable_fts(["space in name"]) /usr/local/lib/python3.7/site-packages/sqlite_utils/db.py in enable_fts(self, columns, fts_version, create_triggers) 755 ) 756 self.db.conn.executescript(sql) --> 757 self.populate_fts(columns) 758 759 if create_triggers: /usr/local/lib/python3.7/site-packages/sqlite_utils/db.py in populate_fts(self, columns) 787 table=self.name, columns=", ".join(columns) 788 ) --> 789 self.db.conn.executescript(sql) 790 return self 791 OperationalError: near "in": syntax error ``` |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/90/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
581795570 | MDU6SXNzdWU1ODE3OTU1NzA= | 93 | Support more string values for types in .add_column() | simonw 9599 | open | 0 | 0 | 2020-03-15T19:32:49Z | 2020-09-24T20:36:46Z | OWNER | https://sqlite-utils.readthedocs.io/en/2.4.2/python-api.html#adding-columns says:
As discovered in #92 this isn't the right list of values. I should expand this to match https://www.sqlite.org/datatype3.html |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/93/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
585306847 | MDU6SXNzdWU1ODUzMDY4NDc= | 36 | twitter-to-sqlite followers/friends --sql / --attach | simonw 9599 | closed | 0 | 0 | 2020-03-20T20:20:33Z | 2020-03-20T23:12:38Z | 2020-03-20T23:12:38Z | MEMBER | Split from #8. The ( |
twitter-to-sqlite 206156866 | issue | { "url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/36/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
586454513 | MDU6SXNzdWU1ODY0NTQ1MTM= | 20 | Upgrade to sqlite-utils 2.x | simonw 9599 | closed | 0 | 1.0 5225818 | 0 | 2020-03-23T19:17:58Z | 2020-03-23T19:22:52Z | 2020-03-23T19:22:52Z | MEMBER | github-to-sqlite 207052882 | issue | { "url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/20/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
586477757 | MDU6SXNzdWU1ODY0Nzc3NTc= | 94 | If column data is a mixture of integers and nulls, detected type should be INTEGER | simonw 9599 | closed | 0 | 0 | 2020-03-23T19:51:46Z | 2020-03-23T19:57:10Z | 2020-03-23T19:57:10Z | OWNER | It looks like detected type for that case is TEXT at the moment. |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/94/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
586486367 | MDU6SXNzdWU1ODY0ODYzNjc= | 95 | Columns with only null values are no longer created in the database | simonw 9599 | closed | 0 | 0 | 2020-03-23T20:07:42Z | 2020-03-23T20:31:15Z | 2020-03-23T20:31:15Z | OWNER | Bug introduced in #94, and released in |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/95/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
586567379 | MDU6SXNzdWU1ODY1NjczNzk= | 22 | Handle empty git repositories | simonw 9599 | closed | 0 | 0 | 2020-03-23T22:49:48Z | 2020-03-23T23:13:11Z | 2020-03-23T23:13:11Z | MEMBER | Got this error:
|
github-to-sqlite 207052882 | issue | { "url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/22/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
587222354 | MDU6SXNzdWU1ODcyMjIzNTQ= | 707 | Consider configuring Jinja in Datasette() constructor, not .app() | simonw 9599 | closed | 0 | 0 | 2020-03-24T19:19:58Z | 2020-03-27T01:12:57Z | 2020-03-27T01:12:57Z | OWNER | Right now the following fails with an error:
This is a little surprising, especially now that Maybe this should happen in the Datasette class constructor instead. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/707/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
589402939 | MDU6SXNzdWU1ODk0MDI5Mzk= | 4 | Store authentication information as "pocket_access_token" etc | simonw 9599 | closed | 0 | 0 | 2020-03-27T20:43:22Z | 2020-03-27T20:43:59Z | 2020-03-27T20:43:59Z | MEMBER | The |
pocket-to-sqlite 213286752 | issue | { "url": "https://api.github.com/repos/dogsheep/pocket-to-sqlite/issues/4/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
589491711 | MDU6SXNzdWU1ODk0OTE3MTE= | 7 | Upgrade to sqlite-utils 2.x | simonw 9599 | closed | 0 | 0 | 2020-03-28T02:24:51Z | 2020-03-28T02:25:03Z | 2020-03-28T02:25:03Z | MEMBER | swarm-to-sqlite 205429375 | issue | { "url": "https://api.github.com/repos/dogsheep/swarm-to-sqlite/issues/7/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
591613579 | MDU6SXNzdWU1OTE2MTM1Nzk= | 41 | Bug: recorded a since_id for None, None | simonw 9599 | closed | 0 | 0 | 2020-04-01T04:29:43Z | 2020-04-01T04:31:11Z | 2020-04-01T04:31:11Z | MEMBER | This shouldn't happen in the |
twitter-to-sqlite 206156866 | issue | { "url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/41/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
593006814 | MDU6SXNzdWU1OTMwMDY4MTQ= | 715 | Refactor duplicate cell display logic | simonw 9599 | open | 0 | 0 | 2020-04-03T00:58:11Z | 2020-04-03T00:58:11Z | OWNER | The logic for rendering cells in table view and in database (or canned query) view is currently very similar: Compared with: I'll be changing this a bit in #698 but I should still try to clean this up more further in the future. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/715/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issues] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [state] TEXT, [locked] INTEGER, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [comments] INTEGER, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [author_association] TEXT, [pull_request] TEXT, [body] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [type] TEXT , [active_lock_reason] TEXT, [performed_via_github_app] TEXT, [reactions] TEXT, [draft] INTEGER, [state_reason] TEXT); CREATE INDEX [idx_issues_repo] ON [issues] ([repo]); CREATE INDEX [idx_issues_milestone] ON [issues] ([milestone]); CREATE INDEX [idx_issues_assignee] ON [issues] ([assignee]); CREATE INDEX [idx_issues_user] ON [issues] ([user]);
comments >30 ✖