{"library":"sqlite-utils","title":"sqlite-utils","type":"library","description":"sqlite-utils is a CLI tool and Python library for conveniently creating and manipulating SQLite databases. It simplifies common tasks like importing data, running queries, and managing schema. The current stable version is 3.39, with development on 4.0 in alpha. The library maintains a frequent release cadence, with over 128 releases since 2018.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install sqlite-utils"],"cli":{"name":"sqlite-utils","version":"sqlite-utils, version 3.39"}},"imports":["from sqlite_utils import Database"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://sqlite-utils.datasette.io","github":"https://github.com/simonw/sqlite-utils","docs":"https://sqlite-utils.datasette.io/en/stable/","changelog":"https://sqlite-utils.datasette.io/en/stable/changelog.html","pypi":"https://pypi.org/project/sqlite-utils/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"from sqlite_utils import Database\n\n# Create an in-memory database\ndb = Database(memory=True)\n\n# Or create a file-based database\n# db = Database('my_data.db')\n\n# Insert data into a table, creating it if it doesn't exist\ndb[\"dogs\"].insert_all(\n    [\n        {\"id\": 1, \"name\": \"Cleo\", \"age\": 4},\n        {\"id\": 2, \"name\": \"Pancakes\", \"age\": 2}\n    ],\n    pk=\"id\"\n)\n\n# Query data\nfor row in db.query(\"select * from dogs where age > ?\", [3]):\n    print(row)\n\n# Access table objects and perform operations\ndogs_table = db[\"dogs\"]\nprint(f\"Total dogs: {dogs_table.count}\")\n\ndogs_table.update(1, {\"age\": 5})\n\nfor row in dogs_table.rows: # Iterate through all rows\n    print(row)\n","lang":"python","description":"This quickstart demonstrates how to create a Database object, insert data into a table (which is automatically created if it doesn't exist), and then query and update data. It shows both in-memory and file-based database creation.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"3.38","pypi_latest":"3.39","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2,"avg_import_s":0.37,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.3,"mem_mb":7.1,"disk_size":"20.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.2,"mem_mb":7.1,"disk_size":"21M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.55,"mem_mb":7.8,"disk_size":"22.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.53,"mem_mb":7.8,"disk_size":"23M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.42,"mem_mb":7.6,"disk_size":"14.6M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.46,"mem_mb":7.6,"disk_size":"15M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.36,"mem_mb":6.8,"disk_size":"14.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.4,"mem_mb":6.8,"disk_size":"15M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.27,"mem_mb":6.4,"disk_size":"19.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"sqlite-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.22,"mem_mb":6.4,"disk_size":"20M"}]}}