Python based MySQL and SQLite wrapper.
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A Python based wrapper (meta-wrapper, even) allowing easy MySQL and SQLite interactions.


  • Python 2.7.3 (this is what I test with, should work with most 2.x; 3.x not guaranteed without porting)
  • sqlite3 module (comes with Python installs)
  • Install MySQLdb if you want MySQL support
    • If you’re using a Debian-like distro (Ubuntu, Debian, Crunchbang, etc), install the package python-mysqldb
      • $ sudo apt-get install python-mysqldb
    • There is no pypi package (someone get on this)
    • If that didn’t work, or you’re not using a Debian-like distro:
      • Build and install the MySQLdb module from source.
      • This link explains better than I could.
    • Verify it’s installed: $ python -c 'import MySQLdb'
      • If nothing shows up, you’re good!
      • If you get an ImportError, think, do you really need MySQL?
      • If yes, this is a problem, and I can't really help. :(
      • If you don't, just use sqlite, it's much easier.


  • Install pysqlw: $ pip install pysqlw
  • Import pysqlw:
    • import pysqlw
  • Create a new instance:
    • p = pysqlw.pysqlw(db_type="sqlite", db_path="/home/user/example.db")
    • If you want to use MySQL you need to supply more details:
    • p = pysqlw.pysqlw(db_type="mysql", db_host="localhost", db_user="username", db_pass="password", db_name="database_name")
    • Alternatively, you can use it with Python's with statement.
  • Documentation is now on the pysqlw readthedocs entry.


If you're interested, you can write extra meta-wrappers for foreign database types. They're pretty simple, look at the pysqlw wrappers documentation page for an example.

If there's not a wrapper for a database type you'd like (that is, an actual wrapper, not just a meta-wrapper), you should make one of those and send in some pull requests with meta-wrappers! More coverage is great.

If you wish to help contribute to the base wrapper functions, feel free to fork the github repo and send in pull requests!