Package: bkwrm
Bookworm – a reading trackerBookworm is a command-line application that allows you to set a book reading goal and keep track of your progress
towards completing that goal. This is done by giving recommendations on how much you should read to stay on track
towards goal completion.Exampleuser$ bookworm

You are 16 days ahead on your goal to read 35 books by January 1, 2022

You have completed 10 books so far.

Fulfill one of these recommendations to stay on track:

2. Data Structures & Algorithms in Python – You need to read from page 171 to page 208 today.
3. The Great Game – You need to read from 7:07:37 to 8:26:46 today.
6. A Tale of Two Cities – You need to read from 69% to 76% today.
8. Invisible Women: Data Bias In A World Designed For Men – You need to read from 4:53:59 to 5:37:49 today.Table of ContentsBookworm – a reading trackerExampleTable of ContentsInstallation & Initial SetupSetting a goalGuideAdding your first bookAdding Audiobooks with length measured in time, and (e-)Books measured in per cent completeUpdating a bookDropping a bookGetting recommendationsCommandsGoal commandsBook commandsRecommendation commandsLicenceInstallation & Initial SetupBookworm is available through PyPi and can be installed withpip$ pip install bkwrmSetting a goalOnce successfully installed, the program can be invoked by typingbookworminto the command line.$ bookwormIf you do not have a goal set, this command will walk you through the goal set-up process.$ bookworm
How many books would you like to read? >>> 30
By when do you want to achieve this goal? [YYYY-MM-DD] >>> 2022-01-01If you already have a goal set, thebookwormcommand will give you recommendations to help you stay on track.GuideAdding your first bookYou can add a book by invoking theadd_bookorabcommand for short.Three additional arguments are required:title,pages read, andtotal pages.$ bookworm ab "The Future Is Faster Than You Think" 12 269Note: The title must be placed inside quotation marks if longer than one word. Total pages must be greater than pages
read.Adding Audiobooks with length measured in time, and (e-)Books measured in per cent completeNot all books have pages and page numbers. Bookworm allows you to add books with lengths measured in hours (HH:MM:SS),
and per cent complete (out of 100).To change the way book length is measured, use the-for-FORMATtag.There are three formats to choose from:bookorb(the default), for books measured in pages.audiobookorab, for books measured in time (HH:MM:SS)ebookoreb, for books measured in per centage.Example 1 (Audiobooks):$ bookworm ab -f ab "Deng Xiaoping and the Transformation of China" 2:13:16 32:37:49Example 2 (E-Books):$ bookworm ab -f eb "The Skeptics Guide to the Universe" 78 100(note: no per centage other than 100 can be selected for e-books)WARNING: Once you have selected a format, there is no way to change it later.Updating a bookWhen you callbookwormyou will be shown reading recommendationsuser$ bookworm

You are 16 days ahead on your goal to read 35 books by January 1, 2022

You have completed 10 books so far.

Fulfill one of these recommendations to stay on track:

2. Data Structures & Algorithms in Python – You need to read from page 171 to page 208 today.
3. The Great Game – You need to read from 7:07:37 to 8:26:46 today.
6. A Tale of Two Cities – You need to read from 69% to 76% today.
8. Invisible Women: Data Bias In A World Designed For Men – You need to read from 4:53:59 to 5:37:49 today.In the example above, the numbers 2, 3, 6, and 8 are known as theIDsof the book. As opposed to writing the title
every time you want to update your reading progress, you will use this ID.To update your reading progress, add the commandupdate_bookoruporub, choose the ID of the book you
want to update, and add in a page number.In the example above, to update A Tale of Two Cities (ID #6) so that it is 81% read, you would do the following$ bookworm up 6 81This will update your reading progress and give you new recommendations. To update Audiobooks, add in your progress in
HH:MM:SS.$ bookworm up 8 6:02:04Dropping a bookFor the time being, once you start a book you are obligated to complete it! The ability to drop books is planned for
future releases.Getting recommendationsTypingbookwormwill get you the reading recommendations you need to stay on track.user$ bookworm

You are 16 days ahead on your goal to read 35 books by January 1, 2022

You have completed 10 books so far.

Fulfill one of these recommendations to stay on track:

2. Data Structures & Algorithms in Python – You need to read from page 171 to page 208 today.
3. The Great Game – You need to read from 7:07:37 to 8:26:46 today.
6. A Tale of Two Cities – You need to read from 69% to 76% today.
8. Invisible Women: Data Bias In A World Designed For Men – You need to read from 4:53:59 to 5:37:49 today.If you areaheadon your goal ("You are 16 days ahead on your goal"), recommendations will be made so that if you
followed through on them, you will be an additional day ahead on your goal. In this case, 17 days ahead.In the case you arebehindon your goal, recommendations will be made so that if you followed throgh on them, you
would have caught up to where you should be: neither behind or ahead, but on track.If you areverybehind on your goal, but want a small achievable goal you can reach, typing inbookworm next_dayorbookworm ndwill give you recommendations so that you are one less day behind on your goal.user$ bookworm nd

You are -40 days behind on your goal to read 30 books by January 1, 2022

You have completed 10 books so far.

7. India After Gandhi – You need to read from page 20 to page 31 today.
12. Welcome to the Universe: An Astrophysical Tour – You need to read from page 47 to page 51 today.In this case, following through on the above "next day" recommendations will drop the days behind counter from -40 to
-39.CommandsThe following is a full list of commands and their options. This list can be accessed withbookworm -hand a list
of arguments can be viewed withbookworm [command] -hGoal commandsadd_goal- add a new book reading goal (you may only have one at a time).ag- shorthand for add_goalupdate_goal- make changes to the goal in progress (book goal, target date).ug- shorthand for update_goal.Book commandsadd_book- add a book to your self.ab- shorthand for add_book.update_book- update the properties of a book on your shelf.up- shorthand for update_book.ub- shorthand for update_book.drop_book- drop or delete a book from the shelf. (unimplemented)db- shorthand for drop_bookdp- shorthand for drop_bookRecommendation commandsnext_day- get recommendations so that you are one day closer to completing your goal if you follow through.nd- shorthand for next_day.all- show list of recommendations as well as list of books you have already completed (hidden by default).LicenceThe source code for this app is licensed under the MIT licence, which you can find in the LICENCE file.