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.15.tar.gz (25.7 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.15-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for iiif_download-0.1.15.tar.gz
Algorithm Hash digest
SHA256 c52ca2bfa3fb1b4f83ff84b6fb19317243d929896fde1a8b3a9947070568de1e
MD5 65ebfa53124024cd251a09c29853aa1e
BLAKE2b-256 51933daef1834cae73700fbaea5e6c632c5a2f58aa7d91213bf7530f40984c3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for iiif_download-0.1.15.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.15-py3-none-any.whl.

File metadata

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

File hashes

Hashes for iiif_download-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 430d42d1ed3d94cfacb5108909215d2607b2b86a6527138432af3acb250fee17
MD5 9286f9d8c1d62e501efd510a9af2f7fd
BLAKE2b-256 20e53a911c58a927b91500951041d0443717fca665f12371c9f0b4ca83ad82b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for iiif_download-0.1.15-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