An open API service indexing awesome lists of open source software.

https://github.com/studyresearchprojects/rewritt

Self-hostable service for EPUB to PDF conversion.
https://github.com/studyresearchprojects/rewritt

convert epub pdf

Last synced: 5 months ago
JSON representation

Self-hostable service for EPUB to PDF conversion.

Awesome Lists containing this project

README

          


rewritt



Self-hostable service for EPUB to PDF conversion.


## Motivation

Some of my virtual library books are EPUB files, but this format is not supported
by my favorite reading application, [PDFExpert from Readdle], the name makes
very obvious that the application is specialized on PDF file reading.

So I wanted to write my own conversion helper, theres a lot of work to be done
with this solution, but as most of the setup is done and main conversion (text
only) is already supported, all I have left is working on a complete conversion.

## Usage

### Run with Docker

A docker image is included to run this application without having to setup every
depencency manually.

```bash
docker-compose up
```

If no `PORT` environment variable was provided, the service must be available at http://0.0.0.0:5000.

## Development

This project makes use of `pyenv` and `pipenv`, make sure you install the
Python version specified in `.python-version` and use a virtual enviroment to
work with this project locally.

```bash
python --version
> 3.10.0
```

Install dependencies using Pipenv:

```bash
python -m pipenv install
```

Finally create or initialize the Pipenv shell in the repository directory:

```bash
python -m pipenv shell
```

When you are done working with this project, make sure you exit the Pipevn shell
by runing the `exit` command.

### Code Style

We use Black for code styling in this repository.
Install Black as follows:

```bash
pipenv install black
```

Then execute it against all Python files in the codebase:

```bash
python -m black ./**/*.py
```

### Pyright Config

If you are using Pyright make sure you create a config file like the
following with the contents:

```js
// pyrightconfig.json
{
"venvPath": "",
"venv": "",
}
```

## License

Licensed under the MIT License