Перейти к содержимому

PyPI

NORA реализует спецификации PEP 503 (Simple Repository API) и PEP 691 (JSON Simple API). Загружайте пакеты с помощью twine и устанавливайте через pip с прозрачным проксированием из pypi.org.

Установка пакетов через NORA:

Окно терминала
pip install --index-url http://nora.example.com:4000/pypi/simple/ my-package

Настройка pip.conf для проекта или через переменную окружения:

Окно терминала
export PIP_INDEX_URL=http://nora.example.com:4000/pypi/simple/

Загрузка пакетов:

Окно терминала
twine upload --repository-url http://nora.example.com:4000/pypi/ dist/*

NORA загружает пакеты из PyPI, если они не найдены локально. URL для скачивания на страницах индекса перезаписываются для загрузки через NORA.

config.toml:

[pypi]
enabled = true
proxy = "https://pypi.org/simple/"
proxy_timeout = 30

Переменные окружения:

ПеременнаяОписаниеПо умолчанию
NORA_PYPI_ENABLEDВключить реестр PyPItrue
NORA_PYPI_PROXYURL upstream-реестраhttps://pypi.org/simple/
NORA_PYPI_PROXY_AUTHАутентификация upstream (user:pass)
NORA_PYPI_PROXY_TIMEOUTТаймаут upstream в секундах30
ФункцияСтатусПримечание
Simple-индекс (HTML)ПолнаяPEP 503
Simple-индекс (JSON)ПолнаяPEP 691, через заголовок Accept
Страница версий пакетаПолнаяHTML + JSON
Скачивание файловПолнаяWheel, sdist, egg
twine uploadПолнаяMultipart form-data
Хеши SHA256ПолнаяВ ссылках метаданных
Нормализация регистраПолнаяMy-Package становится my-package
JSON API метаданныеПолнаяapplication/vnd.pypi.simple.v1+json
Upstream-проксиПолнаяНастраиваемый TTL
YankingНе реализовано
Подписи загрузки (PGP)Не реализовано
  • Yanking не поддерживается.
  • PGP-подписи при загрузке не поддерживаются.