My List of Python and SQLite Resources

Sqlite Logo

This post is going to be a greatest hits of my open-source libraries and blog posts concerning the use of SQLite with Python. I'll also share a list of some other neat SQLite projects that you may not have heard of before.

python-lsm-db (docs)

python-lsm-db is a set of Python bindings for SQLite4's LSM database. The SQLite4 LSM db is an embedded, ordered key/value store (like LevelDB) that supports nested transactions, cursors, single-writer/multiple-reader concurrency, and exceptional durability. LevelDB does not have nearly as many features, but in my testing the python-lsm-db library was almost as fast as the plyvel LevelDB bindings (and much faster than KyotoCabinet or BerkeleyDB).

The Python API for working with the LSM db is based on the dict API, with the added benefit that you can index slices of keys in addition to single keys. The API is small but powerful, and I envision the library being used as a foundation of sorts for other, higher-level storage applications.

For a quick introduction, you can check out the announcement blog post

scout (docs)

scout is a RESTful full-text search server written in Python and powered by SQLite. You might think of it as a poor man's ElasticSearch. You can store multiple search indexes in a single SQLite database. Each search index consists of indexed documents and any user-defined metadata. Full-text searches can be performed over the index, and you can also filter on metadata values. The project also includes a lightweight Python client to go along with the search server.

sqlite-web

sqlite-web is a web-based SQLite database browser and management tool. You can browse tables, run queries, and there are GUIs for modifying the schema. You can even drop and rename columns (something SQLite does not support out of the box).

peewee and various extensions

peewee is a lightweight ORM with clean, predictable APIs for executing queries and working with relational data. There are a number of extension modules packaged with peewee that you might find useful:

Blog posts

Other cool projects

There are a ton of interesting SQLite projects out there. Here are some of my favorites:

Thanks for reading

Thanks for taking the time to read this post. I hope you've learned about some projects you might not have heard about. If you're a staunch Postgres or MySQL user, give SQLite a try! It's a fantastic library.

Just a couple additional notes worth highlighting:

Comments (0)


Commenting has been closed, but please feel free to contact me