Generated by GPT-5-mini| YAZ toolkit | |
|---|---|
| Name | YAZ toolkit |
| Developer | Index Data |
| Released | 1995 |
| Operating system | Unix-like, Windows |
| Platform | Cross-platform |
| Genre | Library, client-server toolkit |
| License | GPL-compatible (dual commercial options) |
YAZ toolkit
YAZ toolkit is a cross-platform C library and set of utilities for implementing information retrieval and metadata services, originally produced by Index Data. It provides tools for building clients and servers that communicate using standards associated with bibliographic and library metadata, enabling interoperability among systems such as catalogues, digital repositories, and indexing services. The toolkit emphasizes protocol compliance, extensibility, and performance, and has been used in conjunction with many established bibliographic systems and institutional infrastructures.
YAZ toolkit was created by Index Data to support implementations of the Z39.50 family of protocols and related standards in library and information environments. It has been paired with projects and organizations such as the British Library, Library of Congress, OCLC, and national libraries in Scandinavia and Europe. The toolkit offers both client and server capabilities, facilitating integration with systems like Koha, Evergreen, DSpace, and VuFind while interoperating with registries, union catalogues, and interlibrary loan platforms. YAZ played a role in initiatives linked with MARC standards, Dublin Core efforts, and international metadata exchange projects.
YAZ toolkit implements a variety of features useful for bibliographic and metadata services. It supports the Z39.50 protocol and the ISO/IEC standards surrounding Search and Retrieve, as used by services like Research Libraries UK and the European Library. The toolkit includes support for SRU/SRW web services commonly used by institutions such as the National Library of Australia and Library and Archives Canada. YAZ provides MARC record handling compatible with MARC21 and UNIMARC formats used by the Library of Congress and the British Library, and implements character encoding support relevant to Unicode and ISO standards that affect projects by UNESCO and the Council of Europe.
YAZ toolkit is organized as a core C library paired with command-line utilities and server frameworks. The core exposes APIs for client applications and server backends used by projects such as Ex Libris and Innovative Interfaces. Components include a Z39.50/SRW client layer employed in services similar to WorldCat integrations, a server framework analogous to appliances used by the Swedish National Library, MARC parsing modules compatible with formats applied at the Bibliothèque nationale de France, and indexing hooks that integrate with search engines used by institutions like the Library of Congress. The architecture separates network protocol handling, record serialization, and storage backends, enabling connectors for systems such as SQL databases, XML repositories, and proprietary catalogues used by national archives.
YAZ toolkit implements protocol support for Z39.50, SRU (Search/Retrieve via URL), SRW (Search/Retrieve Web service), and related ISO standards. It supports diagnostic and query syntax elements that align with Z39.50 profiles adopted by organisations like the National Information Standards Organization and the International Federation of Library Associations and Institutions. The toolkit understands metadata formats including MARC21, UNIMARC, and Dublin Core, enabling interoperability with protocols and registries used by the European Commission and the International DOI Foundation. YAZ also handles ASN.1 and BER encoding as required by protocol specifications and aligns with character set conventions relevant to Unicode Consortium and IETF standards.
YAZ toolkit is used to build gateway services, harvesters, and search clients. Example deployments include connectors that federate queries to union catalogues like COPAC and catalogues mirrored by the National Library of Scotland. Developers integrate YAZ with content management and repository platforms such as DSpace and Fedora Commons, and with discovery layers like Primo and Blacklight. Typical examples include building an SRU endpoint to expose MARCXML records to aggregators such as Europeana, creating a Z39.50 client that queries WorldCat or the National Library of Medicine, and implementing an SRW wrapper for institutional repositories participating in projects similar to OpenAIRE.
Development of YAZ toolkit has been driven by Index Data with contributions and feedback from academic libraries, cultural heritage institutions, and commercial vendors. The codebase is written primarily in C and distributed under a GPL-compatible license with commercial licensing options available for enterprises needing different terms. The project has been maintained alongside community discussions involving standards bodies like ANSI/NISO and ISO, and has evolved to address security advisories and platform portability concerns raised by administrators at national bibliographic agencies and large consortia.
YAZ toolkit has seen adoption across national libraries, university libraries, and consortia in Europe, North America, and Australasia. Implementations include integrations with local catalogue systems in institutions such as the British Library, the Library of Congress, and the National Library of Norway, as well as use by bibliographic utilities similar to OCLC and CERL. Commercial library system vendors and open-source projects have incorporated YAZ components into middleware, discovery services, and data exchange pipelines used in grant-funded initiatives and long-running collaborative projects sponsored by entities such as the European Commission and national research councils.
Category:Library and information science software