Examples of things you can do with plugins

This commit is contained in:
Simon Willison 2019-11-27 11:19:11 -08:00
commit a562f29655
3 changed files with 23 additions and 1 deletions

View file

@ -53,6 +53,8 @@ For example, to create a SQLite database of the `City of Dallas Payment Register
$ socrata2sql insert www.dallasopendata.com 64pp-jeba $ socrata2sql insert www.dallasopendata.com 64pp-jeba
.. _ecosystem_plugins:
Datasette Plugins Datasette Plugins
================= =================

View file

@ -5,7 +5,7 @@ Datasette
Datasette is a tool for exploring and publishing data. It helps people take data of any shape or size and publish that as an interactive, explorable website and accompanying API. Datasette is a tool for exploring and publishing data. It helps people take data of any shape or size and publish that as an interactive, explorable website and accompanying API.
Datasette is aimed at data journalists, museum curators, archivists, local governments and anyone else who has data that they wish to share with the world. It is part of a :ref:`wider ecosystem of tools <ecosystem>` dedicated to make working with structured data as productive as possible. Datasette is aimed at data journalists, museum curators, archivists, local governments and anyone else who has data that they wish to share with the world. It is part of a :ref:`wider ecosystem of tools and plugins <ecosystem>` dedicated to making working with structured data as productive as possible.
`Explore a demo <https://fivethirtyeight.datasettes.com/fivethirtyeight>`__, watch `a presentation about the project <https://static.simonwillison.net/static/2018/pybay-datasette/>`__ or :ref:`glitch`. `Explore a demo <https://fivethirtyeight.datasettes.com/fivethirtyeight>`__, watch `a presentation about the project <https://static.simonwillison.net/static/2018/pybay-datasette/>`__ or :ref:`glitch`.

View file

@ -7,6 +7,26 @@ Datasette's plugin system allows additional features to be implemented as Python
code (or front-end JavaScript) which can be wrapped up in a separate Python code (or front-end JavaScript) which can be wrapped up in a separate Python
package. The underlying mechanism uses `pluggy <https://pluggy.readthedocs.io/>`_. package. The underlying mechanism uses `pluggy <https://pluggy.readthedocs.io/>`_.
See :ref:`ecosystem_plugins` for a list of existing plugins, or take a look at the
`datasette-plugin <https://github.com/topics/datasette-plugin>`__ topic on GitHub.
Things you can do with plugins include:
* Add visualizations to Datasette, for example
`datasette-cluster-map <https://github.com/simonw/datasette-cluster-map>`__ and
`datasette-vega <https://github.com/simonw/datasette-vega>`__.
* Make new custom SQL functions available for use within Datasette, for example
`datasette-haversine <https://github.com/simonw/datasette-haversine>`__ and
`datasette-jellyfish <https://github.com/simonw/datasette-jellyfish>`__.
* Add template functions that can be called within your Jinja custom templates,
for example `datasette-render-markdown <https://github.com/simonw/datasette-render-markdown#markdown-in-templates>`__.
* Customize how database values are rendered in the Datasette interface, for example
`datasette-render-binary <https://github.com/simonw/datasette-render-binary>`__ and
`datasette-pretty-json <https://github.com/simonw/datasette-pretty-json>`__.
* Wrap the entire Datasette application in custom ASGI middleware to add new pages
or implement authentication, for example
`datasette-auth-github <https://github.com/simonw/datasette-auth-github>`__.
Using plugins Using plugins
------------- -------------