Change & Version Information

The following is a summary of changes and improvements to eulexistdb. New features in each version should be listed, with any necessary information about installation or upgrade notes.


  • Updated and tested for compatibility with eXist-db 2.2
  • Improved eulexistdb.query.QuerySet efficiency when retrieving results (now retrieves chunked results using eXist REST API, making fewer requests to the server)
  • Simple xml-based query syntax now supported via eulexistdb.query.XmlQuery
  • Updated for compatibility with current versions of Django
  • Now uses requests <> for REST API access and as XML-RPC transport for improved handling and connection pooling.


  • Unittest2 and Django test runner are now optional when using testutils.


  • Basic support for preceding/following/preceding-sibling/following-sibling queries when returning additional fields from a query via XmlModel.
  • Bugfix: support xml returns for xpaths ending with node() or *


  • New method for sorting a eulexistdb.query.QuerySet by a raw XPath, for those cases when the desired sort xpath cannot be specified as an xmlmap field: eulexistdb.query.QuerySet.order_by_raw()
  • The Django script for managing eXist-DB index configuration files now takes optional username and password credentials, for use with sites that run in guest mode or with limited access.
  • bugfix: QuerySet greater than and less than filters no longer assume numeric values should be treated as numbers, to allow comparison of string values of numbers.
  • bugfix: Xquery now correctly generates xqueries with more than one where statement.




  • Development requirements can now be installed as an optional requirement of the eulexistdb package (pip install "eulexistdb[dev]").
  • Unit tests have been updated to use nose
  • Provides a nose plugin to set up and tear down an eXist database collection for tests, as an alternative to the custom test runners.


  • Update to latest released version of eulxml (0.18.0) with backwards-incompatible DateField/DateTimeField change.

0.15.1 - Bugfix Release

  • Support Python 2.7.
  • Rearrange test code to support easier recombination.

0.15.0 - Initial Release

  • Split out existdb-specific components from eulcore; now depends on eulxml.