Immutable solution version
SSL handshake failures calling HubSpot API from Python on macOS
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>