-
-
Notifications
You must be signed in to change notification settings - Fork 1
Feature proposal: multiple upstreams, with optional masking #55
Description
One of the features I use in Nexus today, which I'd like to replace with this proxy, is the ability to 'group' two or more repositories together to make them appear to be one. I use this combine an internal PyPI-style repository of my own packages together with PyPI itself, so that I don't need to configure consumer clients with multiple index URLs.
In addition, this provides the ability to 'mask' packages from PyPI - if my repository is first in line, then requests for package 'A' will always be satisfied from my repository if it contains any version of package 'A', even if PyPI contains other versions of package 'A'. This addresses 'squatting' issues (where someone publishes a package on PyPI with the same name as an internal package and a higher version number), and also allows blocking access to packages on PyPI (by publishing an uninstallable package with the same name in the internal repository). This functionality is not available in pip, so it must be done in the proxy repository.
I'm happy to work on an implementation of this for PyPI as an example, and ensure that the design is applicable to other types of repositories as well.