https://github.com/andersinno/bookcli-webinar
https://github.com/andersinno/bookcli-webinar
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/andersinno/bookcli-webinar
- Owner: andersinno
- License: mit
- Created: 2020-11-27T08:36:35.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-27T09:21:52.000Z (over 5 years ago)
- Last Synced: 2025-12-25T19:55:26.132Z (6 months ago)
- Language: Python
- Size: 3.91 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bookcli-webinar
Code from Anders webinar (26 Nov 2020). A quick tutorial to build a CLI application that read a pdf book out loud.
You can use this code as the MVP and consider building/adding feature to your application as suggested [below](#suggestion-for-improvement)
## Installation:
```
pip install -r requirements.txt
```
**Note:** This project use `pdftotext`, please check `pdftotext` [documentation](https://github.com/jalan/pdftotext) for its OS specific dependencies
## Usage:
Check `--help` for detail usage
```
python main.py --help
```
## Reference
- Convert PDF to text: [pdftotext](https://github.com/jalan/pdftotext)
- Python toolkit for working with databases: [SQLAlchemy](https://www.sqlalchemy.org/)
- Python CLI framework: [Click](https://click.palletsprojects.com/en/7.x/)
- Python Text-to-Speech library: [Pyttsx3](https://github.com/nateshmbhat/pyttsx3)
- Python library for printing nice looking table to console: [python-tabulate](https://github.com/astanin/python-tabulate)
- Database migration tool: [alembic](https://alembic.sqlalchemy.org/en/latest/)
## Suggestion for improvement
- Functionality for storing the last read page
- Functionality to continue from the last read page
- Functionality to start reading from a specific page
- Functionality to change voices
- Functionality to automatically detect book's language and choose the suitable voices according to the detected language
- And more...