# Books

This is a catalog of all the books in my calibre library!

If you see a title here you would like to borrow, let me know! I'd be happy to share :)

## How To (For me)

- go to calibre and "convert books" -> "create a catalog...."
- save it to the dir
- `j all`

## How To (For you)

If you're going to explore this dataset, I recommend using the awesome csvkit.

=> <https://csvkit.readthedocs.io/en/latest/index.html>

It will allow you to do stuff like:

- see the headers: `csvcut -n books.csv`
- and the see just the columns you want: `csvcut -c 13,4 books.csv`
- look at some stats: `csvcut -c languages,size,formats books.csv | csvstat`
- find the largest pdfs in the collection: `csvcut -c title_sort,formats,size books.csv | csvgrep -c formats -m pdf | csvsort -c size -r | head`
- `csvjson books.csv | jq | whatever`
- show the most recently added books: `csvcut -c 13,1,3 books.csv | csvsort -c timestamp -r | head -n 20`
- You can also perform actual SQL queries on it, and convert the data between csv and sqlite database: <https://csvkit.readthedocs.io/en/latest/tutorial/3_power_tools.html>

## RSS feed

An RSS feed has been kindly provided by [the Rsszard of Syndication](https://tilde.town/~lucidiot)
and is available at https://git.tilde.town/dozens/books/raw/branch/main/feed.xml

Generating the feed requires you to have Python 3.7 or later installed, as well
as the [xmltodict](https://pypi.org/project/xmltodict) package:
`pip3 install xmltodict`.

To generate the feed, run `./geenfeed.py <books.csv >lefeed.xml`.
