Skip to content
Giacomo Marchioro edited this page May 26, 2022 · 3 revisions

Welcome to the pyIIIFpres wiki!

Look at the sidebar for a list of topics and read the getting started section to understand how to use the module.

The philosophy of this package is to try to create an isomorphic class structure based on IIIF presentation API, knowing the IIIF standard and Python and autocomplete ideally should be the only requirements to get started.

Workaround for the common errors

One of the aims of this package is to prevent any possible error in the production and consumption of the manifest. The choice of this philosophy arises from years of finding poor metadata around the web.

At the same time, pyIIIFpres should offer always an easy workaround in case the threat is actually under control.

These global variables are lists or strings that you can modify to allow your specific case they are built from possible threads and recommendations from RFC and IANA and IIIF but in some cases, they can prevent correct choices:

from IIIFpres import iiifpapi3
iiifpapi3.INVALID_URI_CHARACTERS
iiifpapi3.LANGUAGES
iiifpapi3.BEHAVIOURS
iiifpapi3.MEDIATYPES

See the documentation on how to modify them.

There are more drastic approaches to modifying these variables like setting the value of a property without the set_ method for instance homepage.set_format("myinvalid/format") can be set directly like this homepage.format = "myinvalid/format".

Eventually, all the checks can be disabled running your script using the optimization flag:

python -O myscript.py