Как статически развернуть пакет колес python на пользовательском сервере CDN?
У меня есть форк пакета расширения CPython, который компилируется буквально часами, поэтому я хотел бы развернуть предварительно скомпилированные диски где-нибудь для загрузки вместо компиляции из исходного кода.
Я также знаю, что я могу принять pypiserver
сам, но у меня есть сервис CDN, который я лежу без дела в основном бесплатно, и мне интересно, могу ли я как-то "статически" развернуть колеса в моей CDN, а затем сделать:
pip install -i https://<my cdn of choice> SomePackage
вместо:
pip install https://<my cdn of choice>/SomePackage-1.0-py2.py3-none-any.whl
что позволило бы мне указать версию пакета или операционной системы.
В данном случае, имея в виду "хранилище", это будет просто папка с кучей статических файлов в правильном порядке.
1 ответ
Вы можете создать "простой" индекс в корне вашего CDN и сделать структуру файлов для каждого проекта эквивалентной pip
ожидает "простого" индекса, который по сути:
simple
├── SomePackage
│ ├── SomePackage-1.0-py2.py3-none-any.whl
│ └── index.html
└── index.html
И тогда вы можете сделать:
$ pip install -i https://<my cdn of choice>/simple SomePackage
См. PEP 503 - Простой API репозитория для точной спецификации того, как должны быть структурированы HTML-страницы.