# packages

package: datasette-jq
info:
{"info": {"author": "Simon Willison", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# datasette-jq\n\n[![PyPI](https://img.shields.io/pypi/v/datasette-jq.svg)](https://pypi.org/project/datasette-jq/)\n[![CircleCI](https://circleci.com/gh/simonw/datasette-jq.svg?style=svg)](https://circleci.com/gh/simonw/datasette-jq)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/datasette-jq/blob/master/LICENSE)\n\nDatasette plugin that adds custom SQL functions for executing [jq](https://stedolan.github.io/jq/) expressions against JSON values.\n\nInstall this plugin in the same environment as Datasette to enable the `jq()` SQL function.\n\nUsage:\n\n    select jq(\n        column_with_json,\n        \"{top_3: .classifiers[:3], v: .version}\"\n    )\n\nSee [the jq manual](https://stedolan.github.io/jq/manual/#Basicfilters) for full details of supported expression syntax.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": {"last_day": -1, "last_month": -1, "last_week": -1}, "home_page": "https://github.com/simonw/datasette-jq", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "datasette-jq", "package_url": "https://pypi.org/project/datasette-jq/", "platform": "", "project_url": "https://pypi.org/project/datasette-jq/", "project_urls": {"Homepage": "https://github.com/simonw/datasette-jq"}, "release_url": "https://pypi.org/project/datasette-jq/0.1/", "requires_dist": ["datasette", "pyjq", "pytest ; extra == 'test'"], "requires_python": "", "summary": "Datasette plugin that adds custom SQL functions for executing jq expressions against JSON values", "version": "0.1"}, "last_serial": 5335109, "releases": {"0.1": [{"comment_text": "", "digests": {"md5": "4edb289bb6e3e4175893b34a4bbada86", "sha256": "cecdcde376e7679f96506de7f9f8d0f301bff7fab76982be348e7b27e772c8e8"}, "downloads": -1, "filename": "datasette_jq-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4edb289bb6e3e4175893b34a4bbada86", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6271, "upload_time": "2019-05-30T01:16:17", "url": "https://files.pythonhosted.org/packages/e9/f9/1efab87fac26fe42a9af487b51db7ffc1d4079dbab1a7b6434e1c8a7e114/datasette_jq-0.1-py3-none-any.whl"}]}, "urls": [{"comment_text": "", "digests": {"md5": "4edb289bb6e3e4175893b34a4bbada86", "sha256": "cecdcde376e7679f96506de7f9f8d0f301bff7fab76982be348e7b27e772c8e8"}, "downloads": -1, "filename": "datasette_jq-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4edb289bb6e3e4175893b34a4bbada86", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6271, "upload_time": "2019-05-30T01:16:17", "url": "https://files.pythonhosted.org/packages/e9/f9/1efab87fac26fe42a9af487b51db7ffc1d4079dbab1a7b6434e1c8a7e114/datasette_jq-0.1-py3-none-any.whl"}]}


package: datasette-cluster-map
info:
{"info": {"author": "Simon Willison", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# datasette-cluster-map\n\n[![PyPI](https://img.shields.io/pypi/v/datasette-cluster-map.svg)](https://pypi.python.org/pypi/datasette-cluster-map)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/datasette-cluster-map/blob/master/LICENSE)\n\n\nA [Datasette plugin](http://datasette.readthedocs.io/en/latest/plugins.html) that detects tables with `latitude` and `longitude` columns and then plots them on a map using [Leaflet.markercluster](https://github.com/Leaflet/Leaflet.markercluster).\n\nMore about this project: [Datasette plugins, and building a clustered map visualization](https://simonwillison.net/2018/Apr/20/datasette-plugins/)\n\n## Demo\n\n[datasette-cluster-map-demo.datasettes.com](https://datasette-cluster-map-demo.datasettes.com/) hosts a demo of this plugin running against several different tables.\n\n![Cluster map demo](https://static.simonwillison.net/static/2018/datasette-cluster-map.png)\n\n## Installation\n\nRun `pip install datasette-cluster-map` to add this plugin to your Datasette virtual environment. Datasette will automatically load the plugin if it is installed in this way.\n\nIf you are deploying using the `datasette publish` command you can use the `--install` option:\n\n    datasette publish now mydb.db --install=datasette-cluster-map\n\nIf any of your tables have a `latitude` and `longitude` column, a map will be automatically displayed.\n\nIf your columns are called something else you can configure the column names using [plugin configuration](https://datasette.readthedocs.io/en/stable/plugins.html#plugin-configuration) in a `metadata.json` file. For example, if all of your columns are called `xlat` and `xlng` you can create a `metadata.json` file like this:\n\n    {\n        \"title\": \"Regular metadata keys can go here too\",\n        \"plugins\": {\n            \"datasette-cluster-map\": {\n                \"latitude_column\": \"xlat\",\n                \"longitude_column\": \"xlng\"\n            }\n        }\n    }\n\nThen run Datasette like this:\n\n    datasette mydata.db -m metadata.json\n\nThis will configure the required column names for every database loaded by that Datasette instance.\n\nIf you want to customize the column names for just one table in one database, you can do something like this:\n\n    {\n        \"databases\": {\n            \"polar-bears\": {\n                \"tables\": {\n                    \"USGS_WC_eartag_deployments_2009-2011\": {\n                        \"plugins\": {\n                            \"datasette-cluster-map\": {\n                                \"latitude_column\": \"Capture Latitude\",\n                                \"longitude_column\": \"Capture Longitude\"\n                            }\n                        }\n                    }\n                }\n            }\n        }\n    }\n\nYou can also use a custom SQL query to rename those columns to `latitude` and `longitude`, [for example](https://datasette-cluster-map-demo.datasettes.com/polar-bears-455fe3a?sql=select+*%2C+%22Capture+Latitude%22+as+latitude%2C+%22Capture+Longitude%22+as+longitude+from+[USGS_WC_eartag_deployments_2009-2011]):\n\n    select *,\n      \"Capture Latitude\" as latitude,\n      \"Capture Longitude\" as longitude\n    from [USGS_WC_eartag_deployments_2009-2011]\n\n## How I deployed the demo\n\n    datasette publish now \\\n        --install=datasette-cluster-map \\\n        --name=\"datasette-cluster-map-demo\" \\\n        --alias=\"datasette-cluster-map-demo.datasettes.com\" \\\n        polar-bears.db sf-trees.db\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": {"last_day": -1, "last_month": -1, "last_week": -1}, "home_page": "https://github.com/simonw/datasette-cluster-map", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "datasette-cluster-map", "package_url": "https://pypi.org/project/datasette-cluster-map/", "platform": "", "project_url": "https://pypi.org/project/datasette-cluster-map/", "project_urls": {"Homepage": "https://github.com/simonw/datasette-cluster-map"}, "release_url": "https://pypi.org/project/datasette-cluster-map/0.6/", "requires_dist": ["datasette"], "requires_python": "", "summary": "Datasette plugin that shows a cluster map for any data with latitude/longitude columns", "version": "0.6"}, "last_serial": 5248440, "releases": {"0.1": [{"comment_text": "", "digests": {"md5": "8304978b5c631458237453ee01d5c052", "sha256": "ceb3c89c0dbdd141c1551780765274e0e691bc2a53ef9d0ffbadd47d9a5c39ee"}, "downloads": -1, "filename": "datasette-cluster-map-0.1.tar.gz", "has_sig": false, "md5_digest": "8304978b5c631458237453ee01d5c052", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2502, "upload_time": "2018-04-19T15:34:57", "url": "https://files.pythonhosted.org/packages/a4/9b/22e06863695e1f903324f670c6521e41e9ec6ee0e32d2fbf08fdff070d78/datasette-cluster-map-0.1.tar.gz"}], "0.2": [{"comment_text": "", "digests": {"md5": "fecb52f06cae95163ad4dee0667f9f91", "sha256": "7d1611176bee2860b318c7dcf24fdcb6bf3eb76ae3df89feed7d37b98ef8b8f5"}, "downloads": -1, "filename": "datasette-cluster-map-0.2.tar.gz", "has_sig": false, "md5_digest": "fecb52f06cae95163ad4dee0667f9f91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3869, "upload_time": "2018-04-20T13:05:06", "url": "https://files.pythonhosted.org/packages/30/ec/6c4ca07edcb64db6f309500f10dcb3bc8b6d632c314e71ed2e355cd54b2a/datasette-cluster-map-0.2.tar.gz"}], "0.3": [{"comment_text": "", "digests": {"md5": "42f316ab4e300e1ab649c3572c130f3a", "sha256": "895e623374c3c6f45791640a464229ada4e14033ab0dc0beadd64f5a5f9be9f0"}, "downloads": -1, "filename": "datasette-cluster-map-0.3.tar.gz", "has_sig": false, "md5_digest": "42f316ab4e300e1ab649c3572c130f3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4030, "upload_time": "2018-04-20T13:35:24", "url": "https://files.pythonhosted.org/packages/f9/f7/7549196bcedd6b92b4201c07c263202bbaea4f8a944a41f722ab781b50bd/datasette-cluster-map-0.3.tar.gz"}], "0.4": [{"comment_text": "", "digests": {"md5": "ba9fceeef2bb71f32a96af80762793cd", "sha256": "9a37d5abe6ccabee9a9ba283065a1e674b3921d12fbbc94297c05e5cb8eaa8fc"}, "downloads": -1, "filename": "datasette-cluster-map-0.4.tar.gz", "has_sig": false, "md5_digest": "ba9fceeef2bb71f32a96af80762793cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4166, "upload_time": "2018-04-20T13:49:24", "url": "https://files.pythonhosted.org/packages/b3/98/a88b5d89ed5a20707f6b64f71fb47d6005b3824a61fb596ddd41de8385bd/datasette-cluster-map-0.4.tar.gz"}], "0.5": [{"comment_text": "", "digests": {"md5": "40bb82a98106b0a65c0a0ca4b4abfefd", "sha256": "ef7d06094a39c5a8997f5dd822923c89cdcf806dd752c036ac5ebdee14c61cfd"}, "downloads": -1, "filename": "datasette_cluster_map-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "40bb82a98106b0a65c0a0ca4b4abfefd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9860, "upload_time": "2019-01-18T06:40:21", "url": "https://files.pythonhosted.org/packages/3e/83/f4800037f89e264ccca40ed78647b7dfa178171f5401da74e92832e4d266/datasette_cluster_map-0.5-py3-none-any.whl"}], "0.6": [{"comment_text": "", "digests": {"md5": "d24f9b2023f5fbfcd0748f59b372e1b6", "sha256": "e641a53714600afabc42d887d6aa835a259a08a8748a014674c8e2434290bf11"}, "downloads": -1, "filename": "datasette_cluster_map-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d24f9b2023f5fbfcd0748f59b372e1b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9798, "upload_time": "2019-05-09T17:07:23", "url": "https://files.pythonhosted.org/packages/5d/7e/af8488642169081bc21e53ff151ea075dd41ea29545eb7e3a99e023637a2/datasette_cluster_map-0.6-py3-none-any.whl"}]}, "urls": [{"comment_text": "", "digests": {"md5": "d24f9b2023f5fbfcd0748f59b372e1b6", "sha256": "e641a53714600afabc42d887d6aa835a259a08a8748a014674c8e2434290bf11"}, "downloads": -1, "filename": "datasette_cluster_map-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d24f9b2023f5fbfcd0748f59b372e1b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9798, "upload_time": "2019-05-09T17:07:23", "url": "https://files.pythonhosted.org/packages/5d/7e/af8488642169081bc21e53ff151ea075dd41ea29545eb7e3a99e023637a2/datasette_cluster_map-0.6-py3-none-any.whl"}]}


package: datasette-vega
info:
{"info": {"author": "Simon Willison", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# datasette-vega\n\n[![PyPI](https://img.shields.io/pypi/v/datasette-vega.svg)](https://pypi.org/project/datasette-vega/)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/datasette-vega/blob/master/LICENSE)\n\nA [Datasette](https://github.com/simonw/datasette) plugin that provides tools\nfor generating charts using [Vega](https://vega.github.io/).\n\n![Datasette Vega interface](https://raw.githubusercontent.com/simonw/datasette-vega/master/datasette-vega.png)\n\nTry out the latest master build as a live demo at https://datasette-vega-latest.datasette.io/ or try the latest release installed as a plugin at https://fivethirtyeight.datasettes.com/\n\nTo add this to your Datasette installation, install the plugin like so:\n\n    pip install datasette-vega\n\nThe plugin will then add itself to every Datasette table view.\n\nIf you are publishing data using the `datasette publish` command, you can\ninclude this plugin like so:\n\n    datasette publish now mydatabase.db --install=datasette-vega\n\nIf you don't want to install any software at all, you can publish your CSV files with Datasette and activate this plugin using the web application at https://publish.datasettes.com/\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": {"last_day": -1, "last_month": -1, "last_week": -1}, "home_page": "https://github.com/simonw/datasette-vega", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "datasette-vega", "package_url": "https://pypi.org/project/datasette-vega/", "platform": "", "project_url": "https://pypi.org/project/datasette-vega/", "project_urls": {"Homepage": "https://github.com/simonw/datasette-vega"}, "release_url": "https://pypi.org/project/datasette-vega/0.6.2/", "requires_dist": ["datasette"], "requires_python": "", "summary": "A Datasette plugin that provides tools for generating charts using Vega", "version": "0.6.2"}, "last_serial": 4112642, "releases": {"0.1": [{"comment_text": "", "digests": {"md5": "cd64e054db793e30b1a956643ccd75c2", "sha256": "06f112a57750f109ca45dd95b83c9246f7e38453656080eb9913b712b17857ed"}, "downloads": -1, "filename": "datasette_vega-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cd64e054db793e30b1a956643ccd75c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 300581, "upload_time": "2018-06-27T05:41:36", "url": "https://files.pythonhosted.org/packages/07/42/9dbbc9500e66d136c5881735aa3142eeb9c0c7d655200c5203e61bd366be/datasette_vega-0.1-py3-none-any.whl"}], "0.2": [{"comment_text": "", "digests": {"md5": "da15cfce9bfd8cd09933c449613baac2", "sha256": "c9c301fec7f5b87ac75bbe09dcb6f2081c5213cc5a742973394a568d01fc101f"}, "downloads": -1, "filename": "datasette_vega-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "da15cfce9bfd8cd09933c449613baac2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 300681, "upload_time": "2018-06-28T14:54:45", "url": "https://files.pythonhosted.org/packages/51/bb/7aca1ad1fd257f9c3531628dc61b0cc8ad5d8c007daa24e88f4e650dabc6/datasette_vega-0.2-py3-none-any.whl"}], "0.3": [{"comment_text": "", "digests": {"md5": "e0387b07beb9ec43afac03c2dd77bf23", "sha256": "6746ae14912b9ed8409d401927cd316427891ca2c51d09dec2b4d5d05d3b4164"}, "downloads": -1, "filename": "datasette_vega-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e0387b07beb9ec43afac03c2dd77bf23", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 300742, "upload_time": "2018-06-29T13:14:25", "url": "https://files.pythonhosted.org/packages/2a/93/fc6865f5f2b8dde937a07095f749c313e38646aa8dae005263a3e6e95f2d/datasette_vega-0.3-py3-none-any.whl"}], "0.4": [{"comment_text": "", "digests": {"md5": "a8ca25d8909fd077a148f2f267c5c450", "sha256": "e8fef19a539a5b740b4bcc052bdf3ede1d6391b899723049fd4c350cc1ea6a6a"}, "downloads": -1, "filename": "datasette_vega-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a8ca25d8909fd077a148f2f267c5c450", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 299793, "upload_time": "2018-06-29T16:59:01", "url": "https://files.pythonhosted.org/packages/b7/c2/79b40dec5136810e0da9f6d7888f694129ac3ecb8a5edd1f828c5f2c90ac/datasette_vega-0.4-py3-none-any.whl"}], "0.4.1": [{"comment_text": "", "digests": {"md5": "c52c6060c7eba41ccd4909d4640678d9", "sha256": "39000c4f03f07326064071c91e1c2148863c905623fee25bd115f26a3878a0b7"}, "downloads": -1, "filename": "datasette_vega-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c52c6060c7eba41ccd4909d4640678d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 299829, "upload_time": "2018-06-29T17:38:31", "url": "https://files.pythonhosted.org/packages/68/f3/45d408ba6c96592e60cc0a34d70eb7881fd21c5e92a27c678104ebaf541b/datasette_vega-0.4.1-py3-none-any.whl"}], "0.5": [{"comment_text": "", "digests": {"md5": "efcba9a311470c2bc42f568fc280f6f6", "sha256": "a60bb5f5ccb437e4047c2414a025c30aa1bec67eca309516d9d6b5827a6f4c45"}, "downloads": -1, "filename": "datasette_vega-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "efcba9a311470c2bc42f568fc280f6f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 301267, "upload_time": "2018-07-06T03:25:42", "url": "https://files.pythonhosted.org/packages/49/1a/64afd3cda2fef7013cef18a2ab35cb048bf0de51b3a430163d7f979013e4/datasette_vega-0.5-py3-none-any.whl"}], "0.5.1": [{"comment_text": "", "digests": {"md5": "a114b2b8ad08747e7e816188b03ccc86", "sha256": "56624863eb4cedced735d186b49f4a20978b1ee9d4c1a5ba50b8ca6fc5eb74fd"}, "downloads": -1, "filename": "datasette_vega-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a114b2b8ad08747e7e816188b03ccc86", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 300162, "upload_time": "2018-07-06T18:18:22", "url": "https://files.pythonhosted.org/packages/08/d4/6140bf14e3021793b4815be7c11dfb72800be47e74073fcfa329d80b63f8/datasette_vega-0.5.1-py3-none-any.whl"}], "0.6": [{"comment_text": "", "digests": {"md5": "04a7290420252a141d258db671c4d6d5", "sha256": "22b90439d06ebd35953989a2d1c4c0c288c0b9bd95d3b4ca5dc3bbbb87e2f4bb"}, "downloads": -1, "filename": "datasette_vega-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "04a7290420252a141d258db671c4d6d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2700647, "upload_time": "2018-07-07T00:54:18", "url": "https://files.pythonhosted.org/packages/a0/e3/4bfd45e1a60ca9f4c52883cfb165a6e2c8f5d7cbed59aa907a9d609b8aa0/datasette_vega-0.6-py3-none-any.whl"}], "0.6.1": [{"comment_text": "", "digests": {"md5": "520301b9c0dc55a8b3594c88558c51e9", "sha256": "1cb775e5a6b481e36ab71a10b6655be563521333b00b1c9c41238d796befc0f9"}, "downloads": -1, "filename": "datasette_vega-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "520301b9c0dc55a8b3594c88558c51e9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1834055, "upload_time": "2018-07-10T03:29:22", "url": "https://files.pythonhosted.org/packages/ce/42/9411e1a5560279b4299a60811a8fd5d35e62b6e37d7c6670961a22c2c63d/datasette_vega-0.6.1-py3-none-any.whl"}], "0.6.2": [{"comment_text": "", "digests": {"md5": "3dd35102cc52576f25615e4c94d5bf1b", "sha256": "6aca6a40f0b244d6d05548bfff94a99f0ef96bd5b89ade241f0d389f7a01a063"}, "downloads": -1, "filename": "datasette_vega-0.6.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3dd35102cc52576f25615e4c94d5bf1b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1837953, "upload_time": "2018-07-29T00:17:20", "url": "https://files.pythonhosted.org/packages/d0/9e/7496dfa4f7e2ce93a036fe9920dcbd71c7297783d2337fe85f1fef9f6786/datasette_vega-0.6.2-py3-none-any.whl"}]}, "urls": [{"comment_text": "", "digests": {"md5": "3dd35102cc52576f25615e4c94d5bf1b", "sha256": "6aca6a40f0b244d6d05548bfff94a99f0ef96bd5b89ade241f0d389f7a01a063"}, "downloads": -1, "filename": "datasette_vega-0.6.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3dd35102cc52576f25615e4c94d5bf1b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1837953, "upload_time": "2018-07-29T00:17:20", "url": "https://files.pythonhosted.org/packages/d0/9e/7496dfa4f7e2ce93a036fe9920dcbd71c7297783d2337fe85f1fef9f6786/datasette_vega-0.6.2-py3-none-any.whl"}]}


package: datasette-jellyfish
info:
{"info": {"author": "Simon Willison", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# datasette-jellyfish\n\n[![PyPI](https://img.shields.io/pypi/v/datasette-jellyfish.svg)](https://pypi.org/project/datasette-jellyfish/)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/datasette-jellyfish/blob/master/LICENSE)\n\nDatasette plugin that adds custom SQL functions for fuzzy string matching, built on top of the [Jellyfish](https://github.com/jamesturk/jellyfish) Python library by James Turk and Michael Stephens.\n\nInteractive demos:\n\n* [soundex, metaphone, nysiis, match_rating_codex comparison](https://datasette-jellyfish.now.sh/fixtures?sql=SELECT%0D%0A++++soundex%28%3As%29%2C+%0D%0A++++metaphone%28%3As%29%2C+%0D%0A++++nysiis%28%3As%29%2C+%0D%0A++++match_rating_codex%28%3As%29&s=demo).\n* [distance functions comparison](https://datasette-jellyfish.now.sh/fixtures?sql=SELECT%0D%0A++++levenshtein_distance%28%3As1%2C+%3As2%29%2C%0D%0A++++damerau_levenshtein_distance%28%3As1%2C+%3As2%29%2C%0D%0A++++hamming_distance%28%3As1%2C+%3As2%29%2C%0D%0A++++jaro_distance%28%3As1%2C+%3As2%29%2C%0D%0A++++jaro_winkler%28%3As1%2C+%3As2%29%2C%0D%0A++++match_rating_comparison%28%3As1%2C+%3As2%29%3B&s1=barrack+obama&s2=barrack+h+obama)\n\nExamples:\n\n    SELECT soundex(\"hello\");\n        -- Outputs H400\n    SELECT metaphone(\"hello\");\n        -- Outputs HL\n    SELECT nysiis(\"hello\");\n        -- Outputs HAL\n    SELECT match_rating_codex(\"hello\");\n        -- Outputs HLL\n    SELECT porter_stem(\"running\");\n        -- Outputs run\n    SELECT levenshtein_distance(\"hello\", \"hello world\");\n        -- Outputs 6\n    SELECT damerau_levenshtein_distance(\"hello\", \"hello world\");\n        -- Outputs 6\n    SELECT hamming_distance(\"hello\", \"hello world\");\n        -- Outputs 6\n    SELECT jaro_distance(\"hello\", \"hello world\");\n        -- Outputs 0.8181818181818182\n    SELECT jaro_winkler(\"hello\", \"hello world\");\n        -- Outputs 0.890909090909091\n    SELECT match_rating_comparison(\"hello\", \"helloo\");\n        -- Outputs 1\n\nSee [the Jellyfish documentation](https://jellyfish.readthedocs.io/en/latest/) for an explanation of each of these functions.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": {"last_day": -1, "last_month": -1, "last_week": -1}, "home_page": "https://github.com/simonw/datasette-jellyfish", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "datasette-jellyfish", "package_url": "https://pypi.org/project/datasette-jellyfish/", "platform": "", "project_url": "https://pypi.org/project/datasette-jellyfish/", "project_urls": {"Homepage": "https://github.com/simonw/datasette-jellyfish"}, "release_url": "https://pypi.org/project/datasette-jellyfish/0.3/", "requires_dist": ["datasette", "jellyfish"], "requires_python": "", "summary": "Datasette plugin adding SQL functions for fuzzy text matching powered by Jellyfish", "version": "0.3"}, "last_serial": 4919322, "releases": {"0.2": [{"comment_text": "", "digests": {"md5": "211edd73acde93ca42dbc4144424e5f1", "sha256": "1a01415cadf20f2d7964c7bceec83a7cf11c5c98c6ace90c8e6bb9264b21a0b9"}, "downloads": -1, "filename": "datasette_jellyfish-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "211edd73acde93ca42dbc4144424e5f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6591, "upload_time": "2019-03-09T16:14:54", "url": "https://files.pythonhosted.org/packages/d7/40/61c6929c4eee2362915df1d58bb5b1393feb29c9e236f97dfc0bc51cbe39/datasette_jellyfish-0.2-py3-none-any.whl"}], "0.3": [{"comment_text": "", "digests": {"md5": "f434e295511aab4c859d5896acd56375", "sha256": "c9b8a769b71c8dc6505187ff54fe3159ec513553f3b8e40f838032c78540c0a8"}, "downloads": -1, "filename": "datasette_jellyfish-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f434e295511aab4c859d5896acd56375", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6773, "upload_time": "2019-03-09T18:25:59", "url": "https://files.pythonhosted.org/packages/ef/6e/3c63e43ca3352bcc861774e3c8991a5978f4afc4f3a1405de6cde5d2bf50/datasette_jellyfish-0.3-py3-none-any.whl"}]}, "urls": [{"comment_text": "", "digests": {"md5": "f434e295511aab4c859d5896acd56375", "sha256": "c9b8a769b71c8dc6505187ff54fe3159ec513553f3b8e40f838032c78540c0a8"}, "downloads": -1, "filename": "datasette_jellyfish-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f434e295511aab4c859d5896acd56375", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6773, "upload_time": "2019-03-09T18:25:59", "url": "https://files.pythonhosted.org/packages/ef/6e/3c63e43ca3352bcc861774e3c8991a5978f4afc4f3a1405de6cde5d2bf50/datasette_jellyfish-0.3-py3-none-any.whl"}]}


package: datasette-pretty-json
info:
{"info": {"author": "Simon Willison", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# datasette-pretty-json\n\n[![PyPI](https://img.shields.io/pypi/v/datasette-pretty-json.svg)](https://pypi.org/project/datasette-pretty-json/)\n[![Travis CI](https://travis-ci.com/simonw/datasette-pretty-json.svg?branch=master)](https://travis-ci.com/simonw/datasette-pretty-json)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/datasette-pretty-json/blob/master/LICENSE)\n\n[Datasette](https://github.com/simonw/datasette) plugin that pretty-prints any column values that are valid JSON objects or arrays.\n\nYou may also be interested in [datasette-json-html](https://github.com/simonw/datasette-json-html).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": {"last_day": -1, "last_month": -1, "last_week": -1}, "home_page": "https://github.com/simonw/datasette-pretty-json", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "datasette-pretty-json", "package_url": "https://pypi.org/project/datasette-pretty-json/", "platform": "", "project_url": "https://pypi.org/project/datasette-pretty-json/", "project_urls": {"Homepage": "https://github.com/simonw/datasette-pretty-json"}, "release_url": "https://pypi.org/project/datasette-pretty-json/0.2/", "requires_dist": ["datasette"], "requires_python": "", "summary": "Datasette plugin that pretty-prints any column values that are valid JSON objects or arrays", "version": "0.2"}, "last_serial": 4744592, "releases": {"0.0.1": [{"comment_text": "", "digests": {"md5": "c4913e6295224ab5e5c6ec76a17cbbb6", "sha256": "f6bcd48c05866e23e1449e1472eb999f051e4701d05aa3b859366af02d4f921e"}, "downloads": -1, "filename": "datasette_pretty_json-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c4913e6295224ab5e5c6ec76a17cbbb6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6346, "upload_time": "2019-01-26T19:39:39", "url": "https://files.pythonhosted.org/packages/0d/68/9e1a60e7c139690ddd2dddd30fb2273248ca7d3d11c6ba186230d47069bc/datasette_pretty_json-0.0.1-py3-none-any.whl"}], "0.2": [{"comment_text": "", "digests": {"md5": "c380754394f79088da0a55a64ac60e50", "sha256": "463be6cabefa6bbcfb01b7e44e4b1257794d47e3946d03e7f4cbf8c0c87618db"}, "downloads": -1, "filename": "datasette_pretty_json-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c380754394f79088da0a55a64ac60e50", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6331, "upload_time": "2019-01-26T21:12:28", "url": "https://files.pythonhosted.org/packages/7b/22/b7f1928ef89ad982baed24c6b3959bc32d0543e51f43bd48b583120fb589/datasette_pretty_json-0.2-py3-none-any.whl"}]}, "urls": [{"comment_text": "", "digests": {"md5": "c380754394f79088da0a55a64ac60e50", "sha256": "463be6cabefa6bbcfb01b7e44e4b1257794d47e3946d03e7f4cbf8c0c87618db"}, "downloads": -1, "filename": "datasette_pretty_json-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c380754394f79088da0a55a64ac60e50", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6331, "upload_time": "2019-01-26T21:12:28", "url": "https://files.pythonhosted.org/packages/7b/22/b7f1928ef89ad982baed24c6b3959bc32d0543e51f43bd48b583120fb589/datasette_pretty_json-0.2-py3-none-any.whl"}]}


package: datasette-json-html
info:
{"info": {"author": "Simon Willison", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# datasette-json-html\n\n[![PyPI](https://img.shields.io/pypi/v/datasette-json-html.svg)](https://pypi.org/project/datasette-json-html/)\n[![Travis CI](https://travis-ci.com/simonw/datasette-json-html.svg?branch=master)](https://travis-ci.com/simonw/datasette-json-html)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/datasette-json-html/blob/master/LICENSE)\n\nDatasette plugin for rendering HTML based on JSON values, using the [render_cell plugin hook](https://datasette.readthedocs.io/en/latest/plugins.html#plugin-hook-render-cell).\n\nThis plugin looks for cell values that match a very specific JSON format and converts them into HTML when they are rendered by the Datasette interface.\n\nSee [russian-ira-facebook-ads-datasette](https://github.com/simonw/russian-ira-facebook-ads-datasette) for an example of this plugin in action.\n\n## Links\n\n    {\n        \"href\": \"https://simonwillison.net/\",\n        \"label\": \"Simon Willison\"\n    }\n\nWill be rendered as an `<a href=\"\">` link:\n\n    <a href=\"https://simonwillison.net/\">Simon Willison</a>\n\n## List of links\n\n    [\n        {\n            \"href\": \"https://simonwillison.net/\",\n            \"label\": \"Simon Willison\"\n        },\n        {\n            \"href\": \"https://github.com/simonw/datasette\",\n            \"label\": \"Datasette\"\n        }\n    ]\n\nWill be rendered as a comma-separated list of `<a href=\"\">` links:\n\n    <a href=\"https://simonwillison.net/\">Simon Willison</a>,\n    <a href=\"https://github.com/simonw/datasette\">Datasette</a>\n\nThe `href` property must begin with `https://` or `http://` or `/`, to avoid potential XSS injection attacks (for example URLs that begin with `javascript:`).\n\n## Images\n\nThe image tag is more complex. The most basic version looks like this:\n\n    {\n        \"img_src\": \"https://placekitten.com/200/300\"\n    }\n\nThis will render as:\n\n    <img src=\"https://placekitten.com/200/300\">\n\nBut you can also include one or more of `alt`, `caption`, `width` and `href`.\n\nIf you include width or alt, they will be added as attributes:\n\n    {\n        \"img_src\": \"https://placekitten.com/200/300\",\n        \"alt\": \"Kitten\",\n        \"width\": 200\n    }\n\nProduces:\n\n    <img src=\"https://placekitten.com/200/300\"\n        alt=\"Kitten\" width=\"200\">\n\nThe `href` key will cause the image to be wrapped in a link:\n\n    {\n        \"img_src\": \"https://placekitten.com/200/300\",\n        \"href\": \"http://www.example.com\"\n    }\n\nProduces:\n\n    <a href=\"http://www.example.com\">\n        <img src=\"https://placekitten.com/200/300\">\n    </a>\n\nThe `caption` key wraps everything in a fancy figure/figcaption block:\n\n    {\n        \"img_src\": \"https://placekitten.com/200/300\",\n        \"caption\": \"Kitten caption\"\n    }\n\nProduces:\n\n    <figure>\n        <img src=\"https://placekitten.com/200/300\"></a>\n        <figcaption>Kitten caption</figcaption>\n    </figure>\n\n## Preformatted text\n\nYou can use `{\"pre\": \"text\"}` to render text in a `<pre>` HTML tag:\n\n    {\n        \"pre\": \"This\\nhas\\nnewlines\"\n    }\n\nProduces:\n\n    <pre>This\n    has\n    newlines</pre>\n\nIf the value attached to the `\"pre\"` key is itself a JSON object, that JSON will be pretty-printed:\n\n    {\n        \"pre\": {\n            \"this\": {\n                \"object\": [\"is\", \"nested\"]\n            }\n        }\n    }\n\nProduces:\n\n    <pre>{\n      &#34;this&#34;: {\n        &#34;object&#34;: [\n          &#34;is&#34;,\n          &#34;nested&#34;\n        ]\n      }\n    }</pre>\n\n## Using these with SQLite JSON functions\n\nThe most powerful way to make use of this plugin is in conjunction with SQLite's [JSON functions](https://www.sqlite.org/json1.html). For example:\n\n    select json_object(\n        \"href\", \"https://simonwillison.net/\",\n        \"label\", \"Simon Willison\"\n    );\n\nYou can use these functions to construct JSON objects that work with the plugin from data in a table:\n\n    select id, json_object(\n        \"href\", url, \"label\", text\n    ) from mytable;\n\n## The `urllib_quote_plus()` SQL function\n\nSince this plugin is designed to be used with SQL that constructs the underlying JSON structure, it is likely you will need to construct dynamic URLs from results returned by a SQL query.\n\nThis plugin registers a custom SQLite function called `urllib_quote_plus()` to help you do that. It lets you use Python's [urllib.parse.quote\\_plus() function](https://docs.python.org/3/library/urllib.parse.html#urllib.parse.quote_plus) from within a SQL query.\n\nHere's an example of how you might use it:\n\n    select id, json_object(\n        \"href\",\n        \"/mydatabase/other_table?_search=\" || urllib_quote_plus(text),\n        \"label\", text\n    ) from mytable;\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": {"last_day": -1, "last_month": -1, "last_week": -1}, "home_page": "https://github.com/simonw/datasette-json-html", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "datasette-json-html", "package_url": "https://pypi.org/project/datasette-json-html/", "platform": "", "project_url": "https://pypi.org/project/datasette-json-html/", "project_urls": {"Homepage": "https://github.com/simonw/datasette-json-html"}, "release_url": "https://pypi.org/project/datasette-json-html/0.4.1/", "requires_dist": ["datasette"], "requires_python": "", "summary": "Datasette plugin for rendering HTML based on JSON values", "version": "0.4.1"}, "last_serial": 4744762, "releases": {"0.1": [{"comment_text": "", "digests": {"md5": "0cdcb09f9c81a90f0d820fdc173b45bd", "sha256": "275fde7c263584104c7ac080ed0f8e84258b17051d6837119e3cf2b0766064e2"}, "downloads": -1, "filename": "datasette_json_html-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0cdcb09f9c81a90f0d820fdc173b45bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3132, "upload_time": "2018-07-31T05:51:44", "url": "https://files.pythonhosted.org/packages/95/07/b3be843a04a44fa93419aca9556022be234340d0c8aa50e3652eadcf5dcd/datasette_json_html-0.1-py3-none-any.whl"}], "0.2": [{"comment_text": "", "digests": {"md5": "d158ef70e9826fa1743a5d8f727779b4", "sha256": "e8a5aee9acbab87fdbf4a4b06ea42ed16d832a788fcdd233fca28eb2c555a3ae"}, "downloads": -1, "filename": "datasette_json_html-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d158ef70e9826fa1743a5d8f727779b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3356, "upload_time": "2018-07-31T06:09:32", "url": "https://files.pythonhosted.org/packages/57/dc/0830bc397d506818ee5fd712e7238fa1427eb42784d8aa18673cf98239ad/datasette_json_html-0.2-py3-none-any.whl"}], "0.3": [{"comment_text": "", "digests": {"md5": "e34f8f78362eb385959383b79df1e1c6", "sha256": "9963101e0986f314b0f9a58a1799411231b6a505b3faca89595466fe8881aa68"}, "downloads": -1, "filename": "datasette_json_html-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e34f8f78362eb385959383b79df1e1c6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3789, "upload_time": "2018-07-31T15:23:17", "url": "https://files.pythonhosted.org/packages/6e/3d/5b27d000fd0654f580e20d1487d5f0de9b2fcdc6ed8e6a2708a8e9a214c4/datasette_json_html-0.3-py3-none-any.whl"}], "0.3.1": [{"comment_text": "", "digests": {"md5": "050b6623807ea067468425522a8a32d3", "sha256": "2bef3c6cdefd89abc2de5cc07e3276c88897ab691b695e67ebfc9c2dfba9e506"}, "downloads": -1, "filename": "datasette_json_html-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "050b6623807ea067468425522a8a32d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3818, "upload_time": "2018-08-06T03:47:32", "url": "https://files.pythonhosted.org/packages/f8/e7/d11d7980e8220a1603880a3b5b11fc438bf8f0a2dbd384c8d4169f561d4d/datasette_json_html-0.3.1-py3-none-any.whl"}], "0.3.2": [{"comment_text": "", "digests": {"md5": "56f59add34097e91e78c5dbf8a99998a", "sha256": "8aa135005e2f3995b6adbcd897a53fe357f68f307035481089fb3f489209468d"}, "downloads": -1, "filename": "datasette_json_html-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "56f59add34097e91e78c5dbf8a99998a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3946, "upload_time": "2018-08-06T03:49:52", "url": "https://files.pythonhosted.org/packages/8a/e4/728da78ddebbd65d65127b220cb1cd0f54be428a25fed610b63a888cd34e/datasette_json_html-0.3.2-py3-none-any.whl"}], "0.3.4": [{"comment_text": "", "digests": {"md5": "13322a3d41dc6cfb6f3b80a2218b5b76", "sha256": "e59cc93f3925620018e5537f227c78735e8d92580e08460d99257dde55c92bc6"}, "downloads": -1, "filename": "datasette_json_html-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "13322a3d41dc6cfb6f3b80a2218b5b76", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3948, "upload_time": "2018-08-06T04:00:55", "url": "https://files.pythonhosted.org/packages/e7/6b/849633456eac98eb5e4d61327e4994692300f0c292c98d3744af631b96d7/datasette_json_html-0.3.4-py3-none-any.whl"}], "0.4.0": [{"comment_text": "", "digests": {"md5": "67b8b60a95c75cf330cc5254301a67b9", "sha256": "31e110862086048f1014da7fd6ad777d432612b51d47ed44599c2aa82c567af2"}, "downloads": -1, "filename": "datasette_json_html-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "67b8b60a95c75cf330cc5254301a67b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8359, "upload_time": "2019-01-02T04:18:07", "url": "https://files.pythonhosted.org/packages/d7/85/12c208c01e4354089ca8e96be5d0213e79a5d05c44b4b9a63176b66ad59c/datasette_json_html-0.4.0-py3-none-any.whl"}], "0.4.1": [{"comment_text": "", "digests": {"md5": "f8c652208e59765d8aa64829dce2e24c", "sha256": "d69683d32dc47d3e83b86c04e52e182bffb328a0fc3582cd444bbba453b39f7b"}, "downloads": -1, "filename": "datasette_json_html-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f8c652208e59765d8aa64829dce2e24c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8333, "upload_time": "2019-01-26T23:08:12", "url": "https://files.pythonhosted.org/packages/5f/b9/d437c2c728a7f14858d55780fac09c7ef3b01f4856fd93ab22bf93787588/datasette_json_html-0.4.1-py3-none-any.whl"}]}, "urls": [{"comment_text": "", "digests": {"md5": "f8c652208e59765d8aa64829dce2e24c", "sha256": "d69683d32dc47d3e83b86c04e52e182bffb328a0fc3582cd444bbba453b39f7b"}, "downloads": -1, "filename": "datasette_json_html-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f8c652208e59765d8aa64829dce2e24c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8333, "upload_time": "2019-01-26T23:08:12", "url": "https://files.pythonhosted.org/packages/5f/b9/d437c2c728a7f14858d55780fac09c7ef3b01f4856fd93ab22bf93787588/datasette_json_html-0.4.1-py3-none-any.whl"}]}


