Как статически развернуть пакет колес 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-страницы.

Другие вопросы по тегам