Saravanan666/pypi-org huggingface dataset:
Package: datasette-mutable-downloads
datasette-mutable-downloadsEnable downloading mutable databases.InstallationInstall this plugin in the same environment as Datasette.datasette install datasette-mutable-downloadsUsageYou can now download a mutable database on its database page, just as you
can for immutable databases.Example:https://dux.fly.dev/cookingNotesThis is achieved by a somewhat gross monkeypatch of theDatabaseDownloadview.We detect if the database is mutable. If it is, we first create a copy viaVACUUM INTO.We then stream that file to the user, and delete it.This requires SQLite 3.27.0 or newer (Feb 2019).NOTEThe act ofVACUUM INTOcould be resource intensive if your
database is large. If you expose your Datasette to the Internet,
you may wish to restrict this to only authenticated users.To do that, add a permissions block in your metadata.json:"permissions": {
  "view-database-download": {
    "gh_id": "*"
  }
}DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-mutable-downloads
python3 -m venv venv
source venv/bin/activateNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-notebook
datasette-notebookA markdown wiki and dashboarding system for DatasetteThis is anexperimental alphaand everything about it is likely to change.InstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-notebookUsageStart Datasette with a SQLite file callednotebook.db:datasette notebook.db --createHere the--createoption will create that file if it does not yet exist.Visit/nto create an index page. Visit/n/nameto create a page with that name.You can link to other pages using[[WikiLink]]syntax. This will create a link to/n/WikiLink- spaces will be converted to underscores, and you can link to nested pages such as[[nested/page]].ConfigurationYou can use a file other thannotebook.dbby configuring it usingmetadata.yml. To use a database file calledotherfile.dbyou would use this:plugins:datasette-notebook:database:otherfileThen start Datasette like so:datasette otherfile.dbDevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-notebook
python3 -mvenv venv
source venv/bin/activateOr if you are usingpipenv:pipenv shellNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-no-truncate
datasette-no-truncateTiny Datasette plugin to disable text truncation in table displaysInstallationInstall this plugin in the same environment as Datasette.datasette install datasette-no-truncateUsageOnce installed, text values should no longer be truncated when a table is displayed.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-no-truncate
python3 -m venv venv
source venv/bin/activateNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-nteract-data-explorer
datasette-nteract-data-explorerAn automatic data visualization plugin for theDatasetteecosystem. See your dataset from multiple views with an easy-to-use, customizable menu-based interface.DemoTry thelive demoRunning Datasette with the Happy Planet Index datasetInstallationInstall this plugin in the same Python environment as Datasette.datasetteinstalldatasette-nteract-data-explorerUsageClick "View in Data Explorer" to expand the visualization panelClick the icons on the right side to change the visualization type.Use the menus underneath the graphing area to configure your graph (e.g. change which columns to graph, colors to use, etc)Use "advanced settings" mode to override the inferred column types. For example, you may want to treat a number as a "string" to be able to use it as a category.See alive demoof the original Nteract data-explorer component used in isolation.You can run a minimal demo after the installation stepdatasette-idemo/happy_planet_index.dbIf you're interested in improving the demo site, you can run a copy of the site the extra metadata/plugins used in thepublished demo.makerun-demoThank you for reading this far! If you use the Data Explorer in your own site and would like others to find it, you canmention it here.DevelopmentSeecontributing docs.AcknowledgementsTheData Explorerwas designed by Elijah Meeks. I co-maintain this project as part of theNteractopen-source team. You can read about the design behind this toolhereThe data model is based on theFrictionless Data Spec.This plugin was bootstrapped by Simon Willison'sDatasette plugin templateDemo dataset from theHappy Planet Indexwas cleaned by Doris Lee. This dataset was chosen because of its global appeal, modest size, and variety in column datatypes (numbers, low cardinality and high cardinality strings, booleans).Hosting for the demo site is provided by Vercel.
Package: datasette-packages
datasette-packagesShow a list of currently installed Python packagesInstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-packagesUsageVisit/-/packagesto see a list of installed Python packages.Visit/-/packages.jsonto get that back as JSON.DemoThe output of this plugin can be seen here:https://latest-with-plugins.datasette.io/-/packageshttps://latest-with-plugins.datasette.io/-/packages.jsonWith datasette-graphqlif you have version 2.1 or higher of thedatasette-graphqlplugin installed you can also query the list of packages using this GraphQL query:{packages{nameversion}}Demo of this query.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-packages
python3 -mvenv venv
source venv/bin/activateNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-placekey
datasette-placekeySQL functions for working withplacekeys.InstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-placekeyUsageThe following SQL functions are exposed -documentation here.selectgeo_to_placekey(33.0896104,129.7900839),placekey_to_geo('@6nh-nhh-kvf'),placekey_to_geo_latitude('@6nh-nhh-kvf'),placekey_to_geo_longitude('@6nh-nhh-kvf'),placekey_to_h3('@6nh-nhh-kvf'),h3_to_placekey('8a30d94e4c87fff'),placekey_to_geojson('@6nh-nhh-kvf'),placekey_to_wkt('@6nh-nhh-kvf'),placekey_format_is_valid('@6nh-nhh-kvf');DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-placekey
python3 -mvenv venv
source venv/bin/activateOr if you are usingpipenv:pipenv shellNow install the dependencies and tests:pip install -e '.[test]'To run the tests:pytest
Package: datasette-plot
datasette-plotA Datasette plugin for making data visualizations withObservable Plot.InstallationInstall this plugin in the same environment as Datasette.datasetteinstalldatasette-plotUsageOnce installed, table pages and SQL query pages will have a new "Show plot" button that will open thedatasette-plot.Current,datasette-plotonly supports a fewvisualization marksfrom Plot, including dot, line, area, bar, and more.Your browser does not support the video tag.Use theLink to this plotURL to share visualization with others. The link will have your plot options encoded in the URL.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cddatasette-plot
python3-mvenvvenvsourcevenv/bin/activateNow install the dependencies and test dependencies:pipinstall-e'.[test]'To run the tests:pytest
Package: datasette-plugin-template-demo
datasette-plugin-template-demoDemonstratinghttps://github.com/simonw/datasette-pluginInstallationInstall this plugin in the same environment as Datasette.$ pip install datasette-plugin-template-demoUsageUsage instructions go here.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-plugin-template-demo
python -mvenv venv
source venv/bin/activateOr if you are usingpipenv:pipenv shellNow install the dependencies and tests:pip install -e '.[test]'To run the tests:pytest
Package: datasette-pretty-traces
datasette-pretty-tracesPrettier formatting for?_trace=1tracesInstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-pretty-tracesUsageOnce installed, run Datasette using--setting trace_debug 1:datasette fixtures.db --setting trace_debug 1Then navigate to any page and add?_trace=to the URL:http://localhost:8001/?_trace=1The plugin will scroll you down the page to the visualized trace information.DemoYou can try out the demo here:/?_trace=1tracing the homepage/github/commits?_trace=1tracing a table pageScreenshotDevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-pretty-traces
python3 -mvenv venv
source venv/bin/activateOr if you are usingpipenv:pipenv shellNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-proxy-image-tags
datasette-proxy-image-tagsInstallationInstall this plugin in the same environment as Datasette.datasette install datasette-proxy-image-tagsUsageUsage instructions go here.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-proxy-image-tags
python3 -m venv venv
source venv/bin/activateNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-proxy-url
datasette-proxy-urlProxy a URL through a Datasette instanceInstallationInstall this plugin in the same environment as Datasette.datasetteinstalldatasette-proxy-urlUsageThis plugin can be configured to set specific paths within Datasette to proxy content from another URL.Configure the plugin like this:{"plugins":{"datasette-proxy-url":{"paths":[{"path":"/proxy","backend":"http://example.com/"},]}}}Now any request to/proxywill serve the HTML content fromhttp://example.com/.Thecontent-typeresponse header and the content body will be passed through. All other headers are currently ignored.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cddatasette-proxy-url
python3-mvenvvenvsourcevenv/bin/activateNow install the dependencies and test dependencies:pipinstall-e'.[test]'To run the tests:pytest
Package: datasette-psutil
datasette-psutilDatasette plugin adding a/-/psutildebugging endpointInstallationInstall this plugin in the same environment as Datasette.$ pip install datasette-psutilUsageVisit/-/psutilon your Datasette instance to see various information provided bypsutil.ExampleYou can visit a live demo here:https://datasette-psutil-demo-j7hipcg4aq-uw.a.run.app/-/psutilSample output:process.open_files()
  popenfile(path='/tmp/fixtures.db', fd=6)

