[DB-SIG] PDBC Draft Specification

James Gardner james at pythonweb.org
Tue Jan 11 20:32:48 CET 2005

Hello All,

I've recently been working on a specification for a database abstraction 
layer for Python. PDBC is designed to address the issue of complexity 
for end users and enable them to write database portable code.

The specification defines a standard SQL subset, field types and an API 
which all PDBC compliant databases would implement in order to achieve 
portable database programming for simple operations. The API exposes the 
existing DB-API 2.0 objects for more complex programming. A reference 
implementation is being written. An object relational mapper, pure 
python implementation and interactive prompt are being adapted for PDBC 
and I'm writing the user documentation at the moment.

The URLs for the specification are:


Any thoughts or comments would be really appreciated, in particular:

- Do you think this would be useful to you?
- Do you think this would be useful to others such as beginners, those 
who use languages other than Python or those involved in web programming 
where database independence is useful for a product to be widely used?
- Do you know of any existing packages which do this better already?
- Can you think of any critical omissions from API?
- Would you be willing to implement the PDBC for the database engine you 
- Can you think of better choices for the emulated field types or their 
ranges of values?
- Is it worth writing an error code system for every error which could 
conceivably occur within the PDBC SQL specification and would it 
actually be possible for module implementers to implement the error 
codes for their database or would this be too much of a challenge?

Many thanks,


More information about the DB-SIG mailing list