what pytest does is simply define a pytest11 setuptools entry point (same concept as console_scripts if you are familiar with that), and then it just uses that to find all plugins installed in the environment it gets run. Then it doesn't really matter where the plugins are installed from (PyPI, GitHub, internal package server, local directory, ...)