Skip to main content

A Python package to download images from IIIF manifests

Project description

Download images from IIIF manifests

PyPI - Version PyPI - Python Version Test Status

This repository contains code to download images from IIIF manifests. It takes into account limitations and data specificities from various institutions.

pip install iiif-download

Basic usage

The configuration is stored in iiif_download/config.py and can be overridden by setting environment variables.

Inside a script

from iiif_download import IIIFManifest, config, Config

# Override the default configuration
config.max_size = 2500
config.img_dir = "custom/path/to/images"

manifest_url = "https://example.org/manifest"

# Use global config
manifest = IIIFManifest(manifest_url)

# or override the global config for a specific manifest
manifest = IIIFManifest(
    manifest_url,
    # surcharge any global attribute locally
    img_dir="path/to/dir",
    max_size=4000
)

# or define another config
manifest = IIIFManifest(manifest_url, config=Config(is_logged=False))

# Download images from a manifest inside img_dir/dir_name
manifest.download(save_dir="dir_name")

Command line

# override specific variables
export IIIF_IMG_DIR=custom/path/to/images
export IIIF_MAX_SIZE=4000
export IIIF_DEBUG=True
# or use .env
source .env

iiif-download https://example.org/manifest
iiif-download -f test-manifests.txt
iiif-download -d custom/path/to/images https://example.org/manifest

Metadata extraction

from iiif_download import IIIFManifest

manifest = IIIFManifest("https://example.org/manifest")
manifest.load()
lic = manifest.license
author = manifest.get_meta("author")
images = manifest.images

Development

Install locally

python -m venv venv && source venv/bin/activate
pip install -e ".[dev]"

Run tests

pytest
# pre-commit install
pre-commit run --all-files

Publish on PyPi

git tag v<*.*.*> && git push origin v<*.*.*>

Project details


Download files

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

Source Distribution

iiif_download-0.1.16.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iiif_download-0.1.16-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file iiif_download-0.1.16.tar.gz.

File metadata

  • Download URL: iiif_download-0.1.16.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for iiif_download-0.1.16.tar.gz
Algorithm Hash digest
SHA256 86f0f8858a0e5ca7a2f3ce5ba66ca61cc3521bbdb697484d6acb67054768e314
MD5 d44aea672fd9420df6850e034dc757f6
BLAKE2b-256 0a8f84d1cd1cddcaeca82f43cbef95bfeb0ea87d085b0c707e2e28d2789ae45d

See more details on using hashes here.

Provenance

The following attestation bundles were made for iiif_download-0.1.16.tar.gz:

Publisher: release.yml on Segolene-Albouy/iiif-download

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iiif_download-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: iiif_download-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for iiif_download-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 b01f835c4ba2cc096697d86236ed7f6ce58c77c195ee689b0473bdb54618522b
MD5 a4a0311dfdbee56c926b6a5a4ac04c03
BLAKE2b-256 cdc2a76e966afa76f04f8a2358d30acf27b33f310e2f9ee94560b21a10442c90

See more details on using hashes here.

Provenance

The following attestation bundles were made for iiif_download-0.1.16-py3-none-any.whl:

Publisher: release.yml on Segolene-Albouy/iiif-download

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page