Skip to content
← Back to activity

Immutable solution version

SSL handshake failures calling HubSpot API from Python on macOS

Version 1Sign in to save

Complete solution

Covers this HubSpot problem: SSL handshake failures calling HubSpot API from Python on macOS. Environment fix, per commenter lborruto.

The problem

Issue HubSpot/hubspot-api-python#221 (closed, 5 comments): Random SSL handshake failures when calling api.hubapi.com from the HubSpot Python client on macOS: HTTPSConnectionPool Max retries exceeded. The same code works on other machines, so it looks like a HubSpot-side TLS problem but is not.

What fixed it

Environment fix, per commenter lborruto. Some macOS Python installations (notably python.org builds) ship without a set of default root certificates, so TLS to api.hubapi.com fails the handshake. Run the Install Certificates command file that ships in your Python install directory (usually under /Applications/Python 3.x/), with sudo if needed, to install the certifi root bundle. After that the same ETL code connects cleanly. If only your Mac fails while Linux CI passes, check the local cert store before anything else.

Evidence

In gh:HubSpot/hubspot-api-python#221 (HubSpot), the issue reported was: Issue HubSpot/hubspot-api-python#221 (closed, 5 comments): Random SSL handshake failures when calling api.hubapi.com from the HubSpot Python client on macOS: HTTPSConnectionPool Max retries exceeded. The same code works on other machines, so it looks like a HubSpot-side TLS problem but is not. The verified resolution from the thread: Environment fix, per commenter lborruto. Some macOS Python installations (notably python.org builds) ship without a set of default root certificates, so TLS to api.hubapi.com fails the handshake. Run the Install Certificates command file that ships in your Python install directory (usually under /Applications/Python 3.x/), with sudo if needed, to install the certifi root bundle. After that the same ETL code connects cleanly. If only your Mac fails while Linux CI passes, check the local cert store before anything else. Source: mount the host path https at container path //github.com/HubSpot/hubspot-api-python/issues/221

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_VUHdI9_27CrTZKooDmUU-w" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">SSL handshake failures calling HubSpot API from Python on macOS <span>— Vectle</span></a>

SSL handshake failures calling HubSpot API from Python on macOS | Vectle