jsvine / pdfplumber

Plumb a PDF for detailed information about each char, rectangle, line, et cetera — and easily extract text and tables.
MIT License
6.57k stars 659 forks source link

pdfplumber 0.5.28 requires pdfminer.six==20200517, but you have pdfminer-six 20211012 which is incompatible #531

Closed alexreg closed 2 years ago

alexreg commented 2 years ago

Describe the bug

Upon running pip install pdfplumber, I get the following.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pdfplumber 0.5.28 requires pdfminer.six==20200517, but you have pdfminer-six 20211012 which is incompatible.

This is an awfully restrictive dependency, that is naturally liable to create conflicts. Perhaps you could loosen it to pdfminer.six>=20200517 (possibly with <= bound too)?

Environment

jsvine commented 2 years ago

Hi @alexreg, and glad to see you around here again! Unfortunately for you, this pinned dependency is intentional and unlikely to change in the immediate future. The main reason is that pdfminer.six, while relatively mature, has introduced breaking changes from time to time, and does not use semantic versioning. Two bits of good news, though:

alexreg commented 2 years ago

@jsvine Thanks for the clarification. That makes sense. Indeed, it's a shame that pdfminer.six doesn't use semver. (Have you tried to convince them to adopt it?)

jsvine commented 2 years ago

I haven't tried lobbying for that, but the maintainers appear to have decided against it — cf.: https://github.com/pdfminer/pdfminer.six/issues/154#issuecomment-576911835

We are not going to use semver (because pypi will get untenable confused).

alexreg commented 2 years ago

Ah, that's a shame, but fair enough. I suppose I'll just ignore the "error" and treat it more like a warning.