New Component: streamlit-iiif-viewer — a new way to integrate IIIF viewers into your app

Hi,

I’m pleased to present streamlit-iiif-viewer, a new custom component that provides a simple interface to integrate IIIF-compliant viewers directly into your Streamlit apps — using the viewer of your choice (currently Tify and Mirador are supported).

For context, IIIF (International Image Interoperability Framework) is a set of open standards for delivering and describing high-quality images and metadata over the web.

It is increasingly adopted by cultural heritage institutions (libraries, museums, archives) and by the digital humanities community (but not only!).
The goal of IIIF is to ensure interoperable access to digitized (cultural) materials:
with IIIF, any viewer can display and annotate images from any institution that supports the protocol.

Why this streamlit integration?

While IIIF viewers are powerful, integrating them quickly into a Python or Streamlit workflow can be difficult — they are JavaScript-based and sometimes require complex configuration. streamlit-iiif-viewer aims to make this process fast, lightweight, and accessible, through a single high-level interface : iiif_viewer(viewer='mirador', manifest=manifest)

This combination of Streamlit and IIIF enables, for example, quick prototyping to build proofs of concept that combine IIIF and AI tools or simple DH apps.

This component can be use by any project that needs to visualize IIIF images within Streamlit. With the interface you can directly pass a IIIF manifest (via an URL) or a custom dictionary inside this interface.

Here is the demo of this package here: https://iiif-viewer.streamlit.app/

Install the package with:

pip install streamlit-iiif-viewer

The component will continue to evolve in the future (support additional IIIF viewers for example, improved metadata handling, more customization options. etc.).

2 Likes