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.18.tar.gz (26.3 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.18-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: iiif_download-0.1.18.tar.gz
  • Upload date:
  • Size: 26.3 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.18.tar.gz
Algorithm Hash digest
SHA256 61f729ec67ec8d35189429a5595e391ef18d3f38d4bc20ccc5331c3c740528a4
MD5 d04fb53ab9d3a80c305f318ac8c3a26a
BLAKE2b-256 2d0ff6aad2cf23fd7774a11591330ca03882cd66c1fbec110449d65eb1970d83

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: iiif_download-0.1.18-py3-none-any.whl
  • Upload date:
  • Size: 26.2 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.18-py3-none-any.whl
Algorithm Hash digest
SHA256 eddff0db471bdb96b84032c3fd106144ce9057b3be88d3443ccb1a84b2ebd29a
MD5 dc5d175a3858dc0f169dd8778cf00fd6
BLAKE2b-256 b5c23b11b47968199e8037a5b076e367b7111ee6c95b557e1cb4c13344e60df2

See more details on using hashes here.

Provenance

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