Tools for working with EAD XML files.
Project description
26th September 2013 (2013-09-26)
Contents
Description
The EAD Toolbox provides a number of tools for working with Encoded Archival Description (EAD) XML documents.
Current capabilities include validation to the DTD, cross-walk to other metadata schemas, and extraction and display of subjects and named entities.
It also includes a web-based user interface for validating, cross-walking and extracting data from your own EAD files, provided via a Python WSGI compliant web application
Latest Version
Latest version is available from PyPI: https://pypi.python.org/pypi/eadtoolbox
Source code is under version control and available from: https://github.com/bloomonkey/ead-toolbox
Documentation
All executable commands are self documenting, i.e. you can get help on how to use them with the -h or --help option. e.g.
ead-validate --help
At this time the only additional documentation that exists can be found in this README file!
Requirements / Dependencies
Installation
Users
pip install eadtoolbox
Developers
I recommend that you use virtualenv to isolate your development environment from system Python and any packages that may be installed there.
In GitHub, fork the repository
Clone your fork:
git clone git@github.com:<username>/ead-toolbox.git
Install dependencies:
pip install -r requirements.txt
Install in develop / editable mode:
pip install -e .
Examples
Command-line
EAD Validation
To validate using the EAD 2002 DTD:
ead-validate FILE [FILE [...]]
The EAD Toolbox currently only supports validation using the EAD 2002 DTD. I hope to add validation using the XSD schema in the near future.
Web-based GUI
The features availble though the commnad-line can also be accessed, and made available to other users over a local network or the web, through the EAD Sandbox application. Run the application using the following command:
ead-sandbox [--hostname=HOSTNAME] [--port=PORT]
This will start a quick demonstration WSGI server (not recommended for production use) to serve the application, and also open the application in a new browser window/tab if possible. If you don’t want the browser window/tab, you can launch the application with the --no-browser option:
ead-sandbox --no-browser [--hostname=HOSTNAME] [--port=PORT]
Python API
EAD Validation
from lxml import etree
from eadtoolbox.validate import EAD2002DTDValidator
ead = etree.parse(open('eadfile.xml', 'r'))
validator = EAD2002DTDValidator()
if validator.validate(ead):
print "VALID"
else:
print "INVALID"
for e in validator.errors:
print str(e)
Bugs, Feature requests etc.
Bug reports and feature requests can be submitted to the GitHub issue tracker: http://github.com/bloomonkey/ead-toolbox/issues
If you’d like to contribute code, patches etc. please email the author, or submit a pull request on GitHub.
Copyright & Licensing
Copyright (c) University of Liverpool, 2010-2013
See LICENSE.rst for licensing details.
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.