Create a program that allows a user to keep track of their books.

The program should prompt the user for the following information:

  • Title
  • Author
  • Genre
  • Number of pages
  • Status (read/unread)

The program should also have the ability to store this information in a structure (such as a list or dictionary) and allow the user to:

  • Add a new book
  • Delete a book
  • Search for a book (by title)
  • Sort the books by title, author, genre, or number of pages
  • Update the status of a book (from read to unread, or vice versa)

The program should also be able to save the book list to a file, and load a previously saved book list from a file.

Program should have the ability to manage library clients, load and save their details to a file, and allow the user to search for a client by name, or by ID number.

Program should have the ability to track which books are currently checked out, and to whom.