Misplaced Pages

Query Abstraction Layer

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Query Abstraction Layer
Developer(s)Nicklas Börjesson
Initial releaseSeptember 2013 (2013-09)
Stable release0.4.0 / October 31, 2014 (2014-10-31)
Written inPython
Operating systemCross-platform
TypePython libraries
LicenseBSD license
Websitewww.optimalbpm.se/wiki/index.php/QAL

QAL is an open-source development project that aims to create a collection of libraries for mixing, moving, merging, substituting and transforming data; also in some cases, such as MongoDB, schemas.

Description

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 / MariaDB, IBM Db2, Oracle and MS SQL Server. It uses XML formats (the SQL schema is self-generated) for representation of queries, transformation and merging, making it all processable by scripts.

With regards to SQL, QAL uses a subset of SQL features and data types, 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) and a Debian package file (.deb).

It is related to the Optimal BPM (Business Process Management) project. The Optimal BPM SourceForge project used to be DAL/QAL.

References

  1. ^ Commits breaking it out of Optimal BPM
  2. Release news
  3. Sourceforge project page
  4. Database backends
  5. SQL features supported
  6. SQL data types
  7. PyPi repository page
  8. Downloadable files
  9. Optimal BPM site

 This article incorporates http://sourceforge.net/projects/qal/ text available under the CC0 license.

External links

Categories: