stkclient
implements a client for amazon's "Send to Kindle" service. It allows python programs to
send files to a kindle device without the 10mb limit that applies to email files.
- OAuth-based authorization
- Send large (>10MB) files to Kindle devices
You can install Send To Kindle via pip from PyPI:
$ pip install stkclient
To create a client, you must authenticate the user. Currently the only supported authentication mechanism is OAuth2:
import stkclient
a = stkclient.OAuth2()
signin_url = a.get_signin_url()
# Open `signin_url` in a browser, sign in and authorize the application, pass
# the final redirect_url below
client = a.create_client(redirect_url)
Once a client is created, it can be serialized and deserialized using Client.load
/ Client.loads
and client.dump
/ client.dumps
with open('client.json', 'w') as f:
client.dump(f)
with open('client.json', 'r') as f:
client = stkclient.Client.load(f)
Once you have a Client object, you can list devices and send files to specified devices.
devices = client.get_owned_devices()
destinations = [d.device_serial_number for d in devices.owned_devices]
client.send_file(filepath, destinations, author=author, title=title)
Distributed under the terms of the MIT license, Send To Kindle is free and open source software.
Project structure from @cjolowicz's Hypermodern Python Cookiecutter template.