Skip to content

Feature proposal: multiple upstreams, with optional masking #55

@kpfleming

Description

@kpfleming

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions