Contents

bdewey/BookKit

Swift APIs for getting book information from popular web services

Code Overview

  • Book is the core abstration of a "book" made available from any of the common book-tracking sites / services. The properties on Book are meant to be about the book itself, as opposed to the relationship between the book and a person (like when the book was added to a library, or how a reader rates the book).
  • AugmentedBook extends Book to add the metadata that are personal to a particular person, like review/rating.
  • AugmentedBook+CSV.swift contains utilities for loading AugmentedBook structs from CSV files saved from Goodreads.
  • LibraryThing contains utilities for loading AugmentedBook structs from a JSON file saved from LibraryThing.
  • GoogleBooks contains utilities for searching for books from Google Books.
  • OpenLibrary contains utilities for downloading book covers from Open Library.

Changelog

Version 0.6 - 2023-12-22

  • Added Sendable annotations

Version 0.5 - 2021-09-25

  • When parsing LibraryThing JSON, "date" is now truly optional.

Version 0.4 - 2021-09-10

  • Add an async OpenLibrary.coverImage method

Version 0.3 - 2021-08-13

  • Persist Google "categories" & LibraryThing "genres" as tags on the Book.

Version 0.2.1 - 2021-07-07

Bugfix: Calling ReadingHistory.finishReading() now sets hasRead to true

Version 0.2 - 2021-07-05

Added ReadingHistory

Version 0.1 - 2021-06-27

Initial version.

Package Metadata

Repository: bdewey/BookKit

Stars: 6

Forks: 0

Open issues: 0

Default branch: main

Primary language: swift

License: Apache-2.0

README: README.md