[pytest-dev] Vendoring pluggy with pytest

Petr Viktorin encukou at gmail.com
Sat Sep 5 22:20:49 CEST 2015

On Wed, Aug 26, 2015 at 10:43 AM, Florian Bruhin <me at the-compiler.org> wrote:
> Hi!
> I'm part of the pytest-dev team, the developers of the pytest[1] test
> runner. I'm writing to you because I'd like to have some opinions on
> the following PR/issue about vendoring pluggy into pytest:
> https://github.com/pytest-dev/pytest/issues/944
> https://github.com/pytest-dev/pytest/pull/959
> The common logic behind the plugin API of pytest recently got split
> into a separate library, pluggy[2].
> However, the public API of pluggy might still change in the near
> future - which means pytest would need to require a specific version
> of pluggy to be sure there's no breakage.
> Normally, this wouldn't be an issue - but as a test runner, I believe
> we're in a bit of a special position: Users should still be able to
> use pytest to test their projects, even if their projects use a more
> recent version of pluggy - or they use other projects which might use
> pluggy in the future, like devpi or tox.
> Because of this, since it's a very small library, and because the code
> originated from pytest, I wonder what distribution's views are on
> bundling the library for pytest 2.8 until things are expected to be a
> bit more stable.
> What do you think?

I haven't seen a reply here, but I can say what's customary in Fedora.

Per our packaging guidelines, we would need to unbundle pluggy. So, if
you install pytest from a RPM, you'd get the matching version of
pluggy from a separate RPM. These will be synchronized via the package
manager, so that you can't end up with incompatible versions there.
Any system package that needs pytest will need to use the system
versions of pytest and pluggy -- so devpi or tox packagers would need
to coordinate with the pytest/pluggy packagers, and use versions that
all work together. (Making sure things work together is the job of a
distribution, after all.)

If a Fedora user installs pytest from pypi into a virtualenv, they
would get your bundled copy. Virtualenvs are isolated from the system,
so I see no problems there.

More information about the pytest-dev mailing list