Send a quote from your Kindle library to your mobile phone daily to continuously reinforce what you read
Currently supported on MacOS only, since the scheduling capability is powered by a daemon on launchd. If you use a different OS, you will need to replace the daemon defined in launchd.kindle.daemon.plist
with a cron job for Linux or Task Scheduler job for Windows.
- Plug your Kindle into your machine via USB
- A drive titled Kindle should appear on your Desktop
- Move the My Clippings.txt file to your Desktop
- Eject the Kindle drive
- If you don't have Python installed, install it from here
- Clone this repository
- Navigate to the project folder and create a virtual environment
- Install package dependencies via
pip3 install -r requirements.txt
- Move the
My Clippings.txt
file into your project folder - Input the absolute file path of
My Clippings.txt
to your .env file - Input your Twilio API credentials and phone numbers into the .env file
- Run main.py in your IDE to ensure program is working
- Navigate to the
launch.kindle.daemon.plist
file. Here is where you configure the behavior of your daemon - Set the
StartCalendarInterval
key to the time to send the daily SMS - Set the
StandardErrorPath
,StandardOutPath
, andProgramArguments
as instructed in the file comments - If you have trouble with setup, check out my launchd tutorial at simple-launchd-template
- Configure the
launchd.kindle.daemon.plist
file as instructed the file comments - Open your terminal
- Get your current user_id by running
id -u
- Run the daemon using
launchctl bootstrap gui/<user_id> <your absolute filepath to launchd.kindle.daemon.plist>
- Your daemon will run in the background whenever your machine is on and awake
- Terminate the daemon using
launchctl bootout gui/<user_id> <your absolute filepath to launchd.kindle.daemon.plist>