Skip to main content

Idiomatic access to the eXist-db XML Database using XPath and XQuery

Project description

package
PyPI License PyPI downloads
documentation
Documentation Status
code
travis-ci build Code Coverage Code Climate Code Health Requirements Status

EULexistdb is a Python module that provides utilities and classes for interacting with the eXist-db XML Database (tested against version 2.2) in a pythonic, object-oriented way, with optional Django integration.

eulexistdb.db provides access to an eXist-db instance through eXist’s XML-RPC API.

eulexistdb.query provides a QuerySet class modeled after Django QuerySet in functionality. This module provides model and manager classes that can be used to connect an eulxml XmlObject with the QuerySet class, in order to generate XQueries and return the results as XmlObject instances. However, configuring the XmlObject XPaths to make efficent XQueries against eXist and take advantage of the full-text index does require expertise and familiarity with eXist.

When used with Django, eulexistdb can pull the database connection configuration from Django settings, provides a custom management command for working with the collection index configuration index in the configured eXist database, and also provides a custom template tag that can be used to highlight full-text search matches.

Dependencies

eulexistdb currently depends on eulxml.

eulexistdb can be used without Django, but additional functionality is available when used with Django.

Contact Information

eulexistdb was created by the Digital Programs and Systems Software Team of Emory University Libraries.

libsysdev-l@listserv.cc.emory.edu

License

eulexistdb is distributed under the Apache 2.0 License.

Development History

For instructions on how to see and interact with the full development history of eulexistdb, see eulcore-history.

Developer notes

To install dependencies for your local check out of the code, run pip install in the eulexistdb directory (the use of virtualenv is recommended):

pip install -e .

If you want to run unit tests or build sphinx documentation, you will also need to install development dependencies:

pip install -e . "eulexistdb[dev]"

Running the unit tests requires an eXist-DB database instance. Before running tests, you will need to copy test/localsettings.py.dist to test/localsettings.py and edit the configuration for your test instance of eXist.

To run all unit tests:

nosetests test/ # for normal development
nosetests test/ --with-coverage --cover-package=eulexistdb --cover-xml --with-xunit   # for continuous integration

To run unit tests for a specific module, use syntax like this:

nosetests test/test_existdb/test_db.py

To generate sphinx documentation:

cd doc
make html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eulexistdb-0.21.1.tar.gz (68.5 kB view details)

Uploaded Source

Built Distribution

eulexistdb-0.21.1-py2-none-any.whl (53.4 kB view details)

Uploaded Python 2

File details

Details for the file eulexistdb-0.21.1.tar.gz.

File metadata

  • Download URL: eulexistdb-0.21.1.tar.gz
  • Upload date:
  • Size: 68.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for eulexistdb-0.21.1.tar.gz
Algorithm Hash digest
SHA256 27c3bf3ca924af58f3ed509d6d83ea25fa333201680ad3568cccd8a99971a94d
MD5 85356fe987ed531f85ed1c38bfeb68b6
BLAKE2b-256 e349179bfb72589db83164682e35c657fdadce5bf67374229cfcc4ed54bc877b

See more details on using hashes here.

File details

Details for the file eulexistdb-0.21.1-py2-none-any.whl.

File metadata

File hashes

Hashes for eulexistdb-0.21.1-py2-none-any.whl
Algorithm Hash digest
SHA256 121c91bebe0250780ff7602f33774808b3c1e21f2a2ea6d05f7a550e8f307a96
MD5 eedf629f2bfca302864f9c4f41287112
BLAKE2b-256 e3a1b8706d1be13846c91a8515832fb8318f357bb66f4c31ac0c233629bfb99e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page