pull_requests
436 rows where repo = 107914493 sorted by author_association
This data as json, CSV (advanced)
Suggested facets: state, milestone, created_at (date), updated_at (date), closed_at (date), merged_at (date)
id | node_id | number | state | locked | title | user | body | created_at | updated_at | closed_at | merged_at | merge_commit_sha | assignee | milestone | draft | head | base | author_association ▼ | repo | url | merged_by | auto_merge |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
152360740 | MDExOlB1bGxSZXF1ZXN0MTUyMzYwNzQw | 81 | closed | 0 | :fire: Removes DS_Store | jefftriplett 50527 | 2017-11-13T22:07:52Z | 2017-11-14T02:24:54Z | 2017-11-13T22:16:55Z | 2017-11-13T22:16:55Z | 06a826c3188af82f27bb6b4e09cc89b782d30bd6 | 0 | c66d297eac556a7f4fd4dcdb15cfb9466fddac77 | d75f423b6fcfc074b7c6f8f7679da8876f181edd | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/81 | |||||
152522762 | MDExOlB1bGxSZXF1ZXN0MTUyNTIyNzYy | 89 | closed | 0 | SQL syntax highlighting with CodeMirror | tomdyson 15543 | Addresses #13 Future enhancements could include autocompletion of table and column names, e.g. with ```javascript extraKeys: {"Ctrl-Space": "autocomplete"}, hintOptions: {tables: { users: ["name", "score", "birthDate"], countries: ["name", "population", "size"] }} ``` (see https://codemirror.net/doc/manual.html#addon_sql-hint and source at http://codemirror.net/mode/sql/) | 2017-11-14T14:43:33Z | 2017-11-15T02:03:01Z | 2017-11-15T02:03:01Z | 2017-11-15T02:03:01Z | 8252daa4c14d73b4b69e3f2db4576bb39d73c070 | 0 | 7f6ad095e9c41bf24d73b7724d898965c419965b | 075d422c0a1c70259188dfbd940538c67419694a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/89 | ||||
152631570 | MDExOlB1bGxSZXF1ZXN0MTUyNjMxNTcw | 94 | closed | 0 | Initial add simple prod ready Dockerfile refs #57 | macropin 247192 | Multi-stage build based off official python:3.6-slim Example usage: ``` docker run --rm -t -i -p 9000:8001 -v $(pwd)/db:/db datasette datasette serve /db/chinook.db ``` | 2017-11-14T22:09:09Z | 2017-11-15T03:08:04Z | 2017-11-15T03:08:04Z | 2017-11-15T03:08:04Z | 86755503d26b4a83c2ec59f08ec1b8de791fd954 | 0 | 147195c2fdfa2b984d8f9fc1c6cab6634970a056 | 075d422c0a1c70259188dfbd940538c67419694a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/94 | ||||
152870030 | MDExOlB1bGxSZXF1ZXN0MTUyODcwMDMw | 104 | closed | 0 | [WIP] Add publish to heroku support | jacobian 21148 | Refs #90 | 2017-11-15T19:56:22Z | 2017-11-21T20:55:05Z | 2017-11-21T20:55:05Z | 2017-11-21T20:55:05Z | e47117ce1d15f11246a3120aa49de70205713d05 | 0 | de42240afd1e3829fd21cbe77a89ab0eaab20d78 | 0331666e346c68b86de4aa19fbb37f3a408d37ca | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/104 | ||||
152914480 | MDExOlB1bGxSZXF1ZXN0MTUyOTE0NDgw | 107 | closed | 0 | add support for ?field__isnull=1 | raynae 3433657 | Is this what you had in mind for [this issue](https://github.com/simonw/datasette/issues/64)? | 2017-11-15T23:36:36Z | 2017-11-17T15:12:29Z | 2017-11-17T13:29:22Z | 2017-11-17T13:29:22Z | ed2b3f25beac720f14869350baacc5f62b065194 | 0 | 14d5bb572fadbd45973580bd9ad2a16c2bf12909 | b7c4165346ee8b6a6fbd72d6ba2275a24a8a8ae3 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/107 | ||||
153201945 | MDExOlB1bGxSZXF1ZXN0MTUzMjAxOTQ1 | 114 | closed | 0 | Add spatialite, switch to debian and local build | ingenieroariel 54999 | Improves the Dockerfile to support spatial datasets, work with the local datasette code (Friendly with git tags and Dockerhub) and moves to slim debian, a small image easy to extend via apt packages for sqlite. | 2017-11-17T02:37:09Z | 2017-11-17T03:50:52Z | 2017-11-17T03:50:52Z | 2017-11-17T03:50:52Z | 8b4c600d98b85655b3a1454ebf64f858b5fe54c8 | 0 | 6c6b63d890529eeefcefb7ab126ea3bd7b2315c1 | b7c4165346ee8b6a6fbd72d6ba2275a24a8a8ae3 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/114 | ||||
153306882 | MDExOlB1bGxSZXF1ZXN0MTUzMzA2ODgy | 115 | closed | 0 | Add keyboard shortcut to execute SQL query | rgieseke 198537 | Very cool tool, thanks a lot! This PR adds a `Shift-Enter` short cut to execute the SQL query. I used CodeMirrors keyboard handling. | 2017-11-17T14:13:33Z | 2017-11-17T15:16:34Z | 2017-11-17T14:22:56Z | 2017-11-17T14:22:56Z | eda848b37f8452dba7913583ef101f39d9b130ba | 0 | bb514164e69400fc0be4e033c27f45f90b1ef651 | ed2b3f25beac720f14869350baacc5f62b065194 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/115 | ||||
153324301 | MDExOlB1bGxSZXF1ZXN0MTUzMzI0MzAx | 117 | closed | 0 | Don't prevent tabbing to `Run SQL` button | rgieseke 198537 | Mentioned in #115 Here you go! | 2017-11-17T15:27:50Z | 2017-11-19T20:30:24Z | 2017-11-18T00:53:43Z | 2017-11-18T00:53:43Z | 6d39429daa4655e3cf7a6a7671493292a20a30a1 | 0 | 7b4d00e87ed8ac931e6f5458599aece1a95d4e82 | eda848b37f8452dba7913583ef101f39d9b130ba | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/117 | ||||
161982711 | MDExOlB1bGxSZXF1ZXN0MTYxOTgyNzEx | 178 | closed | 0 | If metadata exists, add it to heroku launch command | psychemedia 82988 | The heroku build does seem to make use of any provided `metadata.json` file. Add the `--metadata` switch to the Heroku web launch command if a `metadata.json` file is available. Addresses: https://github.com/simonw/datasette/issues/177 | 2018-01-09T21:42:21Z | 2018-01-15T09:42:46Z | 2018-01-14T21:05:16Z | 2018-01-14T21:05:16Z | 3a56a2cd7eea5d477d5d936b01098be5cba0d98e | 0 | 1bc9ed98c4f4fd91b70560ac8f507a2fddbd8317 | 306e1c6ac4f00cc25d676a6ee660938f5b27427c | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/178 | ||||
163523976 | MDExOlB1bGxSZXF1ZXN0MTYzNTIzOTc2 | 180 | closed | 0 | make html title more readable in query template | ryanpitts 56477 | tiny tweak to make this easier to visually parse—I think it matches your style in other templates | 2018-01-17T18:56:03Z | 2018-04-03T16:03:38Z | 2018-04-03T15:24:05Z | 2018-04-03T15:24:05Z | 446d47fdb005b3776bc06ad8d1f44b01fc2e938b | 0 | dc900b2f587c839e97389aaca70140fb06b4d40b | 56623e48da5412b25fb39cc26b9c743b684dd968 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/180 | ||||
165029807 | MDExOlB1bGxSZXF1ZXN0MTY1MDI5ODA3 | 182 | closed | 0 | Add db filesize next to download link | raynae 3433657 | Took a stab at #172, will this do the trick? | 2018-01-25T04:58:56Z | 2019-03-22T13:50:57Z | 2019-02-06T04:59:38Z | a8d9e69872dec9a551b25cd609ffdbf3896045bd | 0 | b62835205a830472abb66c708822c2dcdf4ab027 | 56623e48da5412b25fb39cc26b9c743b684dd968 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/182 | |||||
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 | ||||
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 | ||||
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 | ||||
189707374 | MDExOlB1bGxSZXF1ZXN0MTg5NzA3Mzc0 | 279 | closed | 0 | Add version number support with Versioneer | rgieseke 198537 | I think that's all for getting Versioneer support, I've been happily using it in a couple of projects ... ``` In [2]: datasette.__version__ Out[2]: '0.22+3.g6e12445' ``` Repo: https://github.com/warner/python-versioneer Versioneer Licence: Public Domain (CC0-1.0) Closes #273 | 2018-05-22T15:39:45Z | 2018-05-22T19:35:23Z | 2018-05-22T19:35:22Z | 2018-05-22T19:35:22Z | 49f317752cfe89c5641165a490eef49e025752a7 | 0 | d0d19453e8623cc98a2baa2cadaaff4cd2fee973 | 58b5a37dbbf13868a46bcbb284509434e66eca25 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/279 | ||||
189723716 | MDExOlB1bGxSZXF1ZXN0MTg5NzIzNzE2 | 280 | closed | 0 | Build Dockerfile with recent Sqlite + Spatialite | r4vi 565628 | This solves #278 without bloating the Dockerfile too much, the image size is now 495MB (original was ~240MB) but it could be reduced significantly if we only copied the output of the compilation of spatialite and friends to /usr/local/lib, instead of the entirety of it however that will take more time. In the python code change references to `import sqlite3` to `import pysqlite3` and it should use the compiled version of sqlite3.23.1. You don't need to try/except because pysqlite3 falls back to builtin sqlite3 if there is no compiled version. ```bash $ docker run --rm -it datasette spatialite SpatiaLite version ..: 4.4.0-RC0 Supported Extensions: - 'VirtualShape' [direct Shapefile access] - 'VirtualDbf' [direct DBF access] - 'VirtualXL' [direct XLS access] - 'VirtualText' [direct CSV/TXT access] - 'VirtualNetwork' [Dijkstra shortest path] - 'RTree' [Spatial Index - R*Tree] - 'MbrCache' [Spatial Index - MBR cache] - 'VirtualSpatialIndex' [R*Tree metahandler] - 'VirtualElementary' [ElemGeoms metahandler] - 'VirtualKNN' [K-Nearest Neighbors metahandler] - 'VirtualXPath' [XML Path Language - XPath] - 'VirtualFDO' [FDO-OGR interoperability] - 'VirtualGPKG' [OGC GeoPackage interoperability] - 'VirtualBBox' [BoundingBox tables] - 'SpatiaLite' [Spatial SQL - OGC] PROJ.4 version ......: Rel. 4.9.3, 15 August 2016 GEOS version ........: 3.5.1-CAPI-1.9.1 r4246 TARGET CPU ..........: x86_64-linux-gnu the SPATIAL_REF_SYS table already contains some row(s) SQLite version ......: 3.23.1 Enter ".help" for instructions SQLite version 3.23.1 2018-04-10 17:39:29 Enter ".help" for instructions Enter SQL statements terminated with a ";" spatialite> ``` ```bash $ docker run --rm -it datasette python -c "import pysqlite3; print(pysqlite3.sqlite_version)" 3.23.1 ``` | 2018-05-22T16:33:50Z | 2018-06-28T11:26:23Z | 2018-05-23T17:43:35Z | 2018-05-23T17:43:35Z | bd30c696e18927207358ee9d63174a5c41c8297e | 0 | 5cf78eded61cacec435b854e18f1e94511cf2da8 | 58b5a37dbbf13868a46bcbb284509434e66eca25 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/280 | ||||
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 | ||||
216651317 | MDExOlB1bGxSZXF1ZXN0MjE2NjUxMzE3 | 365 | closed | 0 | fix small doc typo | jaywgraves 418191 | 2018-09-19T14:02:02Z | 2019-12-19T02:30:33Z | 2018-09-19T17:15:43Z | 2018-09-19T17:15:43Z | 1bcd54a834a2f9730d21095df855f6708c85c200 | 0 | d3fb6a80c5878c73befa2a35e11a9ce28a6e1ab6 | b7257a21bf3dfa7353980f343c83a616da44daa7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/365 | |||||
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 | ||||
235194286 | MDExOlB1bGxSZXF1ZXN0MjM1MTk0Mjg2 | 390 | closed | 0 | tiny typo in customization docs | jaywgraves 418191 | was looking to add some custom templates to my use of datasette and saw this small typo. | 2018-12-01T13:44:42Z | 2019-12-19T02:30:35Z | 2018-12-16T21:32:56Z | 2018-12-16T21:32:56Z | ed78922ae38b51513319b60ac39990b7c2aca810 | 0 | f8c01373dad3b8dcd10577a2e541f88ef34c77bc | 3de8fac1d322cbab6c8c55899e0e8511b36337d0 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/390 | ||||
255725057 | MDExOlB1bGxSZXF1ZXN0MjU1NzI1MDU3 | 413 | closed | 0 | Update spatialite.rst | joelondon 28597217 | a line of sql added to create the idx_<table_name> in the python recipe | 2019-02-25T00:08:35Z | 2019-03-15T05:06:45Z | 2019-03-15T05:06:45Z | 2019-03-15T05:06:45Z | 9e8c36793bfbb17c2f67371cc7f9aa8b9202fdc4 | 0 | e87565604a169a34eadadfc99e96a8f503123e8c | 1f91065b20cbc691f464bccfd8eef7d1ce4b14a8 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/413 | ||||
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 | |||||
271338405 | MDExOlB1bGxSZXF1ZXN0MjcxMzM4NDA1 | 434 | closed | 0 | "datasette publish cloudrun" command to publish to Google Cloud Run | rprimet 10352819 | This is a very rough draft to start a discussion on a possible datasette cloud run publish plugin (see issue #400). The main change was to dynamically set the listening port in `make_dockerfile` to satisfy cloud run's [requirements](https://cloud.google.com/run/docs/reference/container-contract). This was done by running `datasette` through `sh` to get environment variable substitution. Not sure if that's the right approach? | 2019-04-17T14:41:18Z | 2019-05-03T21:50:44Z | 2019-05-03T13:59:02Z | 2019-05-03T13:59:02Z | 75a21fc2a136ccfc9da7bbf521cf288e63c9707f | 0 | 74c20d0d2eac13892ac20db0e66fcb3437544aa6 | bf229c9bd88179c8ec16bd65fd4fb28ab4241c2e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/434 | ||||
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 | ||||||
277524072 | MDExOlB1bGxSZXF1ZXN0Mjc3NTI0MDcy | 458 | closed | 0 | setup: add tests to package exclusion | hellerve 7725188 | This PR fixes #456 by adding `tests` to the package exclusion list. Cheers | 2019-05-09T19:47:21Z | 2020-07-21T01:14:42Z | 2019-05-10T01:54:51Z | 2019-05-10T01:54:51Z | 9f8d9fe262866ff3463f8e61214dcc6897bd5a9c | 0 | 9c65ff1ba8c855e4ade5bc7ae29a69215b3979d0 | f825e2012109247fa246e2b938f8174069e574f1 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/458 | ||||
280204276 | MDExOlB1bGxSZXF1ZXN0MjgwMjA0Mjc2 | 479 | closed | 0 | doc typo fix | IgnoredAmbience 98555 | Fix typo in performance doc page | 2019-05-19T22:54:25Z | 2019-05-20T16:42:29Z | 2019-05-20T16:42:29Z | 2019-05-20T16:42:29Z | 70d2858067d3c4da0e17c1d39e03de89190e94b6 | 0 | 708e13ab87f8c8620796c3e8f2b0aa1b2fc26875 | e513a80afba30bca9eeebd71c5e6aa6d8a811f33 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/479 | ||||
280205502 | MDExOlB1bGxSZXF1ZXN0MjgwMjA1NTAy | 480 | closed | 0 | Split pypi and docker travis tasks | glasnt 813732 | Resolves #478 This *should* work, but because this is a change that'll only really be testable on a) this repo, b) master branch, this might fail fast if I didn't get the configurations right. Looking at #478 it should just be as simple as splitting out the docker and pypi processes into separate jobs, but it might end up being more complicated than that, depending on what pre-processes the pypi deployment needs, and how travisci treats deployment steps without scripts in general. | 2019-05-19T23:14:37Z | 2019-07-07T20:03:20Z | 2019-07-07T20:03:20Z | 2019-07-07T20:03:20Z | d95048031edb02bbc9892879507f55a4f29c5459 | Datasette 0.29 4471010 | 0 | 8b667898b6c2dd57fa68310c6d3c62d77b68f321 | 4246e138f9512686413e97878659ef953337e57b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/480 | |||
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 | |||||
295711504 | MDExOlB1bGxSZXF1ZXN0Mjk1NzExNTA0 | 554 | closed | 0 | Fix static mounts using relative paths and prevent traversal exploits | abdusco 3243482 | While debugging why my static mounts using a relative path (`--static mystatic:rel/path/to/dir`) not working, I noticed that the requests fail no matter what, returning 404 errors. The reason is that datasette tries to prevent traversal exploits by checking if the path is relative to its registered directory. This check fails when the mount is a relative directory, because `/abs/dir/file` obviously not under `dir/file`. https://github.com/simonw/datasette/blob/81fa8b6cdc5457b42a224779e5291952314e8d20/datasette/utils/asgi.py#L303-L306 This also has the consequence of returning any requested file, because when `/abs/dir/../../evil.file` resolves `aiofiles` happily returns it to the client after it resolves the path itself. The solution is to make sure we're checking relativity of paths after they're fully resolved. I've implemented the mentioned changes and also updated the tests. | 2019-07-09T11:32:02Z | 2019-07-11T16:29:26Z | 2019-07-11T16:13:19Z | 2019-07-11T16:13:19Z | 74ecf8a7cc45cabf369e510c7214f5ed85c8c6d8 | 0 | fa7ddea3ea6c9378bee7d5f5c93fe05d735a0afb | 81fa8b6cdc5457b42a224779e5291952314e8d20 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/554 | ||||
295748268 | MDExOlB1bGxSZXF1ZXN0Mjk1NzQ4MjY4 | 556 | closed | 0 | Add support for running datasette as a module | abdusco 3243482 | This PR allows running datasette using `python -m datasette` command in addition to just running the executable. This function is quite useful when debugging a plugin in a project because IDEs like PyCharm can easily start a debug session when datasette is run as a module in contrast to trying to attach a debugger to a running process. ![image](https://user-images.githubusercontent.com/3243482/60890448-fc4ede80-a263-11e9-8b42-d2a3db8d1a59.png) | 2019-07-09T13:13:30Z | 2019-07-11T16:07:45Z | 2019-07-11T16:07:44Z | 2019-07-11T16:07:44Z | 9ca860e54fe480d0a365c0c1d8d085926d12be1e | 0 | 056a7eac9480cb814d9c453b983e6b2b831e0ca1 | 81fa8b6cdc5457b42a224779e5291952314e8d20 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/556 | ||||
298962551 | MDExOlB1bGxSZXF1ZXN0Mjk4OTYyNTUx | 561 | closed | 0 | Fix typos | minho42 15278512 | 2019-07-18T15:13:35Z | 2019-07-26T10:25:45Z | 2019-07-26T10:25:45Z | 2019-07-26T10:25:45Z | 27cb29365c9f5f6f1492968d1268497193ed75a2 | 0 | 41341195075adc5093d33633d980657ecdac043c | a9453c4dda70bbf5122835e68f63db6ecbe1a6fc | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/561 | |||||
327169748 | MDExOlB1bGxSZXF1ZXN0MzI3MTY5NzQ4 | 589 | closed | 0 | Display metadata footer on custom SQL queries | rixx 2657547 | Closes #408 | 2019-10-11T12:10:28Z | 2019-10-14T08:58:23Z | 2019-10-14T03:53:22Z | 2019-10-14T03:53:22Z | 12cec411cae73ba7211429da12cd32c551fe17b1 | 0 | 5627fe8d58e791e004b89b5614007d5e64a5c8e2 | fffd69ec031b83f46680f192ba57a27f0d1f0b8a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/589 | ||||
327172545 | MDExOlB1bGxSZXF1ZXN0MzI3MTcyNTQ1 | 590 | closed | 0 | Handle spaces in DB names | rixx 2657547 | Closes #503 | 2019-10-11T12:18:22Z | 2019-11-04T23:16:31Z | 2019-11-04T23:16:30Z | 2019-11-04T23:16:30Z | 931bfc66613aa3e22f8314df5c0d0758baf31f38 | 0 | 0c306e89e4f97f64921e4f6d1fe7bab52fad6ade | 52fa79c6075f0830ff635b81d957c64d877a05aa | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/590 | ||||
327188087 | MDExOlB1bGxSZXF1ZXN0MzI3MTg4MDg3 | 591 | closed | 0 | Sort databases on homepage by argument order | rixx 2657547 | Closes #585 | 2019-10-11T12:57:38Z | 2019-10-14T08:57:50Z | 2019-10-14T03:52:34Z | 2019-10-14T03:52:34Z | 908fc3999e06f3ccd3bb8ad0539490bbc7809748 | 0 | 5a8e52fa60f2c2c93f10b9c6c126f31b02d647b0 | fffd69ec031b83f46680f192ba57a27f0d1f0b8a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/591 | ||||
327279818 | MDExOlB1bGxSZXF1ZXN0MzI3Mjc5ODE4 | 592 | closed | 0 | Offer SQL formatting | rixx 2657547 | SQL code will be formatted on page load, and can additionally be formatted by clicking the "Format SQL" button. Closes #136 | 2019-10-11T16:35:49Z | 2019-10-14T08:57:12Z | 2019-10-14T03:46:13Z | 2019-10-14T03:46:13Z | af2e6a5cf186a7200d76cb67ac30fa59cc24d84e | 0 | b46195af65846ca30c6006520cc778eeed052324 | fffd69ec031b83f46680f192ba57a27f0d1f0b8a | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/592 | ||||
330076263 | MDExOlB1bGxSZXF1ZXN0MzMwMDc2MjYz | 602 | closed | 0 | Offer to format readonly SQL | rixx 2657547 | Following discussion in #601, this PR adds a "Format SQL" button to read-only SQL (if the SQL actually differs from the formatting result). It also removes a console error on readonly SQL queries. | 2019-10-20T02:29:32Z | 2019-11-04T07:29:33Z | 2019-11-04T02:39:56Z | 2019-11-04T02:39:56Z | ee330222f4c3ee66c2fe41ebc76fed56b9cb9a00 | 0 | 266c3dafb9bf3b12204b6152d7b48e94a131584a | 8050f9e1ece9afd0236ad38c6458c12a4ad917e6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/602 | ||||
330129358 | MDExOlB1bGxSZXF1ZXN0MzMwMTI5MzU4 | 603 | closed | 0 | always pop as_format off args dict | chris48s 6025893 | closes #563 | 2019-10-20T15:44:22Z | 2019-10-30T19:12:22Z | 2019-10-21T02:03:09Z | 2019-10-21T02:03:09Z | f4c0830529a9513a83437a9e1550bbe27ebc5c64 | 0 | 39d044502590224e4f07c05e02fc8a4d312255c1 | 8050f9e1ece9afd0236ad38c6458c12a4ad917e6 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/603 | ||||
340211149 | MDExOlB1bGxSZXF1ZXN0MzQwMjExMTQ5 | 631 | closed | 0 | bugfix issue 572 | qwo 3683993 | closes bugfix issue #572 | 2019-11-13T02:46:50Z | 2019-11-13T04:28:43Z | 2019-11-13T04:28:42Z | 2019-11-13T04:28:42Z | 848dec4deb0d3c140a4e0394cac45fbb2593349b | 0 | ca43966e5aa832a377e4db5d411b6cc8b1c5b3ac | bbd00e903cdd49067ecdbdb60a4d225833a44b05 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/631 | ||||
347179081 | MDExOlB1bGxSZXF1ZXN0MzQ3MTc5MDgx | 644 | closed | 0 | Validate metadata json on startup | chris48s 6025893 | This PR adds a sanity check which builds up a marshmallow schema on-the-fly based on the structure of the database(s) on startup and then validates the metadata json against it. In case of invalid data, this will raise with a descriptive error e.g: ``` marshmallow.exceptions.ValidationError: {'databases': {'fixtures': {'tables': {'not_a_table': ['Unknown field.']}}}} ``` Closes #260 --- This was intended to be fairly self-contained, but then while I was working on it, I hit some problems getting the tests to pass in the context of the test suite as a whole. My tests passed in isolation, but then failed while doing a full test suite run. That's when the worms started coming out of the can :bug: After some sleuthing, it turned out this was essentially the result of several issues intersecting: * There are certain events in the application lifecycle where the metadata schema can be modified after it is loaded e.g: https://github.com/simonw/datasette/blob/a562f2965552fb2dbbbd74df245c9965ee23d886/datasette/app.py#L299-L320 This means that sometimes what goes in isn't always exactly what comes out when you call `/-/metadata`. * Because the test fixtures use session scope for performance reasons if one unit test performs an action which mutates the metadata, that can impact on other unit tests which run after it using the same fixture. * Because the `self._metadata` property was being set with a simple assignment `self._metadata = metadata`, that created an object reference to the test fixture data, so operating on `self._metadata` was actually modifying the test fixture `METADATA` meaning that depending on when it was loaded in the test suite lifecycle, `METADATA` had different content, which was somewhat unexpected. As such, I've added some band-aids in 3552024 and 6859fd8: * Switching the metadata object to a `deepcopy` of the input prevents us directly mutating the input fixture. * I've switched some of the tests to use a fixture with function scope instead of session scope so we're workin… | 2019-11-30T00:32:15Z | 2021-07-28T17:58:45Z | 2021-07-28T17:58:45Z | e71b642474d54f986bc8857346103d8a10d84e6d | 0 | 6859fd8c5eef26f397aa949dc4edf3747e8ab0a5 | a562f2965552fb2dbbbd74df245c9965ee23d886 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/644 | |||||
356004242 | MDExOlB1bGxSZXF1ZXN0MzU2MDA0MjQy | 653 | closed | 0 | allow leading comments in SQL input field | jaywgraves 418191 | this changes the SQL validation to allow for lines that are commented out my main use case for this is that I like to write a succession of queries when trying to solve a problem. In most native SQL clients there is a key binding that will run just the current highlighted query or the program is smart enough to run just the query that the cursor is in if it's properly delimited with a ';'. Typically my workflow will start with a single simple query and I'll copy/paste it to a new query below when I want to make big changes while debugging. This makes it easy to go back to a working version above when the query doesn't work. Since datasette sends the whole query to the DB I have to comment out the older queries by prefixing each line with `--`. This gets caught by the validators when I use my typical strategy of copy/pasting each successive query below the last one. so this is just a simple fix to allow for a query to be sent to the DB with leading comments. | 2019-12-21T14:19:52Z | 2020-02-05T02:35:41Z | 2020-02-05T02:13:25Z | 2020-02-05T02:13:25Z | 33a12c8ae526afb40a7819c9ca411c9d3c41219b | 0 | 3a4cb551b9a217d5798e3e9ad5d4b06234a81885 | d6b6c9171f3fd945c4e5e4144923ac831c43c208 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/653 | ||||
365218391 | MDExOlB1bGxSZXF1ZXN0MzY1MjE4Mzkx | 660 | closed | 0 | gcloud run is now GA, s/beta// | glasnt 813732 | 2020-01-21T10:08:38Z | 2020-01-22T03:41:09Z | 2020-01-21T23:28:12Z | 2020-01-21T23:28:12Z | 34d77d780f68b778fd9d6ebbaf69f250436f055f | 0 | 894e96026b838288f926f62914123a1f86139793 | 3c861f363df02a59a67c59036278338e4760d2ed | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/660 | |||||
372763906 | MDExOlB1bGxSZXF1ZXN0MzcyNzYzOTA2 | 666 | closed | 0 | Use inspect-file, if possible, for total row count | kevindkeogh 13896256 | For large tables, counting the number of rows in the table can take a signficant amount of time. Instead, where an inspect-file is provided for an immutable database, look up the row-count for a plain count(*). | 2020-02-08T22:10:35Z | 2020-03-09T02:47:15Z | 2020-02-25T20:19:29Z | 2020-02-25T20:19:29Z | 3041c6b6412bbe317f8b9afd6529a15954f2c47e | 0 | 8947a60404b8242a03f9ebabc5f957d75f4dfe04 | b031fe97636b80b05fec409ee1dffb7d044fd4e9 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/666 | ||||
373775788 | MDExOlB1bGxSZXF1ZXN0MzczNzc1Nzg4 | 669 | closed | 0 | fix db-to-sqlite command in ecosystem doc page | adipasquale 883348 | the `--connection` parameter has become positional | 2020-02-11T17:05:41Z | 2020-02-22T02:32:18Z | 2020-02-22T02:32:17Z | 2020-02-22T02:32:17Z | be2265b0e811d0ac2875c2f748125c17b0f9289e | 0 | 6eb0e8cd90be82eff0a5152b0985c2a3cb7a44a8 | 30b6f71b306a43605c99bef79302ed5cb22d1924 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/669 | ||||
399166433 | MDExOlB1bGxSZXF1ZXN0Mzk5MTY2NDMz | 719 | closed | 0 | asgi: check raw_path is not None | cldellow 193185 | The ASGI spec (https://asgi.readthedocs.io/en/latest/specs/www.html#http) seems to imply that `None` is a valid value, so we need to check the value itself, not just whether the key is present. In particular, the [mangum](https://github.com/erm/mangum) adapter passes `None` for this key's value. This change permits mangum to be used to front datasette in Amazon API Gateway + AWS Lambda deployments. | 2020-04-05T16:53:58Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | 2020-05-04T17:14:26Z | dbd2d70b3819a7041bb36a527033d77c85683c05 | 0 | 161f61d73800a605354b4ac44a3c989e19bbc77a | e0e7a0facfc935a835cd73c720bc46661462f0b1 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/719 | ||||
400578979 | MDExOlB1bGxSZXF1ZXN0NDAwNTc4OTc5 | 720 | closed | 0 | Update beautifulsoup4 requirement from ~=4.8.1 to >=4.8.1,<4.10.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [beautifulsoup4](http://www.crummy.com/software/BeautifulSoup/bs4/) to permit the latest version. Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- **Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit. You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com). <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot u… | 2020-04-08T01:24:38Z | 2020-05-04T17:14:51Z | 2020-05-04T17:14:46Z | 2020-05-04T17:14:46Z | 707fe039947b3e48f2b6dcfe8e577d76b617f2a5 | 0 | ab76bf88f597e61668dc6fc750502f8db207bd9c | d55fe8cdfc2ce7bc6960bf2507766c1fcd1d31a7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/720 | ||||
400579077 | MDExOlB1bGxSZXF1ZXN0NDAwNTc5MDc3 | 721 | closed | 0 | Update pytest requirement from ~=5.2.2 to >=5.2.2,<5.5.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest's releases</a>.</em></p> <blockquote> <h2>5.4.1</h2> <h1>pytest 5.4.1 (2020-03-13)</h1> <h2>Bug Fixes</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6909">#6909</a>: Revert the change introduced by <a href="https://github-redirect.dependabot.com/pytest-dev/pytest/pull/6330">#6330</a>, which required all arguments to <code>@pytest.mark.parametrize</code> to be explicitly defined in the function signature.</p> <p>The intention of the original change was to remove what was expected to be an unintended/surprising behavior, but it turns out many people relied on it, so the restriction has been reverted.</p> </li> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6910">#6910</a>: Fix crash when plugins return an unknown stats while using the <code>--reportlog</code> option.</p> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst">pytest's changelog</a>.</em></p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest/commit/3d0f3baa2bb89257dfff25ae6ebabd565287240e"><code>3d0f3ba</code></a> Preparing release version 5.4.1</li> <li><a href="https://github.com/pytest-dev/pytest/commit/b9e2cd0a81e043bdb409e7078db9af4c4d38da54"><code>b9e2cd0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6914">#6914</a> from nicoddemus/revert-6330</li> <li><a href="https://github.com/pytest-dev/pytest/commit/a84fcbf5b2fc007a1630a1ddd60b0a2438b61642"><code>a84fcbf</code></a> Revert "[parametrize] enforce explicit argnames declaration (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6330">#6330</a>… | 2020-04-08T01:25:04Z | 2020-05-04T17:13:49Z | 2020-05-04T17:13:41Z | 2020-05-04T17:13:41Z | c91fb9e3d4f0632d4ef25a21165739ab88a9d491 | 0 | 54ea56285f9512c991e343ffad9d848d551977de | d55fe8cdfc2ce7bc6960bf2507766c1fcd1d31a7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/721 | ||||
400579136 | MDExOlB1bGxSZXF1ZXN0NDAwNTc5MTM2 | 722 | closed | 0 | Update jinja2 requirement from ~=2.10.3 to >=2.10.3,<2.12.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [jinja2](https://github.com/pallets/jinja) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pallets/jinja/releases">jinja2's releases</a>.</em></p> <blockquote> <h2>2.11.1</h2> <p>This fixes an issue in async environment when indexing the result of an attribute lookup, like <code>{{ data.items[1:] }}</code>.</p> <ul> <li>Changes: <a href="https://jinja.palletsprojects.com/en/2.11.x/changelog/#version-2-11-1">https://jinja.palletsprojects.com/en/2.11.x/changelog/#version-2-11-1</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pallets/jinja/blob/master/CHANGES.rst">jinja2's changelog</a>.</em></p> <blockquote> <h1>Version 2.11.1</h1> <p>Released 2020-01-30</p> <ul> <li>Fix a bug that prevented looking up a key after an attribute (<code>{{ data.items[1:] }}</code>) in an async template. 1141</li> </ul> <h1>Version 2.11.0</h1> <p>Released 2020-01-27</p> <ul> <li>Drop support for Python 2.6, 3.3, and 3.4. This will be the last version to support Python 2.7 and 3.5.</li> <li>Added a new <code>ChainableUndefined</code> class to support getitem and getattr on an undefined object. 977</li> <li>Allow <code>{%+</code> syntax (with NOP behavior) when <code>lstrip_blocks</code> is disabled. 748</li> <li>Added a <code>default</code> parameter for the <code>map</code> filter. 557</li> <li>Exclude environment globals from meta.find_undeclared_variables. 931</li> <li>Float literals can be written with scientific notation, like 2.56e-3. 912, 922</li> <li>Int and float literals can be written with the '_' separator for legibility, like 12_345. 923</li> <li>Fix a bug causing deadlocks in <code>LRUCache.setdefault</code>. 1000</li> <li>The <code>trim</code> filter takes an optional string of characters to trim. 828</li> <li>A new <code>jinja2.ext.debug</code> extension adds a <code>{% debug %}</code> tag to quickly dump the current context and available filte… | 2020-04-08T01:25:24Z | 2020-05-04T17:13:26Z | 2020-05-04T17:13:16Z | 2020-05-04T17:13:16Z | aa064de3f400899dbf61f2d33a035fba4017596c | 0 | 0a503b7fdb0cce1bb82e18c4552a4f92808fe41f | d55fe8cdfc2ce7bc6960bf2507766c1fcd1d31a7 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/722 | ||||
402645984 | MDExOlB1bGxSZXF1ZXN0NDAyNjQ1OTg0 | 725 | closed | 0 | Update aiofiles requirement from ~=0.4.0 to >=0.4,<0.6 | dependabot-preview[bot] 27856297 | Updates the requirements on [aiofiles](https://github.com/Tinche/aiofiles) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Tinche/aiofiles/commit/9a2141e6c51013995ed8b72b121e4e0a27af77b5"><code>9a2141e</code></a> 0.5.0</li> <li><a href="https://github.com/Tinche/aiofiles/commit/479b7eea2c54a9daadb26d1073770e5a50f9ca27"><code>479b7ee</code></a> Update README</li> <li><a href="https://github.com/Tinche/aiofiles/commit/6c247a2cfd1e12f8359aeff04bfe3510f5ef0dc2"><code>6c247a2</code></a> Modernize tests</li> <li><a href="https://github.com/Tinche/aiofiles/commit/eec75d3f425d53306b6aaa8a6005344e56350312"><code>eec75d3</code></a> Switch to async def wherever possible</li> <li><a href="https://github.com/Tinche/aiofiles/commit/786c3e9293a37f63ae1c72b115498d038b5828a0"><code>786c3e9</code></a> Prepare for 3.8</li> <li><a href="https://github.com/Tinche/aiofiles/commit/145107595fe72b877005fb4ebf9d77ffb754689a"><code>1451075</code></a> Update README.rst</li> <li><a href="https://github.com/Tinche/aiofiles/commit/5db1e380e307d0f96177d18db778f82ea0ef87ce"><code>5db1e38</code></a> Add several async os functions</li> <li><a href="https://github.com/Tinche/aiofiles/commit/a60f19bb7b6bd5b063f853d8cae2c41a6878841f"><code>a60f19b</code></a> Add async remove function</li> <li><a href="https://github.com/Tinche/aiofiles/commit/9cf2ac8f9d43446ecdf71c95d05ad6a95bec7377"><code>9cf2ac8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Tinche/aiofiles/issues/53">#53</a> from graingert/patch-1</li> <li><a href="https://github.com/Tinche/aiofiles/commit/b88912c6a7a13597b8c5ac93093d7eef86ab1ebb"><code>b88912c</code></a> <strong>all</strong> should be a List[str]</li> <li>Additional commits viewable in <a href="https://github.com/Tinche/aiofiles/compare/v0.4.0...v0.5.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@… | 2020-04-13T13:32:47Z | 2020-05-04T18:16:54Z | 2020-05-04T16:17:49Z | 2020-05-04T16:17:49Z | 985e59493e44d6fcebf7a30f693f4edecee3e90d | 0 | a7053e8d17559a6ebb4265c0783b84cc6aaff7e2 | d349d57cdf3d577afb62bdf784af342a4d5be660 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/725 | ||||
406067019 | MDExOlB1bGxSZXF1ZXN0NDA2MDY3MDE5 | 728 | closed | 0 | Update mergedeep requirement from ~=1.1.1 to >=1.1.1,<1.4.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [mergedeep](https://github.com/clarketm/mergedeep) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/clarketm/mergedeep/commit/3d6e7b4c9c25b64eba0834da6f54c8dd309767ea"><code>3d6e7b4</code></a> v1.3.0 - support additive merging of <code>Counter</code> types</li> <li><a href="https://github.com/clarketm/mergedeep/commit/56a258a0b58366aa205322476db1b3f84aac65d9"><code>56a258a</code></a> v1.2.1 - tidy docs and variable names</li> <li><a href="https://github.com/clarketm/mergedeep/commit/61ab21382ba20d7973a848c942eb36bd33bc7cd0"><code>61ab213</code></a> v1.2.0 - support both TYPESAFE_REPLACE and TYPESAFE_ADDITIVE merge strategies...</li> <li><a href="https://github.com/clarketm/mergedeep/commit/b331bb5f1580d8290dcf5c6e7690fd3b9708b5cd"><code>b331bb5</code></a> cleanup Makefile</li> <li><a href="https://github.com/clarketm/mergedeep/commit/6f577bf29750c073f6764ffbea29ab6d6759a8d3"><code>6f577bf</code></a> officially label support for python3.8</li> <li><a href="https://github.com/clarketm/mergedeep/commit/84faf37d2da81d4356a4ade4c015fc3964262585"><code>84faf37</code></a> use pipenv for managing dev dependencies</li> <li><a href="https://github.com/clarketm/mergedeep/commit/3a8761a736c8cb7a324bd9e6f4d50a58898a3ba9"><code>3a8761a</code></a> Update README.md</li> <li>See full diff in <a href="https://github.com/clarketm/mergedeep/compare/v1.1.1...v1.3.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge th… | 2020-04-20T13:33:23Z | 2020-05-04T16:45:58Z | 2020-05-04T16:45:49Z | 2020-05-04T16:45:49Z | e232f77055880b38cc0b738607cd50cde9188eaf | 0 | b584fbc4215d92df08360937916ffe128f11f72e | 985e59493e44d6fcebf7a30f693f4edecee3e90d | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/728 | ||||
406677205 | MDExOlB1bGxSZXF1ZXN0NDA2Njc3MjA1 | 730 | closed | 0 | Update pytest-asyncio requirement from ~=0.10.0 to >=0.10,<0.12 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/1026c39495a963ff3e5fee7da2ae9f3a5d21fb83"><code>1026c39</code></a> 0.11.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/ab2b14048a691479fa9f8811aaa558018c6db6e3"><code>ab2b140</code></a> Test on Python 3.8, drop 3.3 and 3.4</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/6397a2255e3e9ef858439b164018438a8106f454"><code>6397a22</code></a> plugin: Use pytest 5.4.0 new Function API</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/21a0f9476be84ca0c84af60057f0f24c5fb2fd71"><code>21a0f94</code></a> Replace yield_fixture() by fixture()</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/964b295ba280a6e217159706279b67f8f4cbb5f4"><code>964b295</code></a> Added min hypothesis version so that bugfix for <a href="https://github.com/Hypothesis">https://github.com/Hypothesis</a>...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/4a11a206fbcf88ee18cbed2d01041e61c20a9a48"><code>4a11a20</code></a> Add max supported pytest version to < 5.4.0 to prevent fails until <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/141">#141</a> is fi...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b3055940db49cc17e36b66631e3d863e15fe34e4"><code>b305594</code></a> Change event_loop to module scope in hypothesis tests, fixing <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/145">#145</a>.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d5a0f4789e7fecb58d509409e2c537b206c4fde2"><code>d5a0f47</code></a> Enable test_subprocess to be run on win, by changing to ProactorEventLoop in ...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d07cd2d447cf313446c4e00e25a35cb2adcb2c63"><code>d07cd2d</code><… | 2020-04-21T13:32:35Z | 2020-05-04T13:27:24Z | 2020-05-04T13:27:23Z | 460708c7107a7cf15971a9aa1040635f6bc1be6d | 0 | 11c67f82cdccc6e34cbff717e673451ac6172ef4 | 15e232180427e988174fdf88440c84b91d2d98d1 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/730 | |||||
407929128 | MDExOlB1bGxSZXF1ZXN0NDA3OTI5MTI4 | 734 | closed | 0 | Update janus requirement from ~=0.4.0 to >=0.4,<0.6 | dependabot-preview[bot] 27856297 | Updates the requirements on [janus](https://github.com/aio-libs/janus) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/janus/blob/master/CHANGES.rst">janus's changelog</a>.</em></p> <blockquote> <h1>0.5.0 (2020-04-23)</h1> <ul> <li>Remove explicit loop arguments and forbid creating queues outside event loops <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/246">#246</a></li> </ul> <h1>0.4.0 (2018-07-28)</h1> <ul> <li>Add <code>py.typed</code> macro <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/89">#89</a></li> <li>Drop python 3.4 support and fix minimal version python3.5.3 <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/88">#88</a></li> <li>Add property with that indicates if queue is closed <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/86">#86</a></li> </ul> <h1>0.3.2 (2018-07-06)</h1> <ul> <li>Fixed python 3.7 support <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/97">#97</a></li> </ul> <h1>0.3.1 (2018-01-30)</h1> <ul> <li>Fixed bug with join() in case tasks are added by sync_q.put() <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/75">#75</a></li> </ul> <h1>0.3.0 (2017-02-21)</h1> <ul> <li>Expose unfinished_tasks property <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/34">#34</a></li> </ul> <h1>0.2.4 (2016-12-05)</h1> <ul> <li>Restore tarball deploying</li> </ul> <h1>0.2.3 (2016-07-12)</h1> <ul> <li>Fix exception type</li> </ul> <h1>0.2.2 (2016-07-11)</h1> <ul> <li>Update asyncio.async() to use asyncio.ensure_future() <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/6">#6</a></li> </ul> <h1>0.2.1 (2016-03-24)</h1> <ul> <li>Fix python setup.py test command <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/4">#4</a></li> </ul> <h1>0.2.0 (2015-09-20)</h1> </tr></table> ... (truncated) </blockquote> </details> <details> <summary>Commits</summ… | 2020-04-23T13:43:45Z | 2020-05-04T16:48:14Z | 2020-05-04T16:48:04Z | 2020-05-04T16:48:04Z | 109c5a430d53fe38b1300e0daa20f5cef047a08e | 0 | 281b2c1acf1a2ef39c784dc73f1eb184d898d369 | e232f77055880b38cc0b738607cd50cde9188eaf | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/734 | ||||
412951191 | MDExOlB1bGxSZXF1ZXN0NDEyOTUxMTkx | 753 | closed | 0 | Update pytest-asyncio requirement from ~=0.10.0 to >=0.10,<0.13 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b8e2a45e152a196cef7fdb6ddcf3e2d67a0f01ca"><code>b8e2a45</code></a> 0.12.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/06580c6413e905c5fddcc57c2895e9d3d2913847"><code>06580c6</code></a> Update changelog</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b45de23c0de0acc843c3f871985ba16fdfb1d5fd"><code>b45de23</code></a> Fixed failing test case, 'test_asyncio_marker_without_loop'.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/238ccedde8a196c16007a8a2b1ea1eeeb8db86a3"><code>238cced</code></a> Put event_loop first among the fixtures of asyncio tests, fixes <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/154">#154</a>.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/e5e3dc7a90685a56747a2d4c3c770d74d573c497"><code>e5e3dc7</code></a> Added unittests for issue <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/154">#154</a>.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/a7e5795335b823b4d58bb6b38b6e653f0e0d35b0"><code>a7e5795</code></a> 0.12.0 open for business!</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/1026c39495a963ff3e5fee7da2ae9f3a5d21fb83"><code>1026c39</code></a> 0.11.0</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/ab2b14048a691479fa9f8811aaa558018c6db6e3"><code>ab2b140</code></a> Test on Python 3.8, drop 3.3 and 3.4</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/6397a2255e3e9ef858439b164018438a8106f454"><code>6397a22</code></a> plugin: Use pytest 5.4.0 new Function API</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/21a0f9476be84ca0c84af60057f0f24c5fb2fd71"><code>21a0f94</code></a> Replace yield_fixture() by fixture()</li>… | 2020-05-04T13:27:19Z | 2020-05-04T17:41:01Z | 2020-05-04T17:40:49Z | 2020-05-04T17:40:49Z | b314e088c59425122fb2b2abde8741010d9d274a | 0 | 877fb569d2ae460ce845c7c855b02e0cdac23b68 | 707fe039947b3e48f2b6dcfe8e577d76b617f2a5 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/753 | ||||
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 | |||||
439203808 | MDExOlB1bGxSZXF1ZXN0NDM5MjAzODA4 | 866 | closed | 0 | Update pytest-asyncio requirement from <0.13,>=0.10 to >=0.10,<0.15 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/53f3da7aefc719e62cbaa89e57ab68a7e12cc3c3"><code>53f3da7</code></a> Prepare for release</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/e99569de645c37fc048964ab4c5073529080fd86"><code>e99569d</code></a> A line is added to the changelog.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/4099b6351793611acabd8b26d93aabd44ce200c5"><code>4099b63</code></a> One import is not needed</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/68513b33616ff2ef93972acf1b992e7b1a18c4d1"><code>68513b3</code></a> Clarify names and comments, according to yanlend comments 26 May</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/907e8f24b9444f50cb30f17265665706882bc01f"><code>907e8f2</code></a> FIX new test_cases on python 3.5 & 3.6</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/51d986cec83fdbc14fa08015424c79397afc7ad9"><code>51d986c</code></a> To solve test cases that fail:</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/f97e900f1fcb51a572a1b861c95ac49e69bbfdf9"><code>f97e900</code></a> 1) Test case (test_async_fixtures_with_finalizer) refactoring to pass on pyth...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/c1131f8b5313189508dc81d7ef1937ccb136658b"><code>c1131f8</code></a> 1) A new test case that fails with 0.12.0, and pass with this commit.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/7a255bc4cf82aba7aa4b213c1a97c81d532c1e85"><code>7a255bc</code></a> 0.13.0 open for business</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/b8e2a45e152a196cef7fdb6ddcf3e2d67a0f01ca"><code>b8e2a45</code></a> 0.12.0</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.10.0...v0.14.0… | 2020-06-24T13:21:47Z | 2020-06-24T18:50:57Z | 2020-06-24T18:50:56Z | 2020-06-24T18:50:56Z | 1bb33dab49fd25f77b9f8e7ab7ee23b3d64c123c | 0 | fb64dda76dda7354a77cb50c5864aff67a6fef8d | 1a5b7d318fa923edfcefd3df8f64dae2e9c49d3f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/866 | ||||
442505088 | MDExOlB1bGxSZXF1ZXN0NDQyNTA1MDg4 | 883 | open | 0 | Skip counting hidden tables | abdusco 3243482 | Potential fix for https://github.com/simonw/datasette/issues/859. Disabling table counts for hidden tables speeds up database page quite a bit. In my setup it reduced load time by 2/3 (~300 -> ~90ms) | 2020-07-01T07:38:08Z | 2020-07-02T00:25:44Z | 527624338acd38b97bb33b0a0b913d80e8345fee | 0 | 251884f58895faf8056b3dfdeae3bb92c5bc58ac | 676bb64c877d73f8ff496cef4632f5a8a5a9283c | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/883 | ||||||
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 | ||||
453890292 | MDExOlB1bGxSZXF1ZXN0NDUzODkwMjky | 901 | closed | 0 | Use None as a default arg | Alyetama 56323389 | When passing a mutable value as a default argument in a function, the default argument is mutated anytime that value is mutated. This poses a bug risk. Instead, use None as a default and assign the mutable value inside the function. | 2020-07-20T22:18:38Z | 2020-07-31T18:42:39Z | 2020-07-31T18:42:39Z | 2020-07-31T18:42:39Z | 2d7fa8b9058dfbf9c7c371cdeec115d32a177dc9 | 0 | 1285f28d82d9ca97e7543bb87fc6ff462855debe | d9a5ef1c32a4390e398653ebfd570f8e1a03d93e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/901 | ||||
453995179 | MDExOlB1bGxSZXF1ZXN0NDUzOTk1MTc5 | 902 | closed | 0 | Don't install tests package | abeyerpath 32467826 | The `exclude` argument to `find_packages` needs an iterable of package names. Fixes: #456 | 2020-07-21T01:08:50Z | 2020-07-24T20:39:54Z | 2020-07-24T20:39:54Z | 2020-07-24T20:39:54Z | 6be5654ffab282e8cf39cc138ba2d4496ebc7407 | 0 | 9aa139dc98bd72a29ee1c940820bc05b0e717f1d | d9a5ef1c32a4390e398653ebfd570f8e1a03d93e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/902 | ||||
458435592 | MDExOlB1bGxSZXF1ZXN0NDU4NDM1NTky | 910 | closed | 0 | Update pytest requirement from <5.5.0,>=5.2.2 to >=5.2.2,<6.1.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest's releases</a>.</em></p> <blockquote> <h2>6.0.0</h2> <h1>pytest 6.0.0 (2020-07-28)</h1> <p>(<strong>Please see the full set of changes for this release also in the 6.0.0rc1 notes below</strong>)</p> <h2>Breaking Changes</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/5584">#5584</a>: <strong>PytestDeprecationWarning are now errors by default.</strong></p> <p>Following our plan to remove deprecated features with as little disruption as possible, all warnings of type <code>PytestDeprecationWarning</code> now generate errors instead of warning messages.</p> <p><strong>The affected features will be effectively removed in pytest 6.1</strong>, so please consult the <a href="https://docs.pytest.org/en/latest/deprecations.html">Deprecations and Removals</a> section in the docs for directions on how to update existing code.</p> <p>In the pytest <code>6.0.X</code> series, it is possible to change the errors back into warnings as a stopgap measure by adding this to your <code>pytest.ini</code> file:</p> <pre lang="{.sourceCode" data-meta=".ini}"><code>[pytest] filterwarnings = ignore::pytest.PytestDeprecationWarning </code></pre> <p>But this will stop working when pytest <code>6.1</code> is released.</p> <p><strong>If you have concerns</strong> about the removal of a specific feature, please add a comment to <a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/5584">#5584</a>.</p> </li> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/7472">#7472</a>: The <code>exec_()</code> and <code>is_true()</code> methods of <code>_pytest._code.Frame</code> have been removed.</p> </li> </ul> <h2>Features</h2> <ul> <li><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/7464">#7464</a>: Added… | 2020-07-29T13:21:17Z | 2020-07-29T21:26:05Z | 2020-07-29T21:26:04Z | 2020-07-29T21:26:04Z | c5c12a797f0b81cd5862dcd50354b4b571e9bf5a | 0 | 3493915bbce6a279659df3d6b09ba0d36a8f9793 | 3c33b421320c0be81a625ca7307b2e4416a9ed5b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/910 | ||||
474703007 | MDExOlB1bGxSZXF1ZXN0NDc0NzAzMDA3 | 952 | closed | 0 | Update black requirement from ~=19.10b0 to >=19.10,<21.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [black](https://github.com/psf/black) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/psf/black/blob/master/CHANGES.md">black's changelog</a>.</em></p> <blockquote> <h3>20.8b1</h3> <h4><em>Packaging</em></h4> <ul> <li>explicitly depend on Click 7.1.2 or newer as <code>Black</code> no longer works with versions older than 7.0</li> </ul> <h3>20.8b0</h3> <h4><em>Black</em></h4> <ul> <li> <p>re-implemented support for explicit trailing commas: now it works consistently within any bracket pair, including nested structures (<a href="https://github-redirect.dependabot.com/psf/black/issues/1288">#1288</a> and duplicates)</p> </li> <li> <p><code>Black</code> now reindents docstrings when reindenting code around it (<a href="https://github-redirect.dependabot.com/psf/black/issues/1053">#1053</a>)</p> </li> <li> <p><code>Black</code> now shows colored diffs (<a href="https://github-redirect.dependabot.com/psf/black/issues/1266">#1266</a>)</p> </li> <li> <p><code>Black</code> is now packaged using 'py3' tagged wheels (<a href="https://github-redirect.dependabot.com/psf/black/issues/1388">#1388</a>)</p> </li> <li> <p><code>Black</code> now supports Python 3.8 code, e.g. star expressions in return statements (<a href="https://github-redirect.dependabot.com/psf/black/issues/1121">#1121</a>)</p> </li> <li> <p><code>Black</code> no longer normalizes capital R-string prefixes as those have a community-accepted meaning (<a href="https://github-redirect.dependabot.com/psf/black/issues/1244">#1244</a>)</p> </li> <li> <p><code>Black</code> now uses exit code 2 when specified configuration file doesn't exit (<a href="https://github-redirect.dependabot.com/psf/black/issues/1361">#1361</a>)</p> </li> <li> <p><code>Black</code> now works on AWS Lambda (<a href="https://github-redirect.dependabot.com/psf/black/issues/1141">#1141</a>)</p> </li> <li> <p>added <code>--force-exclude</code> argument (<a href="https://github-redirect.dependabot.com/p… | 2020-08-27T13:31:36Z | 2020-09-02T22:26:17Z | 2020-09-02T22:26:16Z | 37f8531b321855bdbc58960281957febaa59e4b9 | 0 | 7b1354706467136f5030504fe799201b13333a95 | 86aefc39c5aca01b00dbc57ba386a6743c21fb46 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/952 | |||||
494146043 | MDExOlB1bGxSZXF1ZXN0NDk0MTQ2MDQz | 977 | closed | 0 | Update pytest requirement from <6.1.0,>=5.2.2 to >=5.2.2,<6.2.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest's releases</a>.</em></p> <blockquote> <h2>6.1.0</h2> <h1>pytest 6.1.0 (2020-09-26)</h1> <h2>Breaking Changes</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/5585">#5585</a>: As per our policy, the following features which have been deprecated in the 5.X series are now removed:</p> <ul> <li>The <code>funcargnames</code> read-only property of <code>FixtureRequest</code>, <code>Metafunc</code>, and <code>Function</code> classes. Use <code>fixturenames</code> attribute.</li> <li><code>@pytest.fixture</code> no longer supports positional arguments, pass all arguments by keyword instead.</li> <li>Direct construction of <code>Node</code> subclasses now raise an error, use <code>from_parent</code> instead.</li> <li>The default value for <code>junit_family</code> has changed to <code>xunit2</code>. If you require the old format, add <code>junit_family=xunit1</code> to your configuration file.</li> <li>The <code>TerminalReporter</code> no longer has a <code>writer</code> attribute. Plugin authors may use the public functions of the <code>TerminalReporter</code> instead of accessing the <code>TerminalWriter</code> object directly.</li> <li>The <code>--result-log</code> option has been removed. Users are recommended to use the <a href="https://github.com/pytest-dev/pytest-reportlog">pytest-reportlog</a> plugin instead.</li> </ul> <p>For more information consult <a href="https://docs.pytest.org/en/stable/deprecations.html">Deprecations and Removals</a> in the docs.</p> </li> </ul> <h2>Deprecations</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/6981">#6981</a>: The <code>pytest.collect</code> module is deprecated: all its names can be imported from <code>pytest</code> directly.</p> </li> <li> <p><a href="https://gi… | 2020-09-28T13:33:05Z | 2020-09-28T22:16:36Z | 2020-09-28T22:16:35Z | 2020-09-28T22:16:35Z | 1f021c37110fc9019b0ef70062c28c335e568ae2 | 0 | 5c01344a0ee3e0e7ad59e1cd8b0e63c976be71ee | 9a6d0dce282e7fb58c5610e24c74098c923abfdc | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/977 | ||||
498630708 | MDExOlB1bGxSZXF1ZXN0NDk4NjMwNzA4 | 995 | closed | 0 | Document setting Google Cloud SDK properties | ghing 110420 | Document setting Google Cloud SDK properties to avoid having to respond to interactive prompts when running `datasette publish cloudrun`. | 2020-10-06T15:18:01Z | 2020-10-08T23:55:30Z | 2020-10-06T16:25:38Z | 2020-10-06T16:25:38Z | ca5ba6b77b4c973fa7ba91008a2e99debfa306b4 | Datasette 0.50 5971510 | 0 | aed2cf9f470bdc0b704ee62032fe0dcb1e557e43 | 5a184a5d211d3226e0417ee5cf8476cd887cd35e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/995 | |||
501579088 | MDExOlB1bGxSZXF1ZXN0NTAxNTc5MDg4 | 1017 | closed | 0 | Update janus requirement from <0.6,>=0.4 to >=0.4,<0.7 | dependabot-preview[bot] 27856297 | Updates the requirements on [janus](https://github.com/aio-libs/janus) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/janus/blob/master/CHANGES.rst">janus's changelog</a>.</em></p> <blockquote> <h1>Changes</h1> <h2>0.5.0 (2020-04-23)</h2> <ul> <li>Remove explicit loop arguments and forbid creating queues outside event loops <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/246">#246</a></li> </ul> <h2>0.4.0 (2018-07-28)</h2> <ul> <li>Add <code>py.typed</code> macro <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/89">#89</a></li> <li>Drop python 3.4 support and fix minimal version python3.5.3 <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/88">#88</a></li> <li>Add property with that indicates if queue is closed <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/86">#86</a></li> </ul> <h2>0.3.2 (2018-07-06)</h2> <ul> <li>Fixed python 3.7 support <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/97">#97</a></li> </ul> <h2>0.3.1 (2018-01-30)</h2> <ul> <li>Fixed bug with join() in case tasks are added by sync_q.put() <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/75">#75</a></li> </ul> <h2>0.3.0 (2017-02-21)</h2> <ul> <li>Expose unfinished_tasks property <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/34">#34</a></li> </ul> <h2>0.2.4 (2016-12-05)</h2> <ul> <li>Restore tarball deploying</li> </ul> <h2>0.2.3 (2016-07-12)</h2> <ul> <li>Fix exception type</li> </ul> <h2>0.2.2 (2016-07-11)</h2> <ul> <li>Update asyncio.async() to use asyncio.ensure_future() <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/6">#6</a></li> </ul> <h2>0.2.1 (2016-03-24)</h2> <ul> <li>Fix python setup.py test command <a href="https://github-redirect.dependabot.com/aio-libs/janus/issues/4">#4</a></li> </ul> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><… | 2020-10-12T13:29:46Z | 2020-10-14T21:52:08Z | 2020-10-14T21:52:07Z | 2020-10-14T21:52:07Z | 7f2edb5dd2074dce0090659021991695a984844b | 0 | f30d9da06b02a53f880b6fe7a7af9d3ff719dede | acf07a67722aa74828744726187690b59d342494 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1017 | ||||
501579315 | MDExOlB1bGxSZXF1ZXN0NTAxNTc5MzE1 | 1018 | closed | 0 | Update asgiref requirement from ~=3.2.10 to >=3.2.10,<3.4.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [asgiref](https://github.com/django/asgiref) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/django/asgiref/blob/master/CHANGELOG.txt">asgiref's changelog</a>.</em></p> <blockquote> <h2>3.3.0 (2020-10-09)</h2> <ul> <li>sync_to_async now defaults to thread-sensitive mode being on</li> <li>async_to_sync now works inside of forked processes</li> <li>WsgiToAsgi now correctly clamps its response body when Content-Length is set</li> </ul> <h2>3.2.10 (2020-08-18)</h2> <ul> <li>Fixed bugs due to bad WeakRef handling introduced in 3.2.8</li> </ul> <h2>3.2.9 (2020-06-16)</h2> <ul> <li>Fixed regression with exception handling in 3.2.8 related to the contextvars fix.</li> </ul> <h2>3.2.8 (2020-06-15)</h2> <ul> <li>Fixed small memory leak in local.Local</li> <li>contextvars are now persisted through AsyncToSync</li> </ul> <h2>3.2.7 (2020-03-24)</h2> <ul> <li>Bug fixed in local.Local where deleted Locals would occasionally inherit their storage into new Locals due to memory reuse.</li> </ul> <h2>3.2.6 (2020-03-23)</h2> <ul> <li>local.Local now works in all threading situations, no longer requires periodic garbage collection, and works with libraries that monkeypatch threading (like gevent)</li> </ul> <h2>3.2.5 (2020-03-11)</h2> <ul> <li><strong>self</strong> is now preserved on methods by async_to_sync</li> </ul> <h2>3.2.4 (2020-03-10)</h2> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/django/asgiref/commit/7dba5ff61313dfd1535de200590b9155abde20f0"><code>7dba5ff</code></a> Releasing 3.3.0</li> <li><a href="https://github.com/django/asgiref/commit/e1e0dd9a900966b29345e6069c0fdbc9a449e97f"><code>e1e0dd9</code></a> Added ZeroCopy extension</li> <li><a href="https://github.com/django/asgiref/commit/3834d13a8f5da921bb5f8ca16ee66d353fdbdadb"><code>3834d13</code></a> Added rpc.py to Implementations (<a href="https://github-redirect.dependabot.com/django/asgiref… | 2020-10-12T13:30:09Z | 2020-10-14T21:51:36Z | 2020-10-14T21:51:35Z | 2020-10-14T21:51:35Z | b4a8e70957517ff44d6a9121422d266a3c5fd664 | 0 | 4b021be087d0dba2b4ac0b872b2512f5b2203397 | acf07a67722aa74828744726187690b59d342494 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1018 | ||||
503685077 | MDExOlB1bGxSZXF1ZXN0NTAzNjg1MDc3 | 1022 | closed | 0 | Fix table name in spatialite example command | jsfenfen 639012 | The example query for creating a new point geometry seems to be using a table called 'museums' but at one point it instead uses 'events'. I *believe* it is intended to be museums (the example makes more sense if so). | 2020-10-14T22:19:34Z | 2020-10-14T23:46:46Z | 2020-10-14T23:46:46Z | 2020-10-14T23:46:46Z | 4f7c0ebd85ccd8c1853d7aa0147628f7c1b749cc | 0 | 7cef70a5528af4626302729ff0ebc88d92b5f4ca | 7f2edb5dd2074dce0090659021991695a984844b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1022 | ||||
505339515 | MDExOlB1bGxSZXF1ZXN0NTA1MzM5NTE1 | 1029 | closed | 0 | fix(docs): broken link | jthodge 17075617 | This PR fixes a broken markdown link in the `Publish` docs page. | 2020-10-17T20:03:20Z | 2020-10-17T20:05:04Z | 2020-10-17T20:05:04Z | 2020-10-17T20:05:04Z | 568bd7bbf590861687db8c318f3d8cfcd1dfb47a | 0 | a65d30e832d7e65adc65dcce8ab006227e4dafe4 | 4f7c0ebd85ccd8c1853d7aa0147628f7c1b749cc | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1029 | ||||
507267087 | MDExOlB1bGxSZXF1ZXN0NTA3MjY3MDg3 | 1038 | closed | 0 | DOC: Fix syntax error | gerrymanoim 194147 | If I understand https://docs.datasette.io/en/stable/plugin_hooks.html#register-routes correctly, `register_routes` should return a `List[Tuple[str, Callable]]`. I believe the current code in documentation has a syntax error (extra `)`). | 2020-10-21T05:45:38Z | 2020-10-21T22:57:21Z | 2020-10-21T22:44:17Z | 2020-10-21T22:44:17Z | 6e26b057996c6f3fefa8ad528e2759e53c738844 | 0 | 7fc0cce6a2d13ccc82c3584996acec236ae65df6 | 66120a7a1cb592e8a21164cf537f62a4d7ab1dfc | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1038 | ||||
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 | ||||
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 | |||||
511549374 | MDExOlB1bGxSZXF1ZXN0NTExNTQ5Mzc0 | 1059 | closed | 0 | Update aiofiles requirement from <0.6,>=0.4 to >=0.4,<0.7 | dependabot-preview[bot] 27856297 | Updates the requirements on [aiofiles](https://github.com/Tinche/aiofiles) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Tinche/aiofiles/commit/b4482aeef5312d4bf0c1abda5892df80957fa01f"><code>b4482ae</code></a> 0.6.0</li> <li><a href="https://github.com/Tinche/aiofiles/commit/eaccd3e43013b843f606665a68d3db395437e537"><code>eaccd3e</code></a> Update Changelog</li> <li><a href="https://github.com/Tinche/aiofiles/commit/2de90cf95e48db9178ef5bb246b5866892e8ef8e"><code>2de90cf</code></a> Test on 3.9</li> <li><a href="https://github.com/Tinche/aiofiles/commit/62b4c27096a5437f0608886e98cbe2681992ca57"><code>62b4c27</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/4083c7371a2e667a316efa55613cfe6b826304b2"><code>4083c73</code></a> Removed pypy3 for ppc64le</li> <li><a href="https://github.com/Tinche/aiofiles/commit/26e795b5dafe7d227147f1663ffeca6a76efe453"><code>26e795b</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/bd154cf3bf60f03aa22b3b264578a987d136be85"><code>bd154cf</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/7ae0e2ace9193e4e2417fc76ea51caf84ba0e656"><code>7ae0e2a</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/84eeb6c686ca6ba0ac700e93a078547cbaac625d"><code>84eeb6c</code></a> Update .travis.yml</li> <li><a href="https://github.com/Tinche/aiofiles/commit/c48f5b0a825f8c68c2238f098585c1f1c6ba2c16"><code>c48f5b0</code></a> Proxy name and mode properties</li> <li>Additional commits viewable in <a href="https://github.com/Tinche/aiofiles/compare/v0.4.0...v0.6.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and opti… | 2020-10-28T13:32:40Z | 2020-10-28T17:08:29Z | 2020-10-28T17:08:28Z | 2020-10-28T17:08:28Z | 879617265262024edd93722adcdcb6c21e57f5f7 | 0 | e46327a745c5a4130b65bf340d19dccc76441841 | 7d9fedc176717a7e3d22a96575ae0aada5a65440 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1059 | ||||
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 | |||
530125695 | MDExOlB1bGxSZXF1ZXN0NTMwMTI1Njk1 | 1122 | closed | 0 | Fix misaligned table actions cog | abdusco 3243482 | Fixes https://github.com/simonw/datasette/issues/1121 | 2020-12-01T08:41:46Z | 2020-12-03T10:56:40Z | 2020-12-03T00:33:37Z | 2020-12-03T00:33:36Z | daae35be46ec5cb8a207aa20986a4fa62e94777e | 0 | 94ea22f7b6b6c55b490c97b385f6eb6c1ea2121c | a970276b9999687b96c5e11ea1c817d814f5d267 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1122 | ||||
532342025 | MDExOlB1bGxSZXF1ZXN0NTMyMzQyMDI1 | 1128 | closed | 0 | Fix startup error on windows | abdusco 3243482 | Fixes https://github.com/simonw/datasette/issues/1094 This import isn't used at all, and causes error on startup on Windows. | 2020-12-04T07:12:26Z | 2020-12-06T08:41:45Z | 2020-12-05T19:35:04Z | 2020-12-05T19:35:04Z | 705d1a1555c4791e9be3b884285b047223ab184f | 0 | 7004c3b1462675ba3845b1efc82c816f1d2199e0 | 49d8fc056844d5a537d6cfd96dab0dd5686fe718 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1128 | ||||
532348919 | MDExOlB1bGxSZXF1ZXN0NTMyMzQ4OTE5 | 1130 | open | 0 | Fix footer not sticking to bottom in short pages | abdusco 3243482 | Fixes https://github.com/simonw/datasette/issues/1129 | 2020-12-04T07:29:01Z | 2021-06-15T13:27:48Z | af3aa34786f134af8073342a3c4bb74b968750fd | 0 | 8d4c69c6fb0ef741a19070f5172017ea3522e83c | 49d8fc056844d5a537d6cfd96dab0dd5686fe718 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1130 | ||||||
539489525 | MDExOlB1bGxSZXF1ZXN0NTM5NDg5NTI1 | 1145 | closed | 0 | Update pytest requirement from <6.2.0,>=5.2.2 to >=5.2.2,<6.3.0 | dependabot-preview[bot] 27856297 | Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest's releases</a>.</em></p> <blockquote> <h2>6.2.0</h2> <h1>pytest 6.2.0 (2020-12-12)</h1> <h2>Breaking Changes</h2> <ul> <li><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/7808">#7808</a>: pytest now supports python3.6+ only.</li> </ul> <h2>Deprecations</h2> <ul> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/7469">#7469</a>: Directly constructing/calling the following classes/functions is now deprecated:</p> <ul> <li><code>_pytest.cacheprovider.Cache</code></li> <li><code>_pytest.cacheprovider.Cache.for_config()</code></li> <li><code>_pytest.cacheprovider.Cache.clear_cache()</code></li> <li><code>_pytest.cacheprovider.Cache.cache_dir_from_config()</code></li> <li><code>_pytest.capture.CaptureFixture</code></li> <li><code>_pytest.fixtures.FixtureRequest</code></li> <li><code>_pytest.fixtures.SubRequest</code></li> <li><code>_pytest.logging.LogCaptureFixture</code></li> <li><code>_pytest.pytester.Pytester</code></li> <li><code>_pytest.pytester.Testdir</code></li> <li><code>_pytest.recwarn.WarningsRecorder</code></li> <li><code>_pytest.recwarn.WarningsChecker</code></li> <li><code>_pytest.tmpdir.TempPathFactory</code></li> <li><code>_pytest.tmpdir.TempdirFactory</code></li> </ul> <p>These have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 7.0.0.</p> </li> <li> <p><a href="https://github-redirect.dependabot.com/pytest-dev/pytest/issues/7530">#7530</a>: The <code>--strict</code> command-line option has been deprecated, use <code>--strict-markers</code> instead.</p> <p>We have plans to maybe in the future to reintroduce <code>--strict</code> and make it an encompassing flag for all strictness related options (<code>--strict-markers</code> and <code>--strict-config</code> a… | 2020-12-14T14:22:16Z | 2021-01-24T21:20:29Z | 2020-12-16T21:44:39Z | 2020-12-16T21:44:39Z | 6119bd797366a899119f1bba51c1c8cba2efc8fc | Datasette 0.54 6346396 | 0 | a8588f95568138c268e6802de0d1a4daffb7bda8 | 0c616f732cee79db80cad830917666f41b344262 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1145 | |||
544923437 | MDExOlB1bGxSZXF1ZXN0NTQ0OTIzNDM3 | 1158 | closed | 0 | Modernize code to Python 3.6+ | eumiro 6774676 | - compact dict and set building - remove redundant parentheses - simplify chained conditions - change method name to lowercase - use triple double quotes for docstrings please feel free to accept/reject any of these independent commits | 2020-12-23T16:21:38Z | 2021-01-24T21:20:50Z | 2020-12-23T17:04:32Z | 2020-12-23T17:04:32Z | a882d679626438ba0d809944f06f239bcba8ee96 | Datasette 0.54 6346396 | 0 | 37ce72f086d7807a32ea9012d6e6b5d235349152 | 90eba4c3ca569c57e96bce314e7ac8caf67d884e | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1158 | |||
548271472 | MDExOlB1bGxSZXF1ZXN0NTQ4MjcxNDcy | 1170 | closed | 0 | Install Prettier via package.json | benpickles 3637 | This adds a package.json with Prettier and means that developers/CI will use the same version. It also ensures that NPM packages are cached on GitHub Actions which fixes #1169. | 2021-01-04T14:18:03Z | 2021-01-24T21:21:01Z | 2021-01-04T19:52:34Z | 2021-01-04T19:52:33Z | 3054e0f7307da4c31850b74bd73238b33d6c750a | Datasette 0.54 6346396 | 0 | a5761ccb8676ef1b98d95d8174211c98f140e3de | 1e8fa3ac7cb2d6e516c47c306c86ed2334fc3dc0 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1170 | |||
564608264 | MDExOlB1bGxSZXF1ZXN0NTY0NjA4MjY0 | 1211 | closed | 0 | Use context manager instead of plain open | kbaikov 4488943 | Context manager with open closes the files after usage. Fixes: https://github.com/simonw/datasette/issues/1208 When the object is already a pathlib.Path i used read_text write_text functions In some cases pathlib.Path.open were used in context manager, it is basically the same as builtin open. Tests are passing: 850 passed, 5 xfailed, 10 xpassed | 2021-01-31T07:58:10Z | 2021-03-11T16:15:50Z | 2021-03-11T16:15:50Z | 2021-03-11T16:15:49Z | 8e18c7943181f228ce5ebcea48deb59ce50bee1f | 0 | e33ccaaafbe9a16b8339a3bf4c0ae7b83354570c | dde3c500c73ace33529672f7d862b76753d309cc | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1211 | ||||
572254103 | MDExOlB1bGxSZXF1ZXN0NTcyMjU0MTAz | 1223 | closed | 0 | Add compile option to Dockerfile to fix failing test (fixes #696) | bobwhitelock 7476523 | This test was failing when run inside the Docker container: `test_searchable[/fixtures/searchable.json?_search=te*+AND+do*&_searchmode=raw-expected_rows3]`, with this error: ``` def test_searchable(app_client, path, expected_rows): response = app_client.get(path) > assert expected_rows == response.json["rows"] E AssertionError: assert [[1, 'barry c...sel', 'puma']] == [] E Left contains 2 more items, first extra item: [1, 'barry cat', 'terry dog', 'panther'] E Full diff: E + [] E - [[1, 'barry cat', 'terry dog', 'panther'], E - [2, 'terry dog', 'sara weasel', 'puma']] ``` The issue was that the version of sqlite3 built inside the Docker container was built with FTS3 and FTS4 enabled, but without the `SQLITE_ENABLE_FTS3_PARENTHESIS` compile option passed, which adds support for using `AND` and `NOT` within `match` expressions (see https://sqlite.org/fts3.html#compiling_and_enabling_fts3_and_fts4 and https://www.sqlite.org/compile.html). Without this, the `AND` used in the search in this test was being interpreted as a literal string, and so no matches were found. Adding this compile option fixes this. --- I actually ran into this issue because the same test was failing when I ran the test suite on my own machine, outside of Docker, and so I eventually tracked this down to my system sqlite3 also being compiled without this option. I wonder if this is a sign of a slightly deeper issue, that Datasette can silently behave differently based on the version and compilation of sqlite3 it is being used with. On my own system I fixed the test suite by running `pip install pysqlite3-binary`, so that this would be picked up instead of the `sqlite` package, as this seems to be compiled using this option, . Maybe using `pysqlite3-binary` could be installed/recommended by default so a more deterministic version of sqlite is used? Or there could be some feature detection done on the available sqlite version, to know what features are … | 2021-02-12T03:38:05Z | 2021-03-07T12:01:12Z | 2021-03-07T07:41:17Z | 2021-03-07T07:41:17Z | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | 0 | d1cd1f259c699fab3af01c4aa90035ed0242471a | 9603d893b9b72653895318c9104d754229fdb146 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1223 | ||||
575187457 | MDExOlB1bGxSZXF1ZXN0NTc1MTg3NDU3 | 1229 | closed | 0 | ensure immutable databses when starting in configuration directory mode with | camallen 295329 | fixes #1224 This PR ensures all databases found in a configuration directory that match the files in `inspect-data.json` will be set to `immutable` as outlined in https://docs.datasette.io/en/latest/settings.html#configuration-directory-mode specifically on building the `datasette` instance it checks: - if `immutables` is an empty tuple - as passed by the cli code - if `immutables` is the default function value `None` - when it's not explicitly set And correctly builds the immutable database list from the `inspect-data[file]` keys. Note for this to work the `inspect-data.json` file must contain `file` paths which are relative to the configuration directory otherwise the file paths won't match and the dbs won't be set to immutable. I couldn't find an easy way to test this due to the way `make_app_client` works, happy to take directions on adding a test for this. I've updated the relevant docs as well, i.e. use the `inspect` cli cmd from the config directory path to create the relevant file ``` cd $config_dir datasette inspect *.db --inspect-file=inspect-data.json ``` https://docs.datasette.io/en/latest/performance.html#using-datasette-inspect | 2021-02-17T20:18:26Z | 2022-04-22T13:16:36Z | 2021-03-29T00:17:32Z | 2021-03-29T00:17:31Z | f92d823766872a6fd7e76c5249a6b2de1ab0f447 | 0 | a095248ad18c9c5272dbd52f4c97ea8a36cf91f3 | 8e18c7943181f228ce5ebcea48deb59ce50bee1f | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1229 | ||||
579697833 | MDExOlB1bGxSZXF1ZXN0NTc5Njk3ODMz | 1243 | closed | 0 | fix small typo | UtahDave 306240 | 2021-02-25T00:22:34Z | 2021-03-04T05:46:10Z | 2021-03-04T05:46:10Z | 2021-03-04T05:46:10Z | 4f9a2f1f47dcf7e8561d68a8a07f5009a13cfdb3 | 0 | 32652d9847f9b32c5d923823001c75d76e2791d2 | 726f781c50e88f557437f6490b8479c3d6fabfc2 | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1243 | |||||
587332473 | MDExOlB1bGxSZXF1ZXN0NTg3MzMyNDcz | 1252 | closed | 0 | Add back styling to lists within table cells (fixes #1141) | bobwhitelock 7476523 | This overrides the Datasette reset - see https://github.com/simonw/datasette/blob/d0fd833b8cdd97e1b91d0f97a69b494895d82bee/datasette/static/app.css#L35-L38 - to add back the default styling of list items displayed within Datasette table cells. Following this change, the same content as in the original issue looks like this: ![2021-03-09_02:57:32](https://user-images.githubusercontent.com/7476523/110411982-63e5ae80-8083-11eb-9b5c-e5dc825073e2.png) | 2021-03-09T03:00:57Z | 2021-03-29T00:14:04Z | 2021-03-29T00:14:04Z | 2021-03-29T00:14:04Z | e72397d65b06b019521b6411243687464ac8d8ca | 0 | d22aa32cd9c0f798bcab917cc2024a371b4c0069 | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1252 | ||||
589263297 | MDExOlB1bGxSZXF1ZXN0NTg5MjYzMjk3 | 1256 | closed | 0 | Minor type in IP adress | JBPressac 6371750 | 127.0.01 replaced by 127.0.0.1 | 2021-03-10T08:28:22Z | 2021-03-10T18:26:46Z | 2021-03-10T18:26:40Z | 2021-03-10T18:26:39Z | a1bcd2fbe5e47bb431045f65eeceb5eb3a6718d5 | 0 | 4eef524e44ff79c617728aad98b14c1c1e586ce3 | d0fd833b8cdd97e1b91d0f97a69b494895d82bee | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1256 | ||||
602107935 | MDExOlB1bGxSZXF1ZXN0NjAyMTA3OTM1 | 1279 | closed | 0 | Minor Docs Update. Added `--app` to fly install command. | koaning 1019791 | Without this flag, there's an error locally. ``` > datasette publish fly bigmac.db Usage: datasette publish fly [OPTIONS] [FILES]... Try 'datasette publish fly --help' for help. Error: Missing option '-a' / '--app'. ``` I also got an error message which later turned out to be because I hadn't added my credit card information yet to `fly`. I wasn't sure if I should add that mention to the docs here, or to submit a bug-report over at https://github.com/simonw/datasette-publish-fly. | 2021-03-27T16:58:08Z | 2021-03-29T00:11:55Z | 2021-03-29T00:11:55Z | 2021-03-29T00:11:55Z | c96a3826cf50cb347f6a415b56d8105ba6d8dcb0 | 0 | 14d8977e158d1d3193c6afb50aae482547ec9d8d | 3fcfc8513465339ac5f055296cbb67f5262af02b | CONTRIBUTOR | datasette 107914493 | https://github.com/simonw/datasette/pull/1279 |
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]);