Когда URL индекса не содержит credentials, pip может получить логин и пароль для hostname из пользовательского файла .netrc. Команда короче.

Укажите точное имя machine

Запись должна совпадать с hostname репозитория, а login и password храниться без пробелов или непечатаемых символов, поскольку parser стандартной библиотеки допускает только ASCII.

Закройте права файла

Создавайте netrc из secret store непосредственно перед установкой, разрешайте чтение только владельцу процесса и не сохраняйте рабочий каталог CI как общедоступный artifact после завершения любого шага сборки или ручной диагностики упавшего задания.

python -m pip install --index-url https://packages.example/simple package_name

Проверьте область действия

Одна запись применяется ко всем запросам к указанному hostname, поэтому разные репозитории с отдельными правами лучше разводить по доменам и учетным записям.

Если пароль требует Unicode или пробелы, выберите keyring либо другой поддерживаемый механизм, потому что расширять синтаксис netrc самодельным парсером нельзя.

Спецсимволы в URL разбирает percent-encoding credentials. Механику описывает руководство аутентификации.