-
Notifications
You must be signed in to change notification settings - Fork 5
Description
I noticed this plugin, and thought that it has a lot in common with the infrastructure that we have in place with simple-repository. Over there, we have a common model for the simple-repository data, and use that as an exchange format. Our definition of a SimpleRepository is then a simple, composable, class (with 3 async methods) which can manipulate the model. To give you an example, building a filter of a repository can look like our AllowList component, or in another project, we have a time-based constraint with a parameter taken from the requesting URL's path (active PR).
I think there is probably a lot of overlap with simple-repository in devpi (though to be clear, devpi has a lot more in its scope), and the simple example of a filter could probably be just the first step in the direction of reusing some of the core functionality of simple-repository. In the future, I could imagine being able to re-use the logic in simple-repository for PEP-691 (JSON metadata), PEP-658 (wheel metadata), PEP-700 (additional fields, including upload time). In fact, it may even be interesting to re-use some of the rendering capabilities of simpler-repository-browser.
Does any of this sound of interest to you to explore further? I would be quite happy to discuss some of the options, and then to prototype something specific to see how it fits in practice.