In the POSIX shell that will launch Twine, set its upload route:

export HTTPS_PROXY=http://proxy.example.net:8080

Twine uses Requests' proxy environment. The HTTP value names an intermediary capable of carrying the repository's HTTPS connection; use the actual listener protocol. An endpoint from the HTTP proxy list can supply a public HTTP upload route.

If that connection requires an approved private CA, also provide Twine's server-trust bundle:

export TWINE_CERT=/path/to/approved-ca-bundle.pem

TWINE_CERT is a PEM CA bundle for the presented chain. It is neither proxy credentials nor a client certificate.

Run the normal upload from this environment with the existing repository and authentication configuration. A successful pip installation uses another request path, and PIP_CERT does not set Twine's option.

If the next failure is a certificate error after the proxy connection succeeds, keep that new stage and correct trust while retaining verification.

Artiglyn mynjee