ReproNim / repropip

Date-based snapshotting of PyPI
0 stars 0 forks source link

Initial notes/dump of ideas #1

Open yarikoptic opened 2 years ago

yarikoptic commented 2 years ago

Motivation - complement https://snapshots.debian.org and https://snapshot-neuro.debian.net so we could

While chatting with @asmacdo , he mentioned various solutions which could let us accomplish the drill and I want to make note of them

attn @jwodder if he knows more of other relevant solutions

jwodder commented 2 years ago

Pre-existing solution: https://github.com/astrofrog/pypi-timemachine

yarikoptic commented 2 years ago

Great find @jwodder, I have posted question there to see if it could indeed be the complete solution for my greedy evil plans ;-)

asmacdo commented 2 years ago

This looks promising. We would still need to host a pypi mirror to be fully complete.

pypi-timemachine would also need a feature to allow customizing the API endpoint (hardcoded to pypi.org) https://github.com/astrofrog/pypi-timemachine/issues/8

the request would look like:

pip -> filtering proxy (pypi-timemachine) -> mirror (bandersnatch)

IMO, allowing the cutoff date and python repo to be customized looks pretty minimal.

One thing to keep an eye on is that pypi-timemachine relies on part of the API from PEP 503, which is excluded from PEP 691. AIUI, warehouse has no plans to remove this from the pypi API though.