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

eulfedora is a Python module that provides utilities, API wrappers, and classes for interacting with the Fedora-Commons Repository in a pythonic, object-oriented way, with optional Django integration. Current versions of eulfedora are intended for use with Fedora Commons 3.7.x or 3.8.x, but will likely work with earlier versions. If you need support for an earlier version of Fedora and the latest eulfedora does not work, you may have success with the 1.0 release.

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 the tests, you should set an environment variable of DJANGO_SETTINGS_MODULE equal to testsettings.test or prefix the nosetests command with env DJANGO_SETTINGS_MODULE=testsettings.test.

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

To upload a tagged release to PyPI with a wheel package:

python setup.py sdist bdist_wheel upload

To upload new artifacts for previously published versions, use twine.

Release files for eulfedora 1.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eulfedora 1.7.2
File Size Uploaded
eulfedora-1.7.2.tar.gz 148.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for eulfedora 1.7.2
File Interpreter ABI Platform
eulfedora-1.7.2-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 328.7 kB

Release files / eulfedora-1.7.2.tar.gz

Download URL eulfedora-1.7.2.tar.gz
Size 148.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ee6a4f149dbf60b8b5019f735c79f7a4f0ac58036f38f71ed3cfbb278a495d26
BLAKE2b-256 checksum
How to use checksums
9acf8fdb552d5e735aca83a53376fb92acd8f83e2f7b4ee2069de3874d5998be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / eulfedora-1.7.2-py2.py3-none-any.whl

Download URL eulfedora-1.7.2-py2.py3-none-any.whl
Size 180.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
67f73f8505706477a2c79d4e768a6eb3f31e548f0b73597653a7a9d026a05f6e
BLAKE2b-256 checksum
How to use checksums
248b0620916a57b4964dc346c73b5e39f259b56f575ea1a2d2b600bcfdc733de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.7.2 This release

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

1 release file

1.4.0

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.23.0

1 release file

0.22.2

1 release file

0.22.1

1 release file

0.22.0

1 release file

0.21.0

1 release file

0.20.0

1 release file

0.19.3

1 release file

0.19.1

1 release file

0.19.0

1 release file

0.18.1

1 release file

0.18.0

1 release file

0.17.0

1 release file

0.16.0

1 release file

0.15.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page