Skip to main content

Idiomatic access to digital objects in a Fedora Commons repository

Project description

EULfedora is a Python module that provides utilities, API wrappers, and classes for interacting with the Fedora-Commons Repository (versions 3.4.x and 3.5) in a pythonic, object-oriented way, with optional Django integration.

eulfedora.api provides complete access to the Fedora API, primarily making use of Fedora’s REST API. This low-level interface is wrapped by eulfedora.server.Repository and eulfedora.models.DigitalObject, which provide a more abstract, object-oriented, and Pythonic way of interacting with a Fedora Repository or with individual objects and datastreams.

eulfedora.indexdata provides a webservice that returns data for fedora objects in JSON form, which can be used in conjunction with a service for updating an index, such as eulindexer.

When used with Django, eulfedora can pull the Repository connection configuration from Django settings, and provides a custom management command for loading simple content models and fixture objects to the configured repository.

Dependencies

eulfedora currently depends on eulxml, rdflib, python-dateutil, pycrypto, soaplib.

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

Contact Information

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

libsysdev-l@listserv.cc.emory.edu

License

eulfedora is distributed under the Apache 2.0 License.

Development History

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

Developer Notes

To install dependencies for your local check out of the code, run pip install in the eulfedora 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 . "eulfedora[dev]"

Running the unit tests requires a Fedora Commons repository instance. Before running tests, you will need to copy test/localsettings.py.dist to test/localsettings.py and edit the configuration for your test repository.

To run all unit tests:

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

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

nosetests test.test_fedora.test_api
nosetests test.test_fedora:TestDigitalObject

To generate sphinx documentation:

cd doc
make html

Project details


Release history Release notifications

History Node

1.7.2

History Node

1.7.0

History Node

1.6.0

History Node

1.5.2

History Node

1.5.1

History Node

1.5.0

History Node

1.4.0

History Node

1.3.1

History Node

1.3.0

History Node

1.2.0

History Node

1.1.0

History Node

1.0.0

History Node

0.23.0

History Node

0.22.2

History Node

0.22.1

History Node

0.22.0

This version
History Node

0.21.0

History Node

0.20.0

History Node

0.19.3

History Node

0.19.1

History Node

0.19.0

History Node

0.18.1

History Node

0.18.0

History Node

0.17.0

History Node

0.16.0

History Node

0.15.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
eulfedora-0.21.0.tar.gz (107.8 kB) Copy SHA256 hash SHA256 Source None Oct 29, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page