This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------9emKrWjK2XtNnw1swjlZai0l
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
On 7/29/24 2:05 PM, Grant Edwards wrote:
On 2024-07-29, Eli Schwartz <[email protected]> wrote:
It turns out dev-python/poetry has nothing to do with poetry, so my AI
paranoia was unjustified (this time), but one wonders what devs are
thinking when the decide they add dozens of new dependencies like
that. Why does pip suddenly need to format (or produce?) both markdown
and RTF when it's been able to get along fine without them for so many
years?
For many years, pip has contained bundled libraries. These libraries
recently got unbundled, and now you're installing a system copy.
Yep, I figured that was probably the answer. I (for one) would
appreciate some sort of notice when such an unbundling happens so that
I don't waste time trying to track down why emerge suddenly wants to
install a bunch of new packages. I can't really come up with a good mechanism for that other than news items.
Well, it is there in the `git log` of the package. And at
https://packages.gentoo.org/packages/dev-python/pip/changelog
Commits on 2024-06-23
dev-python/pip: Unbundle dependencies
pip has always "needed to format (or produce?) both markdown and RTF",
OK, now I'm genuinely curious: what does pip need to do with markdown
and RTF? My first guess was that its man pages aren't written in nroff
any more and somehow markdown was being used. [I already had at least
one markdown implementation installed, but pip apparently demands a
different one.] But there is no man page for pip. There are a bunch of documents in /usr/share/doc/pip-<ver>, but they're all reStructured Text.
Oh well, I guess I should be thankful it didn't force LaTeX and pandoc installs.
Python software loves to depend on python software and hates to depend
on anything that isn't written in python, so I think you're pretty safe
there. :)
As for why it needs to format markdown -- build dependencies of python
software often do, since they want to render the darned stuff into the
https://pypi.org display page for that software and the one and only way
to do so is to render it into the metadata files which get installed at
runtime -- and which are also directly displayed on
https://pypi.org
I don't understand it myself, either.
In this case it's actually a bit worse because pip internally uses, and
usually bundles a code copy, of
https://pypi.org/project/rich/
"rich" can do a lot of things, including take markdown and print it with
fancy formatting and colors to your terminal emulator. pip isn't using
most of the features of rich, but it is *using* rich at all, and
therefore markdown ends up as a recursive dependency.
...
aside: there are pip manpages, funny you should mention that.
I could totally add another bdepend on sphinx for this! But I would have
to package some things first. :(
--
Eli Schwartz
--------------9emKrWjK2XtNnw1swjlZai0l--
-----BEGIN PGP SIGNATURE-----
wnsEABYIACMWIQTnFNnmK0TPZHnXm3qEp9ErcA0vVwUCZqfmeQUDAAAAAAAKCRCEp9ErcA0vV4hp AQCPTXuOMZiRG0HwiuqQ/78VSUq4PwdFqeqloOwJJM0nsAEAgzZqI4/DKvZAtSzW1XRzZwb+3Utp REBmdIdecqOo9A4=
=FhJW
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)