sha,message,author_date,committer_date,raw_author,raw_committer,repo,author,committer e8625695a3b7938f37b64dff09c14e47d9428fe5,"xfail documentation unit tests for view classes, refs #299 More documentation unit tests. These ones check that every single **View class imported into the datasette/app.py module are covered by our documentation. Just one problem: they aren't documented yet. So I'm using the xfail pytest decorator to mark these tests as allowed-to-fail. When you run the test suite you now get a report of how many views still need to be documented, but it doesn't fail the tests. The output looks something like this: $ pytest tests/test_docs.py collected 31 items tests/test_docs.py ..........................XXXxx. [100%] ============ 26 passed, 2 xfailed, 3 xpassed in 1.06 seconds ============ Once I have documented all the views I will remove the xfail so any future views that are added without documentation will cause a test failure. We can detect that a view is documented by looking for ReST label in the docs, for example: .. _IndexView: Some view classes can be used to power multiple URLs - the JsonDataView class for example is used to power /-/metadata and /-/config and /-/plugins In this case, the second part of the label can indicate the variety of page, e.g: .. _JsonDataView_metadata: The test will pass as long as there is at least one label that starts with _JsonDataView.",2018-07-28T03:13:26Z,2018-07-28T03:13:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 acf07a67722aa74828744726187690b59d342494,"x button for clearing filters, refs #1016",2020-10-12T02:53:26Z,2020-10-12T02:53:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 bf8d84af5422606597be893cedd375020cb2b369,"word-wrap: anywhere on links in cells, refs #1805",2022-09-07T03:34:59Z,2022-09-07T03:34:59Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 f49d15a7583fafb94e7a7fcfe504d333812139f3,word-break: break-word;,2020-10-27T19:20:28Z,2020-10-27T19:39:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 787dd427de97dcbd0843611f1aef6d157d8bb0b6,"white-space: pre-wrap for table SQL, closes #505",2019-07-07T20:21:50Z,2019-07-07T20:26:38Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 29c5ff493ad7918b8fc44ea7920b41530e56dd5d,"view-instance permission for debug URLs, closes #833",2020-06-11T22:14:51Z,2020-06-11T22:14:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 9b42e1a4f5902fb7d6ad0111189900e2656ffda3,"view-database permission Also now using 🔒 to indicate private resources - resources that would not be available to the anonymous user. Refs #811",2020-06-08T03:50:37Z,2020-06-08T03:50:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 fe279ab7b4ae99dab295d5cf4d39ad06d782997e,"v0.8 - added PyPI metadata, ready to ship",2017-11-13T21:17:34Z,2017-11-13T21:17:34Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 70ff615f1b831c4dce936e9f9fc57a9e8e71e547,"utils.path_with_added_args() improvements * Now covered by unit tests * Preserves original order * Can handle multiple args of the same name, e.g. ?bar=1&bar=2",2018-05-12T21:35:25Z,2018-05-12T21:44:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 527cec66b0403e689c8fb71fc8b381a1d7a46516,"utils.pairs_to_nested_config(), refs #2156, #2143",2023-08-24T18:21:15Z,2023-08-24T18:21:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 25fdbe6b27888b7ccf1284c0304a8eb282dbb428,"use tmpdir instead of isolated_filesystem, refs #2037 Should hopefully get tests passing for #2036 too.",2023-03-08T20:33:23Z,2023-03-08T20:33:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 10c35bd371faaa0f3c98067c08f26334c9f5ea52,"urls.static_plugins() method, closes #1033 Also documented how to package static assets and templates in plugins, closes #575",2020-10-24T20:03:40Z,2020-10-24T20:03:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 7633b9ab249b2dce5ee0b4fcf9542c13a1703ef0,"unauthenticated: true method plus allow block docs, closes #825",2020-06-09T17:01:03Z,2020-06-09T17:01:03Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 5ea8c6d1cd8ded832718fb1a652b5880c4bf5ebb,"type-pk instead of type-link CSS class, closes #729",2020-05-15T05:55:20Z,2020-05-15T05:55:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 d0737e4de51ce178e556fc011ccb8cc46bbb6359,"truncate_cells_html now affects URLs too, refs #1805",2022-09-06T23:50:43Z,2022-09-06T23:50:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 88ac538b41a4753c3de9b509c3a0e13077f66182,"transfer-encoding: chunked for DB downloads, refs #749 This should get >32MB downloads working on Cloud Run.",2020-12-02T23:47:37Z,2020-12-02T23:47:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 da53e0360da4771ffb56a8e3eb3f7476f3168299,"tracer.trace_child_tasks() for asyncio.gather tracing Also added documentation for datasette.tracer module. Closes #1576",2022-02-05T05:19:49Z,2022-02-05T05:19:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 27efa8c381bc1c9b8b3e6056e7e544ce6bedaedc,"todomvc permissions and fixed DATASETTE_SECRET for new demo Refs https://github.com/simonw/todomvc-datasette/issues/2",2022-12-02T01:29:44Z,2022-12-02T01:29:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 e55bc3b2fa6e1e8be7b7c1f5b6cb3764713b6faa,th align left for all tables,2017-10-25T14:46:38Z,2017-10-25T14:46:38Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 2db977d8f30e0eb8b7cda1481a4a8852b414915d,"tests/fixtures.py can now write out plugins too This command: python tests/fixtures.py \ fixtures.db \ metadata.json \ fixtures-plugins/ Will now create the fixtures.db and metadata.json files, AND create a folder called fixtures-plugins/ containing two test plugins. You can then run it like this: datasette fixtures.db \ -m metadata.json --plugins-dir=fixtures-plugins/",2019-05-06T02:50:33Z,2019-05-09T16:44:21Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 764738dfcb16cd98b0987d443f59d5baa9d3c332,"test_routes also now asserts matches, refs #1666",2022-03-19T16:30:22Z,2022-03-19T16:30:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 b998c2793fec24e965e561fdbdca5c987223d536,"test_facets.py using ds_client, refs #1959",2022-12-16T17:05:54Z,2022-12-17T21:47:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 f56e043747bde4faa1d78588636df6c0dadebc65,"test_facet_against_in_memory_database, refs #2189 This is meant to illustrate a crashing bug but it does not trigger it.",2023-09-18T17:39:11Z,2023-09-18T17:39:11Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 dee18ed8ce7af2ab8699bcb5a51a99f48301bc42,"test_create_table_error_rows_twice_with_duplicates, refs #1927",2022-12-08T01:29:24Z,2022-12-08T01:29:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 9342b60f148e01a6eee491e32d4a946693b49a3d,"test_create_table_error_if_pk_changed, refs #1927",2022-12-08T01:27:01Z,2022-12-08T01:27:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 80a9cd9620fddf2695d12d8386a91e7c6b145ef2,"test-datasette-load-plugins now fails correctly, refs #2193",2023-09-21T19:55:50Z,2023-09-21T19:55:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 a290f28caae61b47e76e825c06984f22fc41a694,"table_rows => table_rows_count, filtered_table_rows => filtered_table_rows_count Renamed properties. Closes #194",2018-04-09T05:24:24Z,2018-04-09T05:24:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 0209a0a344503157351e625f0629b686961763c9,"table_exists() now uses async SQL, refs #420",2019-03-31T18:02:22Z,2019-03-31T18:02:22Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 2f7731e9e5ff9b324beb5039fbe2be55d704a184,"table_actions() plugin hook plus menu, closes #1066 Refs #690",2020-10-30T05:16:41Z,2020-10-30T05:16:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 26bb4a268127da2c38f4241abe45444b2a6f7874,"table-wrapper on query page too, refs ##998",2020-10-27T07:56:35Z,2020-10-27T07:56:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 8430c3bc7dd22b173c1a8c6cd7180e3b31240cd1,"table facet_size in metadata, refs #1804",2022-09-06T15:59:19Z,2022-09-06T15:59:19Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 432a3d675fa3697bd92fcc559d66e0c403d30c16,"sqlite3.enable_callback_tracebacks(True), closes #891",2020-09-15T21:59:17Z,2020-09-15T21:59:17Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 8df116b24cc79a837d9bfa291d23082f838f78a6,sqlite-utils now lives at sqlite-utils.datasette.io,2020-12-29T21:38:53Z,2020-12-29T21:38:53Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 f571b19d8a5fd3a19fdf679421fd55a8edbf5295,"sqlerrors() decorator catching and returning useful errors Closes #8",2017-10-23T15:28:00Z,2017-10-23T15:28:00Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 1465fea4798599eccfe7e8f012bd8d9adfac3039,"sphinx-copybutton for docs, closes #1748",2022-05-20T19:11:08Z,2022-05-20T19:11:28Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 97331f3435ba1583a0f9dbcaffc25de8894cf1f8,"sortable_columns_for_table() no longer uses inspect() Refs #420",2019-04-07T01:58:51Z,2019-04-07T01:58:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 5629aaca67437acce8af47acb06488bd9991420b,sortable_columns also now works with views,2018-08-06T00:29:23Z,2018-08-06T00:29:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 b1fd24ac9f9035464af0a8ce92391c166a783253,"skip_csrf(datasette, scope) plugin hook, refs #1377",2021-06-23T22:39:52Z,2021-06-23T22:40:09Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 afe9aa3ae03c485c5d6652741438d09445a486c1,"show/hide link for SQL on custom query page Closes #415",2019-03-15T05:22:24Z,2019-03-15T05:22:35Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 9f8d9fe262866ff3463f8e61214dcc6897bd5a9c,setup: add tests to package exclusion (#458),2019-05-10T01:54:50Z,2019-05-10T01:54:50Z,5e571aa122bb7440d7e40e22fd627b3fbbf12c38,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,7725188,9599 3ef35ca8b4369af6a8bcdd9e5cfbb5f3a7d17cf8,"serve and publish commands now take a --metadata option If provided, the --metadata option is the path to a JSON file containing metadata that should be displayed alongside the dataset. datasette /tmp/fivethirtyeight.db --metadata /tmp/metadata.json Currently that metadata format looks like this: { ""title"": ""Five Thirty Eight"", ""license"": ""CC Attribution 4.0 License"", ""license_url"": ""http://creativecommons.org/licenses/by/4.0/"", ""source"": ""fivethirtyeight/data on GitHub"", ""source_url"": ""https://github.com/fivethirtyeight/data"" } If provided, this will be used by the index template and to populate the common footer. The publish command also accepts this argument, and will package any provided metadata up and include it with the resulting Docker container. datasette publish --metadata /tmp/metadata.json /tmp/fivethirtyeight.db Closes #68",2017-11-13T15:20:02Z,2017-11-13T15:20:02Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 21b57cdf9a4ede0f9444f15a3bd182be3b06f2c0,"serve --inspect-file=X now populates cached table counts Closes #462",2019-05-16T14:30:32Z,2019-05-16T14:30:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 83f6799a96f48b5acef4911c0273973f15efdf05,"searchmode: raw table metadata property, closes #1389",2021-07-10T18:30:48Z,2021-07-10T18:33:08Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 fa0c3777b876c29df8f2f48901533bce24de9aec,"script type=module support, closes #1186",2021-01-14T01:50:52Z,2021-01-14T01:50:52Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 bf82b3d6a605c9ddadd5fb739249dfe6defaf635,"scale-in animation for column action menu, closes #1039",2020-10-21T17:02:26Z,2020-10-21T17:02:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 008e2f63c217aa066027a872ee706b07bd084857,"response.set_cookie(), closes #795",2020-06-09T22:19:37Z,2020-06-09T22:19:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 fac8e9381500fc02cec99281122ee8e0c72fabe1,"request.url_vars property, closes #822",2020-06-09T03:40:00Z,2020-06-09T03:40:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 7bb30c1f11f7246baf7bb6a229f6b93572c4cbe3,"request.url now respects force_https_urls, closes #781",2020-05-28T17:09:32Z,2020-05-28T17:10:06Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 0934844c0b6d124163d0185fb6a41ba5a71433da,request.post_vars() no longer discards empty values,2020-06-03T13:48:39Z,2020-06-03T13:48:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 649f48cd702fb76fed92eac1e5d2fd2ec28fbbf9,"request.full_path property, closes #1184",2021-01-11T21:32:58Z,2021-01-11T21:32:58Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 84616a2364df56f966f579eecc0716b9877f0d70,"request.args.getlist() returns [] if missing, refs #774 Also added some unit tests for request.args",2020-05-29T22:51:30Z,2020-05-29T22:51:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 ff0dd4da38d48c2fa9250ecf336002c9ed724e36,"repr() method for Request, refs #1519",2021-11-19T20:29:37Z,2021-11-19T20:29:37Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 2e836f72d9a4e61341d75ea48e88314e0d006b65,"render_cell(value, column, table, database, datasette) The render_cell plugin hook previously was only passed value. It is now passed (value, column, table, database, datasette).",2018-08-28T10:03:01Z,2018-08-28T10:03:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 0b4a28691468b5c758df74fa1d72a823813c96bf,"render_cell(..., request) argument, closes #2007",2023-01-28T03:34:14Z,2023-01-28T03:34:14Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 3bb6409a6cb8eaee32eb572423d9c0485a1dd917,"render_cell() can now return an awaitable, refs",2021-08-08T23:04:42Z,2021-08-08T23:05:00Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 b72b2423c79dea4600b2337949db98269d0b6215,"rel=alternate JSON for queries and database pages, closes #1620",2022-02-02T21:21:11Z,2022-02-02T21:22:45Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 eccfeb0871dd4bc27870faf64f80ac68e5b6bc0d,"register_routes() plugin hook datasette argument, closes #1404",2021-07-26T23:16:46Z,2021-07-26T23:16:46Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 799ecae94824640bdff21f86997f69844048d5c3,"register_output_renderer can now return Response, closes #953",2020-08-28T04:02:50Z,2020-08-28T04:02:50Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 30c18576d603366dc3bd83ba50de1b7e70844430,"register_commands() plugin hook, closes #1449",2021-08-28T01:39:42Z,2021-08-28T01:39:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 699be7dea9499355d576c16e330b85b90e1aca2a,"raise_404() function for use in custom templates, closes #964",2020-09-14T17:39:13Z,2020-09-14T17:39:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 fcc7cd6379ab62b5c2440d26935659a797133030,rST formatting,2020-06-11T16:04:32Z,2020-06-11T16:05:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 9e6075d21facbfef565ffcdf160a558744fc1c2d,rST fixes for register_output_renderer docs,2020-05-27T18:35:31Z,2020-05-27T18:35:31Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 089278b8dbe0cb3d41f27666d97b0096b750fbe2,"rST fix, refs #1384",2021-06-26T22:49:07Z,2021-06-26T22:49:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 be768f26d09fa060b1ca71785ff546dd572f3fbc,python setup.py test now runs the tests,2017-11-04T23:40:27Z,2017-11-04T23:40:27Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 606ff9e35e007ae58a491d417f47779034bacabc,"python app.py --build to generate build-metadata.json This is now run by the Dockerfile to build this at compile time.",2017-10-24T05:53:13Z,2017-10-24T05:53:13Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 b46856391de5a819a85d1dd970428cbc702be94a,"pytest.mark.serial for any test using isolated_filesystem(), refs #1406",2021-07-30T00:44:16Z,2021-07-30T23:46:41Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 2b1c535c128984cc0ee2a097ecaa3ab638ae2a5b,"pytest.mark.serial for any test using isolated_filesystem(), refs #1406",2021-07-30T00:44:16Z,2021-07-30T00:44:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 20d41c8e8e84ab3e8bdb5cca9bd9799da09794ad,"publish now takes a required publisher argument - only current option is 'now' Closes #76",2017-11-13T18:40:51Z,2017-11-13T18:40:51Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 25c2933667680db045851b2cedcf4666d737d352,publish heroku now uses python-3.8.7,2021-01-23T00:46:16Z,2021-01-23T00:46:25Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 666c37415a898949fae0437099d62a35b1e9c430,"publish heroku now uses Python 3.6.8 Also refactored temporary_heroku_directory out of utils.py",2019-05-16T04:32:23Z,2019-05-16T04:32:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 371170eee8d1659437e42c8ee267cb4b2abcffb5,publish heroku now deploys with Python 3.8.3,2020-06-11T15:44:44Z,2020-06-11T15:44:44Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 3863a30b5d18204b4c77518f1880a1f705e929db,"publish command checks 'now' is installed Closes #58",2017-11-11T16:00:00Z,2017-11-11T16:00:00Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 b40872f5e5ae5dad331c58f75451e2d206565196,"prepare_jinja2_environment(datasette) argument, refs #1809",2022-09-14T21:31:54Z,2022-09-14T21:31:54Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 6303ea50483e432bbef193d1c54c2bf54e53f157,"prepare_connection() now takes datasette and database args, refs #678",2020-02-22T01:32:40Z,2020-02-22T01:32:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 9db22cdf1809fb78a7b183cd2f617cd5e26efc68,"pk__notin= filter, closes #614",2019-11-04T04:11:55Z,2019-11-04T04:11:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 9e97b725f11be3f4dca077fe5569078a62ec2761,pip install -e .[docs] for docs dependencies,2019-06-25T12:08:04Z,2019-06-25T12:08:04Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 b4cd8797b8592a8bf060a76eb7227f3f1ba61d32,permission_checks is now _permission_checks,2020-06-02T17:43:50Z,2020-06-02T21:11:32Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 02dc6298bdbfb1d63e0d2a39ff597b5fcc60e06b,permission_allowed resource can be a tuple,2020-07-21T15:22:31Z,2020-07-21T15:22:36Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 8a4ed052a5034d3f12daf5eedabb0808a0bf20fc,path_with_added_args now works with multiple existing args,2018-05-14T22:09:09Z,2018-05-16T15:27:24Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 2b79f2bdeb1efa86e0756e741292d625f91cb93d,path_with_added_args now preserves order in Python 3.5,2018-05-14T03:02:07Z,2018-05-14T03:04:23Z,13ae486343ea6454a93114c6f558ffea2f2c6874,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 c195ee4d46f2577b1943836a8270d84c8341d138,"package and publish commands now accept --static and --template-dir Example usage: datasette package --static css:extra-css/ --static js:extra-js/ \ sf-trees.db --template-dir templates/ --tag sf-trees --branch master This creates a local Docker image that includes copies of the templates/, extra-css/ and extra-js/ directories. You can then run it like this: docker run -p 8001:8001 sf-trees For publishing to Zeit now: datasette publish now --static css:extra-css/ --static js:extra-js/ \ sf-trees.db --template-dir templates/ --name sf-trees --branch master Example: https://sf-trees-wbihszoazc.now.sh/sf-trees-02c8ef1/Street_Tree_List For publishing to Heroku: datasette publish heroku --static css:extra-css/ --static js:extra-js/ \ sf-trees.db --template-dir templates/ --branch master Closes #157, #160",2017-12-09T18:19:39Z,2017-12-09T18:28:49Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 a3593c901580ea50854c3e0774b0ba0126e8a76f,"on_success_message_sql, closes #2138",2023-08-10T00:32:07Z,2023-08-10T00:32:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 f80ff9b07b5ecdfeca4aa81f5728812a22bfb019,"min-height on .hd Now it should be the same size on the homepage as it is on pages with breadcrumbs",2019-07-07T20:16:48Z,2019-07-07T20:16:48Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 d7b21a862335d3765247d84e5afe778f83eb69ee,"metadata.yaml now treated as default in docs Added sphinx-inline-tabs to provide JSON and YAML tabs to show examples. Refs #1153",2023-07-08T16:37:01Z,2023-07-08T16:37:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 80bf3afa43e3cb396c7a7c9b168eedbc6fe0fa15,"metadata.json support for per-table/per-database metadata Also added support for descriptions and HTML descriptions. Here's an example metadata.json file illustrating custom per-database and per- table metadata: { ""title"": ""Overall datasette title"", ""description_html"": ""This is a description with HTML."", ""databases"": { ""db1"": { ""title"": ""First database"", ""description"": ""This is a string description & has no HTML"", ""license_url"": ""http://example.com/"", ""license"": ""The example license"", ""queries"": { ""canned_query"": ""select * from table1 limit 3;"" }, ""tables"": { ""table1"": { ""title"": ""Custom title for table1"", ""description"": ""Tables can have descriptions too"", ""source"": ""This has a custom source"", ""source_url"": ""http://example.com/"" } } } } } Closes #165, Refs #164",2017-12-07T16:42:54Z,2017-12-07T16:47:07Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 446d47fdb005b3776bc06ad8d1f44b01fc2e938b,"make html title more readable in query template (#180) tiny tweak to make this easier to visually parse—I think it matches your style in other templates",2018-04-03T15:24:04Z,2018-04-03T15:24:04Z,daa0836007170071f748b575d34c4432f4f43926,2946d096d0cdefdc017559e6b57e87658736e843,107914493,56477,9599 ad6142b67c8f137b001770339510979c5df43d85,long_description in markdown for the new PyPI,2018-04-13T16:03:09Z,2018-04-13T16:04:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 f27cabbaf3d834f47bc6bea1de7e27c11fcfa5e7,label_column option in metadata.json - closes #234,2018-04-22T17:51:43Z,2018-04-22T17:53:16Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 f3f42957128c1e7ece584d45d9167f2ac003a3b8,"label_column now defined on the table-being-linked-to, fixes #234",2018-04-22T20:46:18Z,2018-04-22T20:46:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 a6ff123de5464806441f6a6f95145c9a83b7f20b,"keep_blank_values=True when parsing query_string, closes #1551 Refs #1518",2021-12-12T20:01:51Z,2021-12-12T20:01:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 0e42444866fc6e2d45b77471badda2524e95d412,"invoke_startup() inside ds_client fixture, refs #1959",2022-12-16T17:51:29Z,2022-12-17T21:47:55Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 aca41618f8761f99c47c8ae8e81b07a6d4af4d7a,index view is also important for plugin hooks,2019-11-25T17:04:39Z,2019-11-25T17:04:39Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 b0d0a0e5de8bb5b9b6c253e8af451a532266bcf1,"importlib_resources for Python < 3.9, refs #2057",2023-09-21T19:42:15Z,2023-09-21T19:42:15Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 6b27537988ed849682afb9fa3b713dbf33174651,"ignore/replace to create requires pk, refs #1927",2022-12-08T01:18:40Z,2022-12-08T01:18:40Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 bc9871c93583f3cdcca191b7fa05b255be7275c8,"gt/lt/gte/lte now treat numeric arguments as numeric This now works: https://immutabase-dlmggyoepw.now.sh/northwind-40d049b/Products?UnitsInStock__gt=100 Previously the input value of 100 would be treated as a string. Also fixed a bug where filter arguments had stopped working entirely. Refs #23",2017-11-09T16:09:55Z,2017-11-09T16:09:55Z,2946d096d0cdefdc017559e6b57e87658736e843,2946d096d0cdefdc017559e6b57e87658736e843,107914493,9599,9599 7ff51598c468deb1d2c0d4c23a808458c9b1e3a2,"git commit -m ""datasette --template-dir=mytemplates/"" argument You can now pass an additional argument specifying a directory to look for custom templates in. Datasette will fall back on the default templates if a template is not found in that directory. Refs #12, #153",2017-11-30T16:05:01Z,2017-11-30T16:05:01Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 34d77d780f68b778fd9d6ebbaf69f250436f055f,"gcloud run is now GA, s/beta// (#660) Thanks, @glasnt",2020-01-21T23:28:11Z,2020-01-21T23:28:11Z,f9a18a704545f33349d7b28b24faf7063846ae0a,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,813732,9599 30255055150d7bc0affc8156adc18295495020ff,functools.wraps to help investigate #1517,2021-11-19T03:19:43Z,2021-11-19T03:19:43Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 7d0299edd40636037a06548736681b67385b499e,"fts_table and fts_pk metadata configs, available for both tables and views",2018-08-06T00:44:47Z,2018-08-06T00:44:47Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 db02311ebf3711309b231d007967bcf8b026a026,"foreign_key_tables no longer uses inspect, refs #420",2019-04-07T03:23:30Z,2019-04-07T03:23:30Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599 e1efa9b7a37dcf4bf56d7faee9e21fbc141f9de5,"force_https_urls on for publish cloudrun, refs #1178",2021-01-06T18:13:34Z,2021-01-06T18:13:34Z,13ae486343ea6454a93114c6f558ffea2f2c6874,13ae486343ea6454a93114c6f558ffea2f2c6874,107914493,9599,9599