Package: src:pypdf2
Severity: wishlist
Control: affects -1 src:pypdf
Control: clone -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11
Control: reassign -2 bookletimposer
Control: reassign -3 kraft
Control: reassign -4 krop
Control: reassign -5 odoo-14
Control: reassign -6 orangeassassin
Control: reassign -7 pdfposter
Control: reassign -8 python3-xhtml2pdf
Control: reassign -9 tryton-modules-stock-package-shipping-dpd
Control: reassign -10 diffoscope
Control: reassign -11 diffoscope-minimal
Control: block -1 by -2 -3 -4 -5 -6 -7 -8 -9 -10 -11

As noted in https://bugs.debian.org/1028559, upstream for the PyPDF2
Python module has moved to the "pypdf" namespace.

Correspondingly, there is a new python3-pypdf package in debian
unstable.

The packages listed above all currently depend on (or recommend) PyPDF2,
but probably should move to the updated version.  When all these bug
reports are closed, we can consider removing the pypdf2 source package
and python3-pypdf2 from debian.

The migration should be relatively straightforward; much of the API
remains the same, just under the "pypdf" module name instead of the
"PyPDF2" module name.  Where the API differs, the version of PyPDF2
currently in debian testing/unstable (2.12.1-3) emits a
PendingDeprecationWarning wherever a piece of the API will break.

For example:

   foo.py:76: PendingDeprecationWarning: getObject is deprecated and will be 
removed in PyPDF2 3.0.0. Use get_object instead.

(PyPDF2 version 3.x is basically a terminal version of PyPDF2, and pypdf
takes over from 3.1.x onward; PyPDF2 version 3.x will not enter debian,
as it is an API break from 2.x, and pypdf 3.x supercedes it)

To transition a given package:

 - run tests with as complete coverage as possible and note the
   PendingDeprecation warnings

 - for each warning, patch the upstream line as recommended

 - ensure that the tests pass without PendingDeprecationWarnings

 - convert from "PyPDF2" to "pypdf" on any import or scoped reference in
   python

 - update dependency indicators in upstream metadata annotations
   (e.g. pyproject.toml, setup.cfg, etc)

 - update dependency indicators in debian packaging (from python3-pypdf2
   to python3-pypdf).

 - run the tests again

Please send any upstream fixes back upstream as well, of course!

Regards,

        --dkg

Attachment: signature.asc
Description: PGP signature

Reply via email to