ebooklib icon indicating copy to clipboard operation
ebooklib copied to clipboard

Refresh EbookLib for the 1.0 release

Open aerkalov opened this issue 1 year ago • 8 comments

There is a bunch of things we need to do.

Project related:

  • Clean up all the PR requests. Accept the relevant ones and cancel others.
  • Clean up all the Issues. Close the very old ones, the ones which have answers and etc. Leave the relevant ones which might require some action.
  • Introduce verification GitHub workflows when people create PR (black/ruff/isort/black/flake8)

Library related:

  • Reformat entire code using black/ruff and validate it later on each PR (when most of PR are closed)
  • Write different kind of tests for the existing code so we can be sure that we don't fail in further refactoring of the existing code
  • Remove support for Python 2.x. This means removing six dependency and focusing on Python 3.x
  • Introduce typing support (and mypy after that)

Documentation related:

  • Describe what is the philosophy behind this library to help people better understands what is library capable of doing and what is not
  • Write how to create Covers
  • Write how to prepare PR (beware to document things, beware of breaking current functionality or APi and etc)
  • Write more useful examples how to use the library

aerkalov avatar Jul 28 '24 19:07 aerkalov

Hi, does this project currently have a test suite?

If not, would contributing a test suite using Pytest be accepted in a PR?

From a quick glance it looks like not.

jgarte avatar Aug 10 '24 05:08 jgarte

Do we have some automated remediation misses for bad metadata? <package version="2.0" unique-identifier="PrimaryID" mlns="http://www.idpf.org/2007/opf"> For the above, I don't know why this namespace is wrong, it could be a typo. But this will completely prevent ebooklib from parsing further.

cary-rowen avatar Aug 30 '24 04:08 cary-rowen

I would be willing to contribute type annotations

ashrobertsdragon avatar Aug 31 '24 01:08 ashrobertsdragon

Hey @aerkalov are you open to accepting more maintainers? I just put up my first PR into the repo but I'd be up for helping to review and merge MRs, and add some tests and workflows steps to ensure stability

ddaws avatar Sep 13 '24 01:09 ddaws

It would be nice to have better support on fixed layout epub.

  • add prepagination and spread in manifest meta
  • be able to add viewport in each xhtml

Jeffxz avatar Nov 29 '24 18:11 Jeffxz

cc @aerkalov Are you still following this? I see there are contributors willing to contribute to this, do you have any ideas?

cary-rowen avatar Nov 29 '24 22:11 cary-rowen

@jgarte

If not, would contributing a test suite using Pytest be accepted in a PR?

It would be! There was something but never commited to the repository. Working on a pytest based one now, will commit at some point. But yes, in general it is required for the next step of modernizing code and ditching six and Python 2.

aerkalov avatar May 06 '25 22:05 aerkalov

@cary-rowen

cc @aerkalov Are you still following this? I see there are contributors willing to contribute to this, do you have any ideas?

Yeah. With a bit of delay I cleaned up things in my life and now ready to polish and finish some things. Will clean up existing things, finish some minor releases, set up some new steps with tickets and organise for people who could help. Looking at all the questions I would say documentation needs a lot of improving, more complex sample files, tests and etc.

aerkalov avatar May 06 '25 22:05 aerkalov