XPath-based XML data binding, with Django form support
Project description
eulxml is a Python module that provides utilities and classes for interacting with XML that allow the definition of re-usable XML objects that can be accessed, updated and created as standard Python types, and a form component for editing XML with Django forms.
eulxml.xpath provides functions and classes for parsing XPath expressions using PLY.
eulxml.xmlmap makes it easier to map XML to Python objects in a nicer, more pythonic and object-oriented way than typical DOM access usually provides. XML can be read, modified, and even created from scratch (in cases where the configured XPath is simple enough to determine the nodes that should be constructed).
eulxml.forms provides Django Form objects that use eulxml.xmlmap.XmlObject instances as the basis and data instance for the form, with the goal of making it easy to edit XML content via web forms.
Dependencies
eulxml depends on PLY and lxml.
eulxml.forms requires and was designed to be used with Django, although Django is not required for installation and use of the non-form components of eulxml.
Contact Information
eulxml was created by the Digital Programs and Systems Software Team of Emory University Libraries.
License
eulxml is distributed under the Apache 2.0 License.
Development History
For instructions on how to see and interact with the full development history of eulxml, see eulcore-history.
Developer notes
As of version 1.1, eulxml provides an XML catalog for loading schemas referenced by included XmlObject instances. Requests is required for downloading schemas, but it is not a dependency of eulxml. The catalog and schemas will be included in distributed releases, but if you want to use the catalog when installing directly from GitHub you can use a normal pip install and then run:
python -c 'from eulxml.catalog import generate_catalog; generate_catalog()'
To install dependencies for your local check out of the code, run pip install in the eulxml 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 . "eulxml[dev]"
To run all unit tests:
nosetests # for normal development nosetests --with-coverage --cover-package=eulxml --cover-xml --with-xunit # for continuous integration
To run unit tests for a specific module, use syntax like this:
nosetests test/test_xpath.py
To generate sphinx documentation:
cd doc make html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file eulxml-1.1.3.tar.gz
.
File metadata
- Download URL: eulxml-1.1.3.tar.gz
- Upload date:
- Size: 251.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2df44fc91428db2d1089d399789f5d36dcc6cbef24c3149c65672fcb81beca3 |
|
MD5 | ecdc0fe0cd200dbbd54330deb35433ba |
|
BLAKE2b-256 | c75dbaf644154d180eee580860fdca4eafe43dfd18f0159f9425f635635a667b |
File details
Details for the file eulxml-1.1.3.macosx-10.10-intel.tar.gz
.
File metadata
- Download URL: eulxml-1.1.3.macosx-10.10-intel.tar.gz
- Upload date:
- Size: 254.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a673aa906502cfb69e5cfc7c30346b1507f73da789c7c2b2c29fea5d38d278fa |
|
MD5 | c1635c045b770b46688cace9afb5a52b |
|
BLAKE2b-256 | 0d34a5e6bb192e1efdbb15d597d65c73d9af0584d15b292b2b2399fb9cb147bd |
File details
Details for the file eulxml-1.1.3-py2.py3-none-any.whl
.
File metadata
- Download URL: eulxml-1.1.3-py2.py3-none-any.whl
- Upload date:
- Size: 216.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e981607d6b44fc6f409717dbaf17505846c5c69300b837f854d942471e026213 |
|
MD5 | 6303e94b311f5a58909e5b297a942f18 |
|
BLAKE2b-256 | 4f83e254c3aa358bb92fbf91047d19676900bf3bce18cbc6fe9190524db7346c |