pip умеет получать учетные данные индекса через библиотеку keyring, поэтому пароль не приходится записывать в команду, requirements-файл или открытый URL. Секрет остается снаружи.
Выберите provider
Режим import вызывает Python API keyring в процессе pip, subprocess обращается к отдельной команде, а disabled полностью отключает такой поиск учетных данных.
Учтите no-input
Provider auto не опрашивает keyring при –no-input, поскольку backend способен ждать интерактивный ввод, поэтому CI требует заранее проверенной явной настройки.
python -m pip install package_name --keyring-provider subprocess --index-url https://username@example.org/simple
Решите bootstrap заранее
Пакет keyring и нужный backend должны быть доступны до обращения к закрытому индексу, иначе pip не сможет скачать инструмент, необходимый для получения секрета.
Перед запуском CI проверьте keyring отдельной короткой командой с маскированием журналов, чтобы скрытый интерактивный запрос не превратился в зависшую сборку.
Адреса индексов разбирает настройка index-url. Варианты provider описывает руководство Authentication.