by simonw

simonw /sqlite-utils

Python CLI utility and library for manipulating SQLite databases

164 Stars 14 Forks Last release: 12 days ago (2.18) Apache License 2.0 359 Commits 68 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


PyPI Changelog Tests Documentation Status License

Python CLI utility and library for manipulating SQLite databases.

Read more on my blog: sqlite-utils: a Python library and CLI tool for building SQLite databases


pip install sqlite-utils

Using as a CLI tool

Now you can do things with the CLI utility like this:

$ sqlite-utils tables dogs.db --counts
[{"table": "dogs", "count": 2}]

$ sqlite-utils dogs.db "select * from dogs" [{"id": 1, "age": 4, "name": "Cleo"}, {"id": 2, "age": 2, "name": "Pancakes"}]

$ sqlite-utils dogs.db "select * from dogs" --csv id,age,name 1,4,Cleo 2,2,Pancakes

$ sqlite-utils dogs.db "select * from dogs" --table id age name

1 4 Cleo 2 2 Pancakes

You can even import data into a new database table like this:

$ curl https://api.github.com/repos/simonw/sqlite-utils/releases \
    | sqlite-utils insert releases.db releases - --pk

Full CLI documentation: https://sqlite-utils.readthedocs.io/en/stable/cli.html

Using as a library

You can also

import sqlite_utils
and use it as a Python library like this:
import sqlite_utils
db = sqlite_utils.Database("demo_database.db")
# This line creates a "dogs" table if one does not already exist:
    {"id": 1, "age": 4, "name": "Cleo"},
    {"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")

Full library documentation: https://sqlite-utils.readthedocs.io/en/stable/python-api.html

Related projects

  • Datasette: A tool for exploring and publishing data
  • csvs-to-sqlite: Convert CSV files into a SQLite database
  • db-to-sqlite: CLI tool for exporting a MySQL or PostgreSQL database as a SQLite file
  • dogsheep: A family of tools for personal analytics, built on top of

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.