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:
http://www.pythonweb.org/projects/pdbc/html/ http://www.pythonweb.org/projects/pdbc/pdbc.txt
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 use?
- 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,
James -- www.pythonweb.org _______________________________________________ DB-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/db-sig
