Skip to content
A Swift and Objective-C library for interacting with libraries using the Z39.50 protocol.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
BibCoding
Bibliotek.playground
Bibliotek.xcodeproj
Bibliotek
BibliotekTests
libyaz @ 52e2b4c
.gitignore
.gitmodules
Brewfile
LICENSE
README.md
configure

README.md

Bibliotek

A Swift and Objective-C library for communicating with library databases using the Z39.50 protocol, powered by YAZ.

Usage Example

import Bibliotek

Connect to the Library of Congress's VOYAGER database.

let connection = try! Connection(host: "z3950.loc.gov", port: 7090, database: "VOYAGER")

Create a request to find books with some ISBN number.

let request = FetchRequest(keywords: ["9780385527880"], scope: .isbn)

Submit the request to a connection to receive results.

let records = try! connection.fetchRecords(request: request)

With a record, you can access information about the title, author, subject, and more.

let record = records.first as! BibliographicRecord
record.isbns
record.callNumbers
record.titleStatement
record.author
record.editions
record.publications
record.contents
record.summaries
record.subjectHeadings

Instructions

Clone the repository and all its submodules to your local machine.

    git clone --recurse-submodules https://github.com/Altece/Bibliotek.git

When you build the Bibliotek target for the first time, the ./configure script will be run to install prerequisite tools with Homebrew before proceeding to build YAZ into the project's build product's directory.

References

Z39.50 Endpoints

Official Specifications from the Library of Congress

OCLC Documents

Cataloger's Reference Shelf

YAZ Documentation from IndexData

Other Specifications

Other Sources

You can’t perform that action at this time.