Error sending metrics request

I’m using the Python SDK in a Jupyter Notebook, and a script that previously ran fine is failing this morning due to what looks like a certificate error at the Speckle end of things. Is anyone else getting this? Are the Speckle team aware of this?

Error sending metrics request: HTTPSConnectionPool(host='analytics.speckle.systems', port=443): Max retries exceeded with url: /track?ip=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))
Error sending metrics request: HTTPSConnectionPool(host='analytics.speckle.systems', port=443): Max retries exceeded with url: /track?ip=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))
Error sending metrics request: HTTPSConnectionPool(host='analytics.speckle.systems', port=443): Max retries exceeded with url: /track?ip=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))
Error sending metrics request: HTTPSConnectionPool(host='analytics.speckle.systems', port=443): Max retries exceeded with url: /track?ip=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))
Error sending metrics request: HTTPSConnectionPool(host='analytics.speckle.systems', port=443): Max retries exceeded with url: /track?ip=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))
Error sending metrics request: HTTPSConnectionPool(host='analytics.speckle.systems', port=443): Max retries exceeded with url: /track?ip=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))
C:\ProgramData\Anaconda3\lib\site-packages\specklepy\objects\units.py:33: SpeckleWarning: Invalid units: expected type str but received <class 'NoneType'> (None). Skipping - no units will be set.
  warn(
Error sending metrics request: HTTPSConnectionPool(host='analytics.speckle.systems', port=443): Max retries exceeded with url: /track?ip=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))

Hi @colin.magner - thanks for reporting this.

Are you able to reach https://analytics.speckle.systems/ from your browser, and does the :lock: symbol in the url bar correctly display (indicating certificates were trusted)?

I’m able to reach this url and see this, so it appears that the server is functioning ok.

The unable to get local issuer certificate error would indicate that the certificate being presented to the python script is not a trusted certificate. This is most likely because there is a proxy server in your network. Are you within a corporate network or behind a VPN?

Hi @iainsproat , I can access that URL (apologies, I should have said earlier that I had tried that) and the browser reports a valid certificate.

I’ve just tried running the script again and it’s now working.

In the meantime I’d gone on to other things, one of which included creating a new anaconda environment for a project, which also failed due to some HTTP errors. After following guidance about installing a pip certificates bundle the anaconda environment creation worked. Whether or not this is what resolved the Speckle Python error I have absolutely no idea, but I thought it worth mentioning in case it is related.

2 Likes

Glad you got it working!
In the meantime, @izzylys also pushed a fix to suppress this error for anyone else encountering the same problem in the future.

1 Like