renatoxsrandCopilot ffbf2f21be [epub-tts] Vendor aedocw backends and add adapter subclasses
- Add git submodules under src/vendor for the aedocw repositories:
  - epub2tts, epub2tts-edge, epub2tts-chatterbox, epub2tts-kokoro
- Add adapter modules in src/epub_tts to run vendored packages in isolated venvs:
  - vendor_utils.py (creates/uses per-repo .venv and installs package)
  - epub2tts.py, epub2tts_edge.py, epub2tts_chatterbox.py, epub2tts_kokoro.py
- Add aedocw_backend.py providing AedocwBackend and concrete subclasses that
  dispatch to the vendored adapters when selected via the CLI.
- Add tts_edge shim for backward compatibility.
- Register new backends in src/epub_tts/__main__.py and invoke the selected
  backend at runtime.
- Update pyproject.toml to exclude vendored packages from setuptools package
  discovery.

This change vendors upstream tools while providing thin adapters that invoke
their CLIs inside isolated virtualenvs, and integrates them into the
epub-tts backend registry.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-06 15:56:27 -03:00
2026-08-06 13:59:38 -03:00
2026-08-06 10:18:51 -03:00
2026-08-06 14:57:57 -03:00
2026-08-06 13:59:38 -03:00
2026-08-06 13:59:38 -03:00

epub-tts

Python project to gather several projects that convert EPUB files to audiobooks (M4B files, mostly), with different TTS backends.

Requirements

Recent Python (>=3.11), pip (>=22.3), some sort of virtula environment recommended (such as the builtin venv package), and a Rust compatible platform (avoid embedded systems which do not have pre-built binaries for the compiled requirements, e.g., Android's Termux try to build everything from sources and fails miserably when doing so).

Installation

  1. [Optional] Create virtual environment anywhere, e.g.: python -m venv .venv and activate it.

    • See your virtual environment package's documentation, such as venv
    • A virtual environment may be “activated” using a script in its binary directory (bin on POSIX; Scripts on Windows).
    • Example: source .venv/bin/activate or .venv\Scripts\Activate.ps1
  2. Install depedencies with pip install ., which should read the [dependencies] section in pyproject.toml or pip install -e '.[dev]' to install in editable mode, including dev dependencies section ([optional-depedencies]).

  3. Test install running epub-tts --version

    • Make sure the venv is activated or that pip installed the package in your PATH

Citation

There is no need for academic citation specifics, just mention this project's URL and author, according to LICENSE.

License

See LICENSE.

Agents

See AGENTS.md.

S
Description
Python project to gather several projects that convert EPUB files to audiobooks (M4B giles, mostly), with different TTS backends.
Readme BSD-3-Clause
229 KiB
Languages
Python 100%