VOOZH about

URL: https://pypi.org/project/sqlite-utils/

โ‡ฑ sqlite-utils ยท PyPI


Skip to main content

sqlite-utils 3.39

pip install sqlite-utils

Latest release

Released:

CLI tool and Python library for manipulating SQLite databases

Navigation

Verified details

These details have been verified by PyPI
Maintainers
๐Ÿ‘ Avatar for simonw from gravatar.com
simonw

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: Apache License, Version 2.0
  • Author: Simon Willison
  • Requires: Python >=3.10
  • Provides-Extra: test , docs , mypy , flake8 , tui

Project description

sqlite-utils

๐Ÿ‘ PyPI
๐Ÿ‘ Changelog
๐Ÿ‘ Python 3.x
๐Ÿ‘ Tests
๐Ÿ‘ Documentation Status
๐Ÿ‘ codecov
๐Ÿ‘ License
๐Ÿ‘ discord

Python CLI utility and library for manipulating SQLite databases.

Some feature highlights

Read more on my blog, in this series of posts on New features in sqlite-utils and other entries tagged sqliteutils.

Installation

pip install sqlite-utils

Or if you use Homebrew for macOS:

brew install sqlite-utils

Using as a CLI tool

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

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

$ sqlite-utils insert dogs.db dogs dogs.csv --csv
[####################################] 100%

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

$ sqlite-utils dogs.db "select id, name from dogs"
[{"id": 1, "name": "Cleo"},
 {"id": 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 import JSON 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 id

Or for data in a CSV file:

$ sqlite-utils insert dogs.db dogs dogs.csv --csv

sqlite-utils memory lets you import CSV or JSON data into an in-memory database and run SQL queries against it in a single command:

$ cat dogs.csv | sqlite-utils memory - "select name, age from stdin"

See the full CLI documentation for comprehensive coverage of many more commands.

Using as a library

You can also import sqlite_utils and use it as a Python library like this:

importsqlite_utils
db = sqlite_utils.Database("demo_database.db")
# This line creates a "dogs" table if one does not already exist:
db["dogs"].insert_all([
 {"id": 1, "age": 4, "name": "Cleo"},
 {"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")

Check out the full library documentation for everything else you can do with the Python library.

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 sqlite-utils

Project details

Verified details

These details have been verified by PyPI
Maintainers
๐Ÿ‘ Avatar for simonw from gravatar.com
simonw

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: Apache License, Version 2.0
  • Author: Simon Willison
  • Requires: Python >=3.10
  • Provides-Extra: test , docs , mypy , flake8 , tui

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlite_utils-3.39.tar.gz (215.3 kB view details)

Uploaded Source

Built Distribution

Filter files by name, interpreter, ABI, and platform.

If you're not sure about the file name format, learn more about wheel file names.

Copy a direct link to the current filters

sqlite_utils-3.39-py3-none-any.whl (68.5 kB view details)

Uploaded Python 3

File details

Details for the file sqlite_utils-3.39.tar.gz.

File metadata

  • Download URL: sqlite_utils-3.39.tar.gz
  • Upload date:
  • Size: 215.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for sqlite_utils-3.39.tar.gz
Algorithm Hash digest
SHA256 bfa2eac29b3e3eb5c9647283797527febcf4efd4a9bbb31d979a14a11ef9dbcd
MD5 cef9fc8c5c2934341c43329daa362fec
BLAKE2b-256 b3e36b1106349e2576c18409b27bd3b16f193b1cf38220d98ad22aa454c5e075

See more details on using hashes here.

File details

Details for the file sqlite_utils-3.39-py3-none-any.whl.

File metadata

  • Download URL: sqlite_utils-3.39-py3-none-any.whl
  • Upload date:
  • Size: 68.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for sqlite_utils-3.39-py3-none-any.whl
Algorithm Hash digest
SHA256 349c099c0cd60d4ee9139a24d5c9cb64af3906c3e90832fcbbd74da49333374d
MD5 152017ed2498a8a25fb93178a2699e93
BLAKE2b-256 51337e01d2f6b8c778529dfae9045c4f46b33ba145c3d401fa95b07f599e7403

See more details on using hashes here.

Supported by

๐Ÿ‘ Image
AWS Cloud computing and Security Sponsor ๐Ÿ‘ Image
Datadog Monitoring ๐Ÿ‘ Image
Depot Continuous Integration ๐Ÿ‘ Image
Fastly CDN ๐Ÿ‘ Image
Google Download Analytics ๐Ÿ‘ Image
Pingdom Monitoring ๐Ÿ‘ Image
Sentry Error logging ๐Ÿ‘ Image
StatusPage Status page