Booksnake is a tool to search the web for ebooks and automagically send them to your Kindle (or email), all as simply as possible.
> NOTE: Please only use booksnake for legal download of public-domain resources!
**Pull-requests and GitHub Issues are always welcome!**
## Installation
Spin up your favorite terminal, and boop this puppy right up in there:
```shell
pip install booksnake
```
Q.E.D. wut up
## Setup
This step is entirely optional, but if you don't want to have to specify `--to_email`, `--from_email`, and then type your email password every time you send, then you can add the following to a `~/.booksnakerc`:
```json
{
"from_email": "you@gmail.com",
"smtp_password": "your gmail password",
"to_email": "you@free.kindle.com"
}
```
If you don't feel comfortable leaving your password in plaintext in your home directory (and I can't _possibly_ imagine why that would be!), you can omit that keyvalue pair and enter it at runtime.
You may also choose, like I did, to make a standalone gmail for just this purpose, and then the password is a moot point.
**Make sure that regardless of which email you use, you have added it to your [Authorized Senders](https://www.amazon.com/gp/help/customer/display.html?nodeId=201974240) in Amazon's Kindle settings, or else Amazon will refuse to send your documents to your device.**
## Usage
### Searching for, downloading, and sending a book
```shell
booksnake --query "Moby Dick"
```
[](https://asciinema.org/a/esbwna82m297lbwhhvm2w95ne)
### Sending a book from a known URL
```shell
booksnake --url "http://mobydick.com/mobydick.mobi"
```
### Sending a book from a local file:
```shell
booksnake --file "~/books/mobydick.mobi"
```
## Advanced Usage
### Converting Files
If you're a _hacking wizard_ and you have Amazon's [`kindlegen`](https://www.amazon.com/gp/feature.html?docId=1000765211) installed, you may be able to convert some subset of epubs and pdfs to mobi, and send those to your kindle as well. As long as `kindlegen` is callable globally (e.g. you've put it in `/usr/bin` or somesuch), there's no difference in how you call booksnake:
```shell
booksnake --file "~/books/mobydick.epub"
```
### Preventing Sends, or Keeping Files
If you want to prevent booksnake from deleting the files after downloading and sending, you can pass the `--keep` flag:
```shell
booksnake --keep --query "Great Expectations"
```
You can combine this with `--no-send` if you want to _only_ download and convert the file, and not send it:
```shell
booksnake --keep --no-send --query "Great Expectations"
```
Metadata
Release files for booksnake 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| booksnake-0.1.1.tar.gz | 6.1 kB | Without provenance | Details for booksnake-0.1.1.tar.gz |
Release files / booksnake-0.1.1.tar.gz
| Download URL | booksnake-0.1.1.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c24b1f5ada2adc1f6f7f20068f8d72462e07c4a2b24c25d16ddaf20ac989e20a
|
|
BLAKE2b-256 checksum How to use checksums |
3db07e7f8a59e6acd284521732ac7342a7f6c6c1e94456ad9ccd99dcf744a26d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for booksnake 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.