Commit Graph
9 Commits
Author SHA1 Message Date
dtourolleandClaude Opus 5 767e4c135c build: consolidate packaging on pyproject.toml and correct the dependency set
The project carried three sets of packaging metadata — pyproject.toml
[project], setup.cfg [options] and setup.py kwargs — declaring different
dependencies. pyproject.toml wins under any modern backend, so the wheel
was correct, but the other two said "Pillow, numpy" and reading either
gave the wrong answer about what the library needs.

Reduce setup.cfg to its [flake8] section and setup.py to a setup() shim,
each pointing at pyproject.toml.

Correct the authoritative list while consolidating:

- flask was a runtime dependency but is imported only by the fixture HTTP
  server in tests. Every user was installing Flask, Jinja2, Werkzeug,
  click, itsdangerous and blinker for nothing.
- ebooklib was a runtime dependency and is never imported by the library;
  epub_reader.py uses zipfile + xml.etree directly. Only the tests use it,
  to build EPUB fixtures.
- requests was declared required but concrete/image.py imports it lazily
  and degrades gracefully when absent, so it belongs in an extra.
- requires-python said >=3.6, which cannot be true: the package uses
  dataclasses and `from __future__ import annotations`, both 3.7+, and CI
  tests 3.10/3.12/3.13.

Runtime install drops from 7 direct dependencies to 4. Adds test,
remote-images and dev extras, and a CI step that installs into an empty
venv with only the runtime deps and imports every subpackage — this class
of defect is only caught by installing what you ship.

Verified: runtime-only install imports all subpackages; `.[test]` runs the
full suite, 853 passed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 12:30:08 +02:00
dtourolle c981fbd1c0 additional tests 2025-06-07 19:56:11 +02:00
dtourolle 952b7d4394 tests for epub reader
Python CI / test (push) Successful in 51s
2025-06-07 18:52:15 +02:00
dtourolle da02d48555 removed unused funcs
Python CI / test (push) Failing after 47s
2025-06-07 18:30:19 +02:00
dtourolle cfd8678af5 coerage report
Python CI / test (push) Successful in 43s
2025-06-07 17:33:11 +02:00
dtourolle ed39f40bad Add: Coverage gutters
Python CI / test (push) Successful in 42s
Remove: Un-used funcs
2025-06-07 17:11:22 +02:00
dtourolle b57cc9f7ea Added other dependency
Python CI / test (push) Failing after 34s
2025-06-07 15:23:46 +02:00
dtourolle b21a03c0f6 added dependency
Python CI / test (push) Failing after 26s
2025-06-07 15:22:25 +02:00
dtourolle f7ad69f9ec first code commit 2025-05-27 11:58:19 +02:00