diff --git a/Database/Persist/Sqlite.hs b/Database/Persist/Sqlite.hs
--- a/Database/Persist/Sqlite.hs
+++ b/Database/Persist/Sqlite.hs
@@ -1,10 +1,12 @@
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE TypeFamilies #-}
 -- | A sqlite backend for persistent.
 module Database.Persist.Sqlite
     ( withSqlitePool
     , withSqliteConn
     , module Database.Persist
     , module Database.Persist.GenericSql
+    , SqliteConf (..)
     ) where
 
 import Database.Persist
@@ -21,6 +23,8 @@
 import Control.Monad.IO.Control (MonadControlIO)
 import Control.Exception.Control (finally)
 import Data.Text (Text, pack, unpack)
+import Data.Neither (MEither (..), meither)
+import Data.Object
 
 withSqlitePool :: MonadControlIO m
                => Text
@@ -236,3 +240,33 @@
     go "" = ""
     go ('"':xs) = "\"\"" ++ go xs
     go (x:xs) = x : go xs
+
+-- | Information required to connect to a sqlite database
+data SqliteConf = SqliteConf
+    { sqlDatabase :: Text
+    , sqlPoolSize :: Int
+    }
+
+instance PersistConfig SqliteConf where
+    type PersistConfigBackend SqliteConf = SqlPersist
+    type PersistConfigPool SqliteConf = ConnectionPool
+    withPool (SqliteConf cs size) = withSqlitePool cs size
+    runPool _ = runSqlPool
+    loadConfig e' = meither Left Right $ do
+        e <- go $ fromMapping e'
+        db <- go $ lookupScalar "database" e
+        pool' <- go $ lookupScalar "poolsize" e
+        pool <- safeRead "poolsize" pool'
+
+        return $ SqliteConf db pool
+      where
+        go :: MEither ObjectExtractError a -> MEither String a
+        go (MLeft e) = MLeft $ show e
+        go (MRight a) = MRight a
+
+safeRead :: String -> Text -> MEither String Int
+safeRead name t = case reads s of
+    (i, _):_ -> MRight i
+    []       -> MLeft $ concat ["Invalid value for ", name, ": ", s]
+  where
+    s = unpack t
diff --git a/persistent-sqlite.cabal b/persistent-sqlite.cabal
--- a/persistent-sqlite.cabal
+++ b/persistent-sqlite.cabal
@@ -1,5 +1,5 @@
 name:            persistent-sqlite
-version:         0.6.1
+version:         0.6.2
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -20,10 +20,12 @@
     build-depends:   base                    >= 4         && < 5
                    , bytestring              >= 0.9.1     && < 0.10
                    , transformers            >= 0.2.1     && < 0.3
-                   , persistent              >= 0.6       && < 0.7
+                   , persistent              >= 0.6.3     && < 0.7
                    , monad-control           >= 0.2       && < 0.3
                    , containers              >= 0.2       && < 0.5
                    , text                    >= 0.7       && < 0.12
+                   , data-object             >= 0.3       && < 0.4
+                   , neither                 >= 0.3       && < 0.4
     exposed-modules: Database.Sqlite
                      Database.Persist.Sqlite
     ghc-options:     -Wall
