Installation ============ Requirements ------------ - Python >= 3.9 - click >= 8.0.0 - rich >= 13.0.0 - ebooklib >= 0.18 - beautifulsoup4 >= 4.12.0 Optional Dependencies --------------------- - **lxml**: For better HTML parsing performance - **spaCy**: For sentence-level formatting and smart line splitting Basic Installation ------------------ Install epub2text from PyPI:: pip install epub2text Installation with Extras ------------------------ For better HTML parsing performance:: pip install epub2text[lxml] For sentence-level formatting (requires spaCy):: pip install epub2text[sentences] After installing spaCy, download a language model:: python -m spacy download en_core_web_sm For all optional features:: pip install epub2text[lxml,sentences] Development Installation ------------------------ Clone the repository and install in development mode:: git clone https://github.com/holgern/epub2text cd epub2text pip install -e ".[dev]" This installs all development dependencies including: - pytest for testing - ruff for linting - pre-commit for code quality hooks Running Tests ------------- Run the test suite:: pytest tests/ Run with coverage:: pytest tests/ --cov=epub2text --cov-report=html Pre-commit Hooks ---------------- Install pre-commit hooks for code quality:: pre-commit install Run hooks manually:: pre-commit run --all-files