QAL is an open source development project that aims to create a collection of libraries for mixing, moving, merging, substituting and transforming data. And in some cases, like for MongoDB, schemas.
Query Abstraction Layer | |
---|---|
Developer(s) | Nicklas Börjesson |
Initial release | September 2013[1] |
Stable release | 0.4.0[2]
/ October 31, 2014 |
Written in | Python |
Operating system | Cross-platform |
Type | Category:Python libraries |
License | BSD license |
Website | www |
Sources and destinations include different database backends, file formats like .csv, XML and spreadsheets. Even untidy HTML web pages can be used as both a source and destination.
For SQL/RDBMS backends, it has a database abstraction layer that supports basic connectivity to Postgres, MySQL, DB2, Oracle and MS SQL server[3]. It uses XML formats(the SQL schema is self-generated) for representation of queries, transformation and merging, making it all scriptable.
With regards to SQL, QAL uses a subset of SQL features[4] and data types[5], which while obviously not complete however is sufficient for most usages. It is however easy to instead use backend specific SQL when the queries do not have to be backend-agnostic.
It is currently distributed as a Python Library (.egg)[6] and a Debian package file(.deb)[7].
It is related to the Optimal BPM(Business Process Management) project. In fact, the Optimal BPM sourceforge project used to be DAL/QAL.[1]