Création et dépôt de manifestes IIIF pour des données déposées sur Nakala
Project description
La librairie niiif-niiif crée et publie le manifeste IIIF des fichiers JPEG et TIFF d'une donnée Nakala.
Nakala est un service de la TGIR (Très Grande Infrastructure de Recherche) Huma-Num permettant à des chercheurs, enseignants-chercheurs et équipes de recherche de partager, publier et valoriser tous types de données numériques documentées (fichiers textes, sons, images, vidéos, objets 3D, etc.) dans un entrepôt sécurisé afin de les publier en accord avec les principes du FAIR data (Facile à trouver, Accessible, Interopérable et Réutilisable).
Les images déposées sur Nakala sont accessibles à travers une API compatible avec IIIF Image API 3.0 mais Huma-Num ne propose pas de service de création de manifestes, ces fichiers JSON qui permettent la lecture des images par des visionneuses compatibles avec le protocole IIIF.
La librarie Python niiif-niiif propose donc de palier temporairement à ce manque.
Plus précisément, niiif-niiif :
- Vérifie si la donnée Nakala dont l'identifiant lui est donné en paramètre existe. Le cas échéant,
- Supprime s'il existe l'ancien fichier metadata.json des fichiers de la donnée,
- Crée un manifeste IIIF à partir des fichiers JPEG ou TIFF de la donnée Nakala,
- Ajoute à la donnée Nakala le fichier metadata.json contenant le manifeste.
Vous pouvez ensuite copier l'URL de téléchargement du fichier metadata.json et la transmettre à une visionneuse IIIF (ex. Mirador).
L'URL d'un fichier déposé sur Nakala est unique. L'URL du manifeste d'une donnée changera donc à chaque fois que vous le créerez avec niiif-niiif. Pensez à soumettre cette nouvelle URL à la visionneuse.
Le serveur d'image IIIF Cantaloupe utilisé par Nakala n'étant compatible qu'avec IIIF Image API 3.0, niiif-niiif génère depuis sa version 0.2.0 des manifestes conformes à IIIF Presentation API 3.0.
Depuis la version 0.2.0, il est possible de préciser en paramètre si le document doit-être affiché de manière paginée (voir la propriété behavior de IIIF Presentation API 3.0).
Les manifestes de niiif-niiif ont été testés avec les visionneuses IIIF suivantes :
- UniversalViewer v3.0 : Il y a un bug d'affichage des vignettes de manifestes API Presentation 3.0 avec UV 3.x.
- UniversalViewer v4.0 : Il y a un bug d'affichage des vignettes de manifestes API Presentation 3.0 avec UV 4.x.
- TIFY : Problème d'affichage
- Mirador : OK
Installation
Pour utiliser le script, utilisez de préférence un gestionnaire d'environnement Python tel que Miniconda.
# Vous pouvez définir le nom de l'environnement Python à votre convenance avec le paramètre -n.
conda create -n niiif-niiif python=3.8
# Activez l'environnement
conda activate niiif-niiif
# Installez la librairie niiif
pip install niiif-niiif
Utilisation
Le script a besoin pour fonctionner des clés d'API d'un compte utilisateur Nakala ayant des droits d'écriture sur la donnée Nakala pour laquelle vous souhaitez créer un manifeste. Cette clé d'API est à créer et à copier depuis le profil du compte Nakala.
En ligne de commande
# Activez l'environnement (si ce n'est pas déjà fait)
conda activate niiif-niiif
# Pour afficher les arguments du script
python -m niiif -h
# Pour créer le manifeste de la donnée Nakala dont l'ID = 10.34847/nkl.12121212 avec un affichage paginé dans la visioneuse IIIF de votre choix (le paramètre -behavior est optionnel)
python -m niiif -apikey 12345678-12345678-1234578-12345678 -dataid 10.34847/nkl.12121212 -behavior paged
Dans un script Python
La fonction create_data_manifest_if_data_exists(apiKey, dataIdentifier)
peut être importée depuis un script Python.
# Activez l'environnement (si ce n'est pas déjà fait)
conda activate niiif-niiif
# Lancez python
python
>>> from niiif import create_data_manifest_if_data_exists
>>> create_data_manifest_if_data_exists(apiKey='12345678-12345678-1234578-12345678', dataIdentifier='10.34847/nkl.12121212')
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 Distribution
Hashes for niiif_niiif-0.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8d7cf19600ef69d2f028b66b53de5edde5550e52d7df91599c776eb38e5444d |
|
MD5 | 5624aad782c5b07a04ad48de750a1a13 |
|
BLAKE2b-256 | 47dd1da18e50ef5d0e1c3f51872932d51e86132de12a496d1ac611b69affe043 |