Skip to content

Re-using some of the functionality from simple-repository #12

@pelson

Description

@pelson

👋 @fschulze

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions