content

Custom SQL query returning 39 rows (hide)

Query parameters

releasepublished_atbody
datasette-cluster-map 0.17a0 2021-01-26T06:33:15Z - Now depends on [datasette-leaflet](https://datasette.io/plugins/datasette-leaflet). #28
datasette-leaflet-geojson 0.8 2021-01-26T02:41:07Z - Now depends on [datasette-leaflet](https://datasette.io/plugins/datasette-leaflet) for loading Leaflet JavaScript and CSS. [#17](https://github.com/simonw/datasette-leaflet-geojson/issues/17)
datasette-leaflet-freedraw 0.2.1 2021-01-25T19:23:59Z - Include source map in the bundle. #4
datasette-leaflet-freedraw 0.2 2021-01-25T19:05:34Z - Now depends on [datasette-leaflet](https://datasette.io/plugins/datasette-leaflet) for loading Leaflet JavaScript and CSS. #3
datasette-leaflet 0.2 2021-01-25T19:03:10Z - Expose URLs to bundled assets as JavaScript global variables `datasette.leaflet.JAVASCRIPT_URL` and `datasette.leaflet.CSS_URL`. #4
datasette 0.54 2021-01-25T17:36:30Z The two big new features in this release are the `_internal` SQLite in-memory database storing details of all connected databases and tables, and support for JavaScript modules in plugins and additional scripts. For additional commentary on this release, see [Datasette 0.54, the annotated release notes](https://simonwillison.net/2021/Jan/25/datasette/). ### The _internal database As part of ongoing work to help Datasette handle much larger numbers of connected databases and tables (see [Datasette Library](https://github.com/simonw/datasette/issues/417)) Datasette now maintains an in-memory SQLite database with details of all of the attached databases, tables, columns, indexes and foreign keys. ([#1150](https://github.com/simonw/datasette/issues/1150)) This will support future improvements such as a searchable, paginated homepage of all available tables. You can explore an example of this database by [signing in as root](https://latest.datasette.io/login-as-root) to the `latest.datasette.io` demo instance and then navigating to [latest.datasette.io/_internal](https://latest.datasette.io/_internal). Plugins can use these tables to introspect attached data in an efficient way. Plugin authors should note that this is not yet considered a stable interface, so any plugins that use this may need to make changes prior to Datasette 1.0 if the `_internal` table schemas change. ### Named in-memory database support As part of the work building the `_internal` database, Datasette now supports named in-memory databases that can be shared across multiple connections. This allows plugins to create in-memory databases which will persist data for the lifetime of the Datasette server process. ([#1151](https://github.com/simonw/datasette/issues/1151)) The new `memory_name=` parameter to the [Database class](https://docs.datasette.io/en/stable/internals.html#internals-database) can be used to create named, shared in-memory databases. ### JavaScript modules [JavaScript modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) were introduced in ECMAScript 2015 and provide native browser support for the `import` and `export` keywords. To use modules, JavaScript needs to be included in `<script>` tags with a `type="module"` attribute. Datasette now has the ability to output `<script type="module">` in places where you may wish to take advantage of modules. The `extra_js_urls` option described in [Custom CSS and JavaScript](https://docs.datasette.io/en/stable/custom_templates.html#customization-css-and-javascript) can now be used with modules, and module support is also available for the [extra_body_script()](https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hook-extra-body-script) plugin hook. ([#1186](https://github.com/simonw/datasette/issues/1186), [#1187](https://github.com/simonw/datasette/issues/1187)) [datasette-leaflet-freedraw](https://datasette.io/plugins/datasette-leaflet-freedraw) is the first example of a Datasette plugin that takes advantage of the new support for JavaScript modules. See [Drawing shapes on a map to query a SpatiaLite database](https://simonwillison.net/2021/Jan/24/drawing-shapes-spatialite/) for more on this plugin. ### Code formatting with Black and Prettier Datasette adopted [Black](https://github.com/psf/black) for opinionated Python code formatting in June 2019. Datasette now also embraces [Prettier](https://prettier.io/) for JavaScript formatting, which like Black is enforced by tests in continuous integration. Instructions for using these two tools can be found in the new section on [Code formatting](https://docs.datasette.io/en/stable/contributing.html#contributing-formatting) in the contributors documentation. ([#1167](https://github.com/simonw/datasette/issues/1167)) ### Other changes - Datasette can now open multiple database files with the same name, e.g. if you run `datasette path/to/one.db path/to/other/one.db`. ([#509](https://github.com/simonw/datasette/issues/509)) - `datasette publish cloudrun` now sets `force_https_urls` for every deployment, fixing some incorrect `http://` links. ([#1178](https://github.com/simonw/datasette/issues/1178)) - Fixed a bug in the example nginx configuration in [Running Datasette behind a proxy](https://docs.datasette.io/en/stable/deploying.html#deploying-proxy). ([#1091](https://github.com/simonw/datasette/issues/1091)) - The [Datasette Ecosystem](https://docs.datasette.io/en/stable/ecosystem.html#ecosystem) documentation page has been reduced in size in favour of the `datasette.io` [tools](https://datasette.io/tools) and [plugins](https://datasette.io/plugins) directories. ([#1182](https://github.com/simonw/datasette/issues/1182)) - The request object now provides a `request.full_path` property, which returns the path including any query string. ([#1184](https://github.com/simonw/datasette/issues/1184)) - Better error message for disallowed `PRAGMA` clauses in SQL queries. ([#1185](https://github.com/simonw/datasette/issues/1185)) - `datasette publish heroku` now deploys using `python-3.8.7`. - New plugin testing documentation on [Testing outbound HTTP calls with pytest-httpx](https://docs.datasette.io/en/stable/testing_plugins.html#testing-plugins-pytest-httpx). ([#1198](https://github.com/simonw/datasette/issues/1198)) - All `?_*` query string parameters passed to the table page are now persisted in hidden form fields, so parameters such as `?_size=10` will be correctly passed to the next page when query filters are changed. ([#1194](https://github.com/simonw/datasette/issues/1194)) - Fixed a bug loading a database file called `test-database (1).sqlite`. ([#1181](https://github.com/simonw/datasette/issues/1181))
datasette-leaflet 0.1 2021-01-24T18:19:32Z - Initial release, bundling Leaflet 1.7.1 as static assets that can be loaded as JavaScript modules.
datasette-leaflet-freedraw 0.1.4 2021-01-24T06:46:58Z - README now includes a demo. #2 - Note that this currently requires the Datasette 0.54a0 alpha.
datasette-auth-github 0.13 2021-01-24T05:53:00Z This plugin now builds on the [Authentication and permissions](https://docs.datasette.io/en/stable/authentication.html) mechanism introduced in [Datasette 0.44](https://docs.datasette.io/en/stable/changelog.html#v0-44). This means it can be used in combination with other authentication plugins such as [datasette-auth-tokens](https://datasette.io/plugins/datasette-auth-tokens). #62 When a user signs in with GitHub, a signed [ds_actor cookie](https://docs.datasette.io/en/stable/authentication.html#the-ds-actor-cookie) is set with details of their GitHub profile. Fields from this dictionary can be used with Datasette [allow blocks](https://docs.datasette.io/en/stable/authentication.html#defining-permissions-with-allow-blocks) to control access to individual databases, tables and queries. The new `load_orgs` and `load_teams` options can be used to check the user's membership of different organization and teams when they first sign in. These memberships will be encoded in the cookie and can be used to control access. Other changes: - The ASGI middleware version of this plugin has been split off into a separate [asgi-auth-github](https://github.com/simonw/asgi-auth-github) package. #63 - Error messages are now rendered using a `datasette_auth_github_error.html` template, which can be customized by including a template of the same name in a [custom templates directory](https://docs.datasette.io/en/stable/custom_templates.html#custom-templates). #36 - The `/-/auth-callback` path is now `/-/github-auth-callback` - you will need to update this in your GitHub OAuth application settings. #66
datasette-cluster-map 0.16 2021-01-23T22:50:55Z - Handle cases where columns may have null values. Thanks, Jose Rodriguez-Salinas. #27 - Now depends on Datasette >= 0.50
datasette-auth-github 0.13a2 2021-01-23T00:50:16Z - Renamed `/-/auth-callback` to `/-/github-auth-callback`. #66
datasette-auth-github 0.13a1 2021-01-22T23:22:19Z - Removed custom base template - Datasette provides a "logout" link in the default interface now. - Added "Sign in with GitHub" menu action. #65 - Use `datasette_datasette_auth_github_error.html` template for error messages. #36
datasette-auth-github 0.13a0 2021-01-22T22:36:49Z Alpha release. This is a big change - it switches the plugin over to using the authentication plugin mechanism introduced in [Datasette 0.44](https://simonwillison.net/2020/Jun/12/annotated-release-notes/).
datasette-leaflet-geojson 0.7 2021-01-20T20:21:25Z - Plugin now only shows maps for the first ten rows, with a "Click to view map" prompt for rows past that point. This can be customized using the new `default_maps_to_load` plugin setting. [#16](https://github.com/simonw/datasette-leaflet-geojson/issues/16)
datasette-leaflet-freedraw 0.1.3 2021-01-20T09:29:08Z - Fixed bug where polygons drawn at a high zoom level were not correctly re-displayed after submitting the query. #1
datasette-leaflet-freedraw 0.1.2 2021-01-20T01:26:17Z - Bundle the CSS as well
datasette-leaflet-freedraw 0.1.1 2021-01-20T01:20:20Z - Added some static files that I missed from the packaging.
datasette-leaflet-freedraw 0.1 2021-01-20T00:59:30Z - Initial working release.
datasette 0.54a0 2021-01-19T20:51:13Z **Alpha release**. Release notes in progress. - Improved support for named in-memory databases. ([#1151](https://github.com/simonw/datasette/issues/1151)) - New `_internal` in-memory database tracking attached databases, tables and columns. ([#1150](https://github.com/simonw/datasette/issues/1150)) - Support for JavaScript modules. ([#1186](https://github.com/simonw/datasette/issues/1186), [#1187](https://github.com/simonw/datasette/issues/1187))
datasette-cluster-map 0.15 2021-01-18T21:49:39Z - Fixed bug where foreign key labels were displayed as `[object Object]`. [#26](https://github.com/simonw/datasette-cluster-map/issues/26)
sqlite-transform 0.3.1 2021-01-18T21:01:06Z - Better `--help` for `sqlite-transform lambda`. [#7](https://github.com/simonw/sqlite-transform/issues/7)
swarm-to-sqlite 0.3.3 2021-01-18T04:36:03Z - Fixed bug where tool could crash with an error about missing columns. #11
sqlite-utils 3.3 2021-01-18T04:29:48Z - The `table.m2m()` method now accepts an optional `alter=True` argument to specify that any missing columns should be added to the referenced table. See [Working with many-to-many relationships](https://sqlite-utils.datasette.io/en/stable/python-api.html#python-api-m2m). ([#222](https://github.com/simonw/sqlite-utils/issues/222))
datasette-query-history v0.2.3 2021-01-17T23:11:37Z Fixes broken image on PyPi
datasette-query-history v0.2.2 2021-01-17T17:26:30Z Fixes bug that prevented CSS from being included in the published package.
datasette-query-history v.0.2.1 2021-01-17T17:16:40Z Fixed issue with setup.py
datasette-query-history 0.2.0 2021-01-17T17:08:46Z Uses a monospaced fort for displaying query history.
datasette-query-history Initial release 2021-01-17T03:19:05Z  
markdown-to-sqlite 0.2 2021-01-14T20:21:19Z - Upgraded tests for latest dependencies - Switched CI to GitHub Actions
sqlite-utils 3.2.1 2021-01-12T23:23:25Z - Fixed a bug where `.add_missing_columns()` failed to take case insensitive column names into account. ([#221](https://github.com/simonw/sqlite-utils/issues/221))
datasette-export-notebook 0.2 2021-01-11T22:29:04Z - Observable export instructions are only shown if Datasette is run with the `--cors` option. #5 - Export notebook page links back to view the rows. #6 - CSV streaming export instructions are provided, if available. #7
datasette-export-notebook 0.1.1 2021-01-09T23:57:26Z Improved README with links to a live demo.
datasette-css-properties 0.2 2021-01-07T20:28:40Z - `.css` pages now send the `x-content-type-options: nosniff` header, to protect against browsers incorrectly rendering the CSS as HTML which could be an XSS security hole. #1
datasette-css-properties 0.1.1 2021-01-07T19:48:50Z - Improved README
datasette-export-notebook 0.1 2021-01-06T08:12:31Z First working version. #1
datasette-css-properties 0.1 2021-01-05T18:39:44Z Initial prototype.
sqlite-utils 3.2 2021-01-03T21:17:37Z This release introduces a new mechanism for speeding up `count(*)` queries using cached table counts, stored in a `_counts` table and updated by triggers. This mechanism is described in [Cached table counts using triggers](https://sqlite-utils.datasette.io/en/stable/python-api.html#python-api-cached-table-counts), and can be enabled using Python API methods or the new `enable-counts` CLI command. ([#212](https://github.com/simonw/sqlite-utils/issues/212)) - `table.enable_counts()` method for enabling these triggers on a specific table. - `db.enable_counts()` method for enabling triggers on every table in the database. ([#213](https://github.com/simonw/sqlite-utils/issues/213)) - New `sqlite-utils enable-counts my.db` command for enabling counts on all or specific tables, see [Enabling cached counts](https://sqlite-utils.datasette.io/en/stable/cli.html#cli-enable-counts). ([#214](https://github.com/simonw/sqlite-utils/issues/214)) - New `sqlite-utils triggers` command for listing the triggers defined for a database or specific tables, see [Listing triggers](https://sqlite-utils.datasette.io/en/stable/cli.html#cli-triggers). ([#218](https://github.com/simonw/sqlite-utils/issues/218)) - New `db.use_counts_table` property which, if `True`, causes `table.count` to read from the `_counts` table. ([#215](https://github.com/simonw/sqlite-utils/issues/215)) - `table.has_counts_triggers` property revealing if a table has been configured with the new `_counts` database triggers. - `db.reset_counts()` method and `sqlite-utils reset-counts` command for resetting the values in the `_counts` table. ([#219](https://github.com/simonw/sqlite-utils/issues/219)) - The previously undocumented `db.escape()` method has been renamed to `db.quote()` and is now covered by the documentation: [Quoting strings for use in SQL](https://sqlite-utils.datasette.io/en/stable/python-api.html#python-api-quote). ([#217](https://github.com/simonw/sqlite-utils/issues/217)) - New `table.triggers_dict` and `db.triggers_dict` introspection properties. ([#211](https://github.com/simonw/sqlite-utils/issues/211), [#216](https://github.com/simonw/sqlite-utils/issues/216)) - `sqlite-utils insert` now shows a more useful error message for invalid JSON. ([#206](https://github.com/simonw/sqlite-utils/issues/206))
sqlite-utils 3.1.1 2021-01-01T23:57:07Z - Fixed failing test caused by `optimize` sometimes creating larger database files. ([#209](https://github.com/simonw/sqlite-utils/issues/209)) - Documentation now lives on <https://sqlite-utils.datasette.io/> - README now includes `brew install sqlite-utils` installation method.
datasette-publish-vercel 0.9.1 2020-12-28T19:39:10Z - Fixed a bug with the `datasette publish now` alias for `datasette publish vercel`. #31