process.connections()
  pconn(fd=5, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, laddr=addr(ip='169.254.8.130', port=8080), raddr=addr(ip='169.254.8.129', port=52621), status='ESTABLISHED')
  pconn(fd=3, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, laddr=addr(ip='0.0.0.0', port=8080), raddr=(), status='LISTEN')

process.memory_info()
  pmem(rss=56827904, vms=242540544, shared=0, text=0, lib=0, data=0, dirty=0)

process.cmdline()
  '/usr/local/bin/python'
  '/usr/local/bin/datasette'
  'serve'
  '--host'
  '0.0.0.0'
  '-i'
  'fixtures.db'
  '--cors'
  '--inspect-file'
  'inspect-data.json'
  '--port'
  '8080'

process.parents()
  psutil.Process(pid=1, name='sh', started='23:19:29')

process.threads()
  pthread(id=2, user_time=7.27, system_time=3.99)
  pthread(id=4, user_time=0.01, system_time=0.0)
  pthread(id=5, user_time=0.0, system_time=0.0)
  pthread(id=6, user_time=0.0, system_time=0.0)
  pthread(id=7, user_time=0.0, system_time=0.0)
  pthread(id=8, user_time=0.0, system_time=0.0)

psutil.getloadavg()
  (0.0, 0.0, 0.0)

