pyexistdb is a Python 3 module that provides utilities and classes for interacting with the eXist-db XML Database in a pythonic, object-oriented way, with optional Django integration.
pyexistdb is a fork of eulexistdb which was originally created by the Digital Programs and Systems Software Team of Emory University Libraries.
pyexistdb.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, pyexistdb 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.
pyexistdb.db provides access to an eXist-db instance through eXist’s XML-RPC API.
Dependencies
pyexistdb currently depends on eulxml.
pyexistdb can be used without Django, but additional functionality is available when used with Django.
Contact Information
pyexistdb is maintained by The Research Software Company.
Please contact us at contact@chelem.co.il .
License
pyexistdb is distributed under the Apache 2.0 License.
Developer notes
To install dependencies for your local check out of the code, run pip install in the pyexistdb 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 . "pyexistdb[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=pyexistdb --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
Metadata
Release files for pyexistdb 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyexistdb-1.0.1.tar.gz | 70.8 kB | Without provenance | Details |
Release files / pyexistdb-1.0.1.tar.gz
| Download URL | pyexistdb-1.0.1.tar.gz |
|---|---|
| Size | 70.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
10c0db651d1a0590df49b43d0c60f935c83d395cf348db800390bf73cf100f68
|
|
BLAKE2b-256 checksum How to use checksums |
783dbfdc5057e2824f8af05dfd2d93a5717f97f1d57dedd894d064096044dd4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for pyexistdb 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.