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.