{"id":21103,"library":"datasette","title":"Datasette","description":"An open source multi-tool for exploring and publishing data, providing a web interface to SQLite databases. Current version 0.65.2, released regularly.","status":"active","version":"0.65.2","language":"python","source_language":"en","source_url":"https://github.com/simonw/datasette","tags":["data-exploration","sqlite","web-api","publishing"],"install":[{"cmd":"pip install datasette","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Optional dependency for database management","package":"sqlite-utils","optional":true}],"imports":[{"note":"Direct import of the package; typical usage is via CLI or as a library","symbol":"datasette","correct":"import datasette"}],"quickstart":{"code":"import datasette\nimport asyncio\n\nasync def quickstart():\n    app = datasette.Datasette(files=[\"my_database.db\"])\n    await app.serve()\n\nasyncio.run(quickstart())","lang":"python","description":"Basic usage: create a Datasette instance pointing to an existing SQLite database and serve it."},"warnings":[{"fix":"Use `datasette cloudrun` or consider using `datasette publish fly` for deployment.","message":"In version 0.63, the `datasette publish cloudrun` command was removed. Use `datasette cloudrun` or `datasette publish fly` instead.","severity":"breaking","affected_versions":">=0.63"},{"fix":"Replace `--config myconfig.json` with `-c myconfig.json` or use `--settings`.","message":"The `--config` CLI flag is deprecated. Use `-c` or `--settings` in newer versions.","severity":"deprecated","affected_versions":">=0.60"},{"fix":"Define custom render functions and hooks as async functions (e.g., `async def render_custom(request, datasette)`).","message":"Datasette uses asyncio; calling blocking functions will hang the server. Ensure all custom plugins and hooks are async.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Upgrade to Python 3.9+ as required by datasette; asyncio is part of the standard library.","cause":"Trying to import 'asyncio' which is a built-in module; error occurs if Python is too old (pre-3.3).","error":"ModuleNotFoundError: No module named 'asyncio'"},{"fix":"Verify the database file exists and contains the correct tables using `sqlite3 my.db .tables`.","cause":"Database file does not contain the expected table, or the file path is incorrect.","error":"datasette.exceptions.Error: No such table: ..."}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}