sqlite3 read-only on a file system that doesn't support locking

python, readonly, sqlite

Solution

As of Python 3.4.0 you can open the database in read only mode with the following:

db = sqlite3.connect('file:/path/to/database?mode=ro', uri=True)

Problem

Is there an easy way to open an sqlite3 database using the DB-compliant sqlite3 module in a way that is read-only? I want to access a database read-only on a file system that doesn't support locking. I know that the C api supports this, but can't figure out a way to do this with the sqlite3 interface.

Original source