datasette

An open source multi-tool for exploring and publishing data

APACHE-2.0 License

Downloads
65.8K
Stars
9K
Committers
79

Bot releases are visible (Hide)

datasette - 0.43

Published by simonw over 4 years ago

The main focus of this release is a major upgrade to the register_output_renderer(datasette) plugin hook, which allows plugins to provide new output formats for Datasette such as datasette-atom and datasette-ics.

  • Redesign of register_output_renderer(datasette) to provide more context to the render callback and support an optional "can_render" callback that controls if a suggested link to the output format is provided. (#581, #770)
  • Visually distinguish float and integer columns - useful for figuring out why order-by-column might be returning unexpected results. (#729)
  • The Request object, which is passed to several plugin hooks, is now documented. (#706)
  • New metadata.json option for setting a custom default page size for specific tables and views, see Setting a custom page size. (#751)
  • Canned queries can now be configured with a default URL fragment hash, useful when working with plugins such as datasette-vega, see Setting a default fragment. (#706)
  • Fixed a bug in datasette publish when running on operating systems where the /tmp directory lives in a different volume, using a backport of the Python 3.8 shutil.copytree() function. (#744)
  • Every plugin hook is now covered by the unit tests, and a new unit test checks that each plugin hook has at least one corresponding test. (#771, #773)
datasette - 0.42

Published by simonw over 4 years ago

A small release which provides improved internal methods for use in plugins, along with documentation. See #685.

  • Added documentation for db.execute(), see await db.execute(sql, ...).
  • Renamed db.execute_against_connection_in_thread() to db.execute_fn() and made it a documented method, see await db.execute_fn(fn).
  • New results.first() and results.single_value() methods, plus documentation for the Results class - see Results.
datasette - 0.41

Published by simonw over 4 years ago

You can now create custom pages within your Datasette instance using a custom template file. For example, adding a template file called templates/pages/about.html will result in a new page being served at /about on your instance. See the custom pages documentation for full details, including how to return custom HTTP headers, redirects and status codes. (#648)

Configuration directory mode (#731) allows you to define a custom Datasette instance as a directory. So instead of running the following:

$ datasette one.db two.db \
  --metadata.json \
  --template-dir=templates/ \
  --plugins-dir=plugins \
  --static css:css

You can instead arrange your files in a single directory called my-project and run this:

$ datasette my-project/

Also in this release:

  • New NOT LIKE table filter: ?colname__notlike=expression. (#750)
  • Datasette now has a pattern portfolio at /-/patterns - e.g. https://latest.datasette.io/-/patterns. This is a page that shows every Datasette user interface component in one place, to aid core development and people building custom CSS themes. (#151)
  • SQLite PRAGMA functions such as pragma_table_info(tablename) are now allowed in Datasette SQL queries. (#761)
  • Datasette pages now consistently return a content-type of text/html; charset=utf-8". (#752)
  • Datasette now handles an ASGI raw_path value of None, which should allow compatibilty with the Mangum adapter for running ASGI apps on AWS Lambda. Thanks, Colin Dellow. (#719)
  • Installation documentation now covers how to Install using pipx. (#756)
  • Improved the documentation for Full-text search.
datasette - 0.40

Published by simonw over 4 years ago

  • Datasette Metadata can now be provided as a YAML file as an optional alternative to JSON. See Using YAML for metadata. (#713)
  • Removed support for datasette publish now, which used the the now-retired Zeit Now v1 hosting platform. A new plugin, datasette-publish-now, can be installed to publish data to Zeit (now Vercel) Now v2. (#710)
  • Fixed a bug where the extra_template_vars(request, view_name) plugin hook was not receiving the correct view_name. (#716)
  • Variables added to the template context by the extra_template_vars() plugin hook are now shown in the ?_context=1 debugging mode (see template_debug). (#693)
  • Fixed a bug where the “templates considered” HTML comment was no longer being displayed. (#689)
  • Fixed a datasette publish bug where --plugin-secret would over-ride plugin configuration in the provided metadata.json file. (#724)
  • Added a new CSS class for customizing the canned query page. (#727)
datasette - 0.39

Published by simonw over 4 years ago

  • New base_url configuration setting for serving up the correct links while running Datasette under a different URL prefix. (#394)
  • New metadata settings "sort" and "sort_desc" for setting the default sort order for a table. See Setting a default sort order. (#702)
  • Sort direction arrow now displays by default on the primary key. This means you only have to click once (not twice) to sort in reverse order. (#677)
  • New await Request(scope, receive).post_vars() method for accessing POST form variables. (#700)
  • Plugin hooks documentation now links to example uses of each plugin. (#709)
datasette - 0.38

Published by simonw over 4 years ago

  • The Docker build of Datasette now uses SQLite 3.31.1, upgraded from 3.26. (#695)
  • datasette publish cloudrun now accepts an optional --memory=2Gi flag for setting the Cloud Run allocated memory to a value other than the default (256Mi). (#694)
  • Fixed bug where templates that shipped with plugins were sometimes not being correctly loaded. (#697)
datasette - Datasette 0.37.1

Published by simonw over 4 years ago

datasette - Datasette 0.37

Published by simonw over 4 years ago

  • Plugins now have a supported mechanism for writing to a database, using the new .execute_write() and .execute_write_fn() methods. Documentation. (#682)
  • Immutable databases that have had their rows counted using the inspect command now use the calculated count more effectively - thanks, Kevin Keogh. (#666)
  • --reload no longer restarts the server if a database file is modified, unless that database was opened immutable mode with -i. (#494)
  • New ?_searchmode=raw option turns off escaping for FTS queries in ?_search= allowing full use of SQLite’s FTS5 query syntax. (#676)
datasette - Datasette 0.36

Published by simonw over 4 years ago

https://datasette.readthedocs.io/en/latest/changelog.html#v0-36

datasette - Datasette 0.35

Published by simonw over 4 years ago

  • Added five new plugins and one new conversion tool to the The Datasette Ecosystem.
  • The Datasette class has a new render_template() method which can be used by plugins to render templates using Datasette’s pre-configured Jinja templating library.
  • You can now execute SQL queries that start with a -- comment - thanks, Jay Graves (#653)

https://datasette.readthedocs.io/en/latest/changelog.html#v0-35

datasette - Datasette 0.34

Published by simonw over 4 years ago

  • _search= queries are now correctly escaped using a new escape_fts() custom SQL function. This means you can now run searches for strings like park. without seeing errors. (#651)
  • Google Cloud Run is no longer in beta, so datasette publish cloudrun has been updated to work even if the user has not installed the gcloud beta components package. Thanks, Katie McLaughlin (#660)
  • datasette package now accepts a --port option for specifying which port the resulting Docker container should listen on. (#661)

https://datasette.readthedocs.io/en/stable/changelog.html#v0-34

datasette - Datasette 0.33

Published by simonw almost 5 years ago

  • rowid is now included in dropdown menus for filtering tables (#636)
  • Columns are now only suggested for faceting if they have at least one value with more than one record (#638)
  • Queries with no results now display “0 results” (#637)
  • Improved documentation for the --static option (#641)
  • asyncio task information is now included on the /-/threads debug page
  • Bumped Uvicorn dependency 0.11
  • You can now use --port 0 to listen on an available port
  • New template_debug setting for debugging templates, e.g. https://latest.datasette.io/fixtures/roadside_attractions?_context=1 (#654)

https://datasette.readthedocs.io/en/latest/changelog.html#v0-33

datasette - Datasette 0.32

Published by simonw almost 5 years ago

Datasette now renders templates using Jinja async mode. This makes it easy for plugins to provide custom template functions that perform asynchronous actions, for example the new datasette-template-sql plugin which allows custom templates to directly execute SQL queries and render their results. (#628)

https://datasette.readthedocs.io/en/latest/changelog.html#v0-32

datasette - 0.31.2

Published by simonw almost 5 years ago

  • Fixed a bug where datasette publish heroku applications failed to start (#633)
  • Fix for datasette publish with just --source_url - thanks, Stanley Zheng (#572)
  • Deployments to Heroku now use Python 3.8.0 (#632)

https://datasette.readthedocs.io/en/latest/changelog.html#v0-31-2

datasette - 0.31.1

Published by simonw almost 5 years ago

  • Deployments created using datasette publish now use python:3.8 base Docker image (#629)

https://datasette.readthedocs.io/en/latest/changelog.html#v0-31-1

datasette - Datasette 0.31

Published by simonw almost 5 years ago

This version adds compatibility with Python 3.8 and breaks compatibility with Python 3.5.

Full release notes: https://datasette.readthedocs.io/en/stable/changelog.html#v0-31

datasette - 0.30.2

Published by simonw almost 5 years ago

datasette - 0.30.1

Published by simonw almost 5 years ago

datasette - 0.30

Published by simonw almost 5 years ago

datasette - 0.29.3

Published by simonw about 5 years ago

Package Rankings
Top 1.31% on Pypi.org
Top 16.11% on Conda-forge.org
Badges
Extracted from project README
PyPI Changelog Python 3.x Tests Documentation Status License docker: datasette discord