psutil.cpu_times(True)
  scputimes(user=0.0, nice=0.0, system=0.0, idle=0.0, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
  scputimes(user=0.0, nice=0.0, system=0.0, idle=0.0, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)

psutil.virtual_memory()
  svmem(total=2147483648, available=2093080576, percent=2.5, used=31113216, free=2093080576, active=42860544, inactive=11513856, buffers=0, cached=23289856, shared=262144, slab=0)

list(psutil.process_iter())
  psutil.Process(pid=1, name='sh', started='23:19:29')
  psutil.Process(pid=2, name='datasette', started='23:19:29')
Package: datasette-public
datasette-publicMake specific Datasette tables visible to the publicInstallationInstall this plugin in the same environment as Datasette.datasette install datasette-publicUsageAny tables listed in the_public_tablestable will be visible to the public, even if the rest of the Datasette instance does not allow anonymous access.The root user (and any user with the newpublic-tablespermission) will get a new option in the table action menu allowing them to toggle a table between public and private.Installing this plugin also causesallow-sqlpermission checks to fall back to checking if the user has access to the entire database. This is to avoid users with access to a single public table being able to access data from other tables using the?_where=query string parameter.ConfigurationThis plugin creates a new table in one of your databases called_public_tables.This table defaults to being created in the first database passed to Datasette.To create it in a different named database, use this plugin configuration:{"plugins":{"datasette-public":{"database":"database_to_create_table_in"}}}DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-public
python3 -m venv venv
source venv/bin/activateNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-publish-azure
datasette-publish-azurePublish Datasette instances to Azure FunctionsUNDER CONSTRUCTION: This plugin does not work yet!Seesimonw/azure-functions-datasettefor the prototype.InstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-publish-azureUsageUsage instructions will go here.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-publish-azure
python3 -mvenv venv
source venv/bin/activateOr if you are usingpipenv:pipenv shellNow install the dependencies and tests:pip install -e '.[test]'To run the tests:pytest
Package: datasette-pyinstrument
datasette-pyinstrumentUse pyinstrument to analyze Datasette page performanceInstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-pyinstrumentUsageOnce installed, adding?_pyinstrument=1to any URL within Datasette will replace the output of that page with the pyinstrument profiler results for it.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-pyinstrument
python3 -mvenv venv
source venv/bin/activateOr if you are usingpipenv:pipenv shellNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-pytables
datasette-pytablesDatasette-PyTables provides a web interface and a JSON API forPyTablesfiles, allowing them to be accessible for e.g. Javascript programs. It works in conjunction withDatasette, which provides a web interface for SQLite files. Thanks toDatasette-Connectors, Datasette can accept external connectors for any kind of database files, so you can develop your own connector for your favourite data container if you want (readdevelopers doc).InstallationRunpip install datasette-pytablesto install both Datasette and the PyTables connector. Easy as pie!How to serve PyTables filesdatasette serve path/to/data.h5This will start a web server on port 8001; then you can access to your data visitinghttp://localhost:8001/Read theDatasette documentationfor more advanced options.See how a typical Table query looks like in the Datasette-PyTables web interface:
Package: datasette-query-files
datasette-query-filesWrite Datasette canned queries as plain SQL files.InstallationInstall this plugin in the same environment as Datasette.datasette install datasette-query-filesOr usingpiporpipenv:pip install datasette-query-files
pipenv install datasette-query-filesUsageThis plugin will look forcanned queriesin the filesystem, in addition any defined in metadata.Let's say you're working in a directory calledproject-directory, with a database file calledmy-project.db. Start by creating aqueriesdirectory with amy-projectdirectory inside it. Any SQL file inside thatmy-projectfolder will become a canned query that can be run on themy-projectdatabase. If you have aquery-name.sqlfile and aquery-name.json(orquery-name.yml) file in the same directory, the JSON file will be used as query metadata.project-directory/
  my-project.db
  queries/
    my-project/
      query-name.sql # a query
      query-name.yml # query metadataDevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-query-files
python3 -m venv venv
source venv/bin/activateNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-query-history
datasette-query-historyDatasette plugin that keeps a list of the queries you've run and lets you rerun them.InstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-query-historyUsageClick theQuery Historybutton on the SQL editor page to see previous queries.Click the ⬆︎ button to replace the current query with a previous query.Click theClear Query Historybutton to clear the list previous queries.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-query-history
python3 -mvenv venv
source venv/bin/activateOr if you are usingpipenv:pipenv shellNow install the dependencies and tests:pip install -e '.[test]'To run the tests:pytest
Package: datasette-query-links
datasette-query-linksTurn SELECT queries returned by a query into links to execute themInstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-query-linksUsageThis is an experimental plugin, requiring Datasette  0.59a1 or higher.Any SQL query that returns a value that itself looks like a valid SQL query will be converted into a link to execute that SQL query when it is displayed in the Datasette interface.These links will only show for valid SQL query - if a SQL query would return an error it will not be turned into a link.DemoHere's an example queryshowing the plugin in action.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-query-links
python3 -mvenv venv
source venv/bin/activateOr if you are usingpipenv:pipenv shellNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-redirect-forbidden
datasette-redirect-forbiddenRedirect forbidden requests to a login pageInstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-redirect-forbiddenUsageAdd the following to yourmetadata.yml(ormetadata.json) file to configure the plugin:plugins:datasette-redirect-forbidden:redirect_to:/-/loginAny 403 forbidden pages will redirect to the specified page.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-redirect-forbidden
python3 -mvenv venv
source venv/bin/activateOr if you are usingpipenv:pipenv shellNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-redirect-to-https
datasette-redirect-to-httpsDatasette plugin that redirects all non-https requests to httpsInstallationInstall this plugin in the same environment as Datasette.$ datasette install datasette-redirect-to-httpsUsageOnce installed, incoming GET requests to thehttp://protocol will be 301 redirected to thehttps://equivalent page.HTTP verbs other than GET will get a 405 Method Not Allowed HTTP error.ConfigurationSome hosting providers handle HTTPS for you, passing requests back to your application server over HTTP.For this plugin to work correctly, you need to detect that they the original incoming request came in over HTTP.Hosting providers like this often set an additional HTTP header such asx-forwarded-proto: httpto let you know the original protocol.You can configuredatasette-redirect-to-httpsto respect this header using the following plugin configuration inmetadata.json:{"plugins":{"datasette-redirect-to-https":{"if_headers":{"x-forwarded-proto":"http"}}}}The above example will redirect tohttps://if the incoming request has ax-forwarded-proto: httprequest header.If multipleif_headersare listed, the redirect will occur if any of them match.DevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cd datasette-redirect-to-https
python3 -m venv venv
source venv/bin/activateNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:pytest
Package: datasette-remote-actors
datasette-remote-actorsA Datasette plugin for fetching details of actors from a remote endpoint. See#2180for details.Installationdatasetteinstalldatasette-remote-actorsAPI endpointYou must configure this plugin with a URL to an endpoint that returns JSON data about actors.The endpoint should accept a comma separated list of IDs?ids=1,2,3and return a JSON dictionary that looks like this:{"1":{"id":"1","name":"Name 1",},"2":{"id":"2","name":"Name 2",}}Aside from requiring an ID (which can be a string or an integer) the content of that actor dictionary is entirely up to the implementor.If you only have a small number of actors your endpoint could ignore the?ids=parameter and return all of the actors in one go. They will be cached by the plugin and used to serve future requests.Configurationplugins:datasette-remote-actors:ttl:60url:https://example.com/actors.jsontoken:xxxTheurlis required, the others are optional.url- the URL to the endpoint that can resolve actor IDs into JSON actor dictionariesttl- the number of seconds to cache the result for a specific actor - omit this for no cachingtoken- an optional token to be sent in theAuthorization: Bearer xxxheader for authenticationDevelopmentTo set up this plugin locally, first checkout the code. Then create a new virtual environment:cddatasette-remote-actors
python3-mvenvvenvsourcevenv/bin/activateNow install the dependencies and test dependencies:pip install -e '.[test]'To run the tests:
```bash
pytest