ModuleNotFound for SQLAlchemy and Snowflake Database

Question:
I’m trying to use Snowflake and even after trying to pip install the python package it’s not working so I’m wondering if the package is not supported by replit or if there is something unique I have to do to get my code to work within replit. My code was working fine when I was running locally. After commenting out the line I also get the same error for snowflake.sqlalchemy as well. I also created a requirements.txt file that contains:

snowflake-connector-python==2.2.1
snowflake-sqlalchemy==1.4.7
SQLAlchemy==1.4.49

and ran pip install -r requirements.txt

after running pip install -r requirements.txt I did receive a bunch of errors back that I can provide if that helps.

code snippet

import snowflake.connector
from snowflake.sqlalchemy import URL

ERRORS:

    import snowflake.connector
ModuleNotFoundError: No module named 'snowflake.connector'; 'snowflake' is not a package

and

    from snowflake.sqlalchemy import URL
ModuleNotFoundError: No module named 'snowflake.sqlalchemy'; 'snowflake' is not a package

Update: I noticed that my pyproject.toml file was using python 3.10 and my local machine was using 3.8.1 so I’ve updated that to use 3.8.1 and still getting the same errors when using pip install -r reqirements.txt in Shell. Am unable to post the output code since I’m a new user. But will provide if requested and paste here as soon as my account will allow it.

That’s not exactly how you change Python versions on Replit, but I do have a template for this. Try installing the packages and running your code in a fork of this template.

You’ll have to bear with me I just signed up for replit this morning. can i take your template and just take that line of code and add it somewhere?

1 Like

which errors? Replit uses poetry for packages, so you’d have to run in Shell

poetry add snowflake-connector-python@^2.2.1 snowflake-sqlalchemy@^1.4.6 SQLAlchemy@^1.4.49

Looks like everything installed after running that. However when I run my main.py I still received the following:

  File "main.py", line 5, in <module>
    import snowflake.connector
ModuleNotFoundError: No module named 'snowflake.connector'; 'snowflake' is not a package

Here is the first bit of my code:

import datetime
import requests
import json
import pandas as pd
import snowflake.connector
import pandas as pd
from snowflake.sqlalchemy import URL
from sqlalchemy import create_engine
import time

I’ve also returned my pyproject.toml back to what it was initially

On the template’s page there should be a button labeled Use Template. Clicking that will make an editable copy of the project for you.

Ok I did that and now when I run my program I get:

Python 3.8.12 (default, Aug 30 2021, 16:42:10) 
[GCC 10.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

But nothing more. Let me provide my code base minus passwords and such:

import os;os.system("python3")

import datetime
import requests
import json
import pandas as pd
import snowflake.connector
import pandas as pd
from snowflake.sqlalchemy import URL
from sqlalchemy import create_engine
import time

def get_endTime():
  """Gets the last time that has a minute value of 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, or 55, starting from the current time."""
  now = datetime.datetime.now()
  next_time = now.replace(minute=now.minute, second=0, microsecond=0)
  while next_time.minute % 5 != 0 or next_time.minute == 55:
    next_time -= datetime.timedelta(minutes=1)
  return next_time

def get_startTime(endTime):
  """Gets the time 5 minutes prior to endTime."""
  return endTime - datetime.timedelta(minutes=5)

def get_current_date():
  """Gets the current date in YYYY-MM-DD format."""
  now = datetime.datetime.now()
  return now.strftime("%Y-%m-%d")

def main():
    while True:
        endTime = get_endTime()
        startTime = get_startTime(endTime)
        print(f"End Time: {endTime.time()}")
        print(f"Start Time: {startTime.time()}")
        print(get_current_date())

        engine = create_engine(URL(
            account = '',
            user = '',
            password = '',
            database = '',
            schema = '',
            warehouse = '',
            role='',
        ))

        url = "https://api.leadspedia.com/core/v2/leads/getSold.do"

        querystring = {
            "fromDate":get_current_date(),
            "toDate":get_current_date(),
            "startTime":startTime.time(),
            "endTime":endTime.time(),
            "start":"0",
            "limit":"1000"}

        headers = {"Authorization": "Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

        response = requests.get(url, headers=headers, params=querystring)
        
        leads = response.json()
        
        df = pd.DataFrame(leads["response"]["data"])
        
        fromDate = querystring["fromDate"]
        startTime = querystring["startTime"]
        endTime = querystring["endTime"]

        df["fromDate"] = pd.to_datetime(fromDate)
        df["startTime"] = pd.to_datetime(startTime, format="%H:%M:%S")
        df["endTime"] = pd.to_datetime(endTime, format="%H:%M:%S")
        
        apiURL = f"{url}?{querystring}"
        df["apiURL"] = apiURL
        
        # Transform the dataframe
        df["soldID"] = df["soldID"].astype(str)
        df["id"] = df["id"].astype(str)
        df["contractID"] = df["contractID"].astype(str)
        df["price"] = df["price"].astype(str)
        df["cherry"] = df["cherry"].astype(str)
        df["returned"] = df["returned"].astype(str)
        df["leadIDToken"] = df["leadIDToken"].astype(str)
        df["dateSold"] = df["dateSold"].astype(str)
        df["dateSoldUTC"] = df["dateSoldUTC"].astype(str)
        df["leadID"] = df["leadID"].astype(str)
        df["campaignID"] = df["campaignID"].astype(str)
        df["isTest"] = df["isTest"].astype(str)
        df["lead_score"] = df["lead_score"].astype(str)
        df["requestID"] = df["requestID"].astype(str)
        df["pingID"] = df["pingID"].astype(str)
        df["jornayaLeadID"] = df["jornayaLeadID"].astype(str)
        df["trustedform_cert_id"] = df["trustedform_cert_id"].astype(str)
        df["createdOn"] = df["createdOn"].astype(str)
        df["createdOnUTC"] = df["createdOnUTC"].astype(str)
        df["first_name"] = df["first_name"].astype(str)
        df["last_name"] = df["last_name"].astype(str)
        df["phone_home"] = df["phone_home"].astype(str)
        df["email_address"] = df["email_address"].astype(str)
        df["zip_code"] = df["zip_code"].astype(str)
        df["returnStatus"] = df["returnStatus"].astype(str)
        df["returnReasonID"] = df["returnReasonID"].astype(str)
        df["buyerID"] = df["buyerID"].astype(str)
        df["affiliateID"] = df["affiliateID"].astype(str)
        df["offerID"] = df["offerID"].astype(str)
        df["verticalID"] = df["verticalID"].astype(str)
        df["buyerName"] = df["buyerName"].astype(str)
        df["contractName"] = df["contractName"].astype(str)
        df["buyerAltID"] = df["buyerAltID"].astype(str)
        df["contractAltID"] = df["contractAltID"].astype(str)
        df["affiliateName"] = df["affiliateName"].astype(str)
        df["campaignName"] = df["campaignName"].astype(str)
        df["offerName"] = df["offerName"].astype(str)
        df["verticalName"] = df["verticalName"].astype(str)
        df["returnReason"] = df["returnReason"].astype(str)
        df["fromDate"] = df["fromDate"].astype(str)
        df["startTime"] = df["startTime"].astype(str)
        df["endTime"] = df["endTime"].astype(str)
        df["apiURL"] = df["apiURL"].astype(str)
        
        
        # Write the data to the Snowflake table
        table_name = 'lpgetsold'
        #What to do if the table exists? replace, append, or fail?
        if_exists = 'append'
        #Write the data to Snowflake

        with engine.connect() as con:
                df.to_sql(name=table_name.lower(), con=engine, index=False, if_exists=if_exists)
        print("Appended data to LPGETSOLD table")
        time.sleep(300)


if __name__ == "__main__":
  main()

This was just example code to show that the template was running Python 3.8.12. You can safely remove that line, and it should run your code.

Unless you pay for Hacker or Pro, projects on Replit are public. Please put any sensitive information in Secrets.

Ok now that works but now I get a new error:

import pandas as pd

ModuleNotFoundError: No module named ‘pandas’

LOL! Gotta love it!

That would be because I didn’t provide any packages with the template, try running:

poetry add package-name

For each package your project needs. (Replacing package-name with the package to install.)

got it. should you always use poetry add package name instead of pip install?

looks like the snowflake package had been auto-installed, which likely conflicted with this package. Run in Shell:

sed -i '/ignoredPackages/s/\]/, "snowflake"]/' .replit;poetry remove snowflake

If this isn’t the case, (since it seems your repl is private) please create a minimal repl which reproduces the issue, and send the link (just the URL in the address bar)

that’s recommended because it’s better at dependency management and is what replit uses by default, although if you ever encounter an error with Poetry, the way to fix it is often pip install -U poetry

1 Like

We’re getting somewhere now I’m getting this error. I believe it’s because I’m trying an outbound connection to the snowflake database? Just a shot in the dark. Are there things that need to be done and setup to connect to external databases?

Traceback (most recent call last):
  File "main.py", line 132, in <module>
    with engine.connect() as con:
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 3325, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 3404, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 3371, in _wrap_pool_connect
    return fn()
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 327, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 894, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 493, in checkout
    rec = pool._do_get()
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 146, in _do_get
    self._dec_overflow()
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 143, in _do_get
    return self._create_connection()
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 273, in _create_connection
    return _ConnectionRecord(self)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 388, in __init__
    self.__connect()
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 691, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 686, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/engine/create.py", line 574, in connect
    return dialect.connect(*cargs, **cparams)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/sqlalchemy/snowdialect.py", line 854, in connect
    super().connect(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 598, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/__init__.py", line 51, in Connect
    return SnowflakeConnection(**kwargs)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/connection.py", line 292, in __init__
    self.connect(**kwargs)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/connection.py", line 542, in connect
    self.__open_connection()
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/connection.py", line 781, in __open_connection
    self._authenticate(auth_instance)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/connection.py", line 1044, in _authenticate
    self.__authenticate(self.__preprocess_auth_instance(auth_instance))
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/connection.py", line 1064, in __authenticate
    auth.authenticate(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/auth.py", line 257, in authenticate
    ret = self._rest._post_request(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/network.py", line 704, in _post_request
    ret = self.fetch(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/network.py", line 794, in fetch
    ret = self._request_exec_wrapper(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/network.py", line 917, in _request_exec_wrapper
    raise e
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/network.py", line 837, in _request_exec_wrapper
    return_object = self._request_exec(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/network.py", line 1116, in _request_exec
    raise err
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/network.py", line 1018, in _request_exec
    raw_ret = session.request(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/vendored/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/vendored/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/vendored/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/vendored/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/vendored/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/vendored/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/vendored/urllib3/connection.py", line 414, in connect
    self.sock = ssl_wrap_socket(
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/ssl_wrap_socket.py", line 78, in ssl_wrap_socket_with_ocsp
    from .ocsp_asn1crypto import SnowflakeOCSPAsn1Crypto as SFOCSP
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/ocsp_asn1crypto.py", line 47, in <module>
    from snowflake.connector.ocsp_snowflake import SnowflakeOCSP
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/ocsp_snowflake.py", line 71, in <module>
    from .cache import SFDictCache
  File "/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/snowflake/connector/cache.py", line 12, in <module>
    from typing_extensions import NamedTuple, Self
ImportError: cannot import name 'NamedTuple' from 'typing_extensions' (/home/runner/lpgetsold2/venv/lib/python3.8/site-packages/typing_extensions.py)

Try after running in Shell:

poetry update replit

replit package had, for very long, an outdated typing-extensions dependency.


oh, so you’re using the python 3.8 template now. Note that the steps to solving your problem probably work on normal 3.10 as well if you ever want

1 Like

I’m ok to migrate the code to a different version. Just pretty new to all of this and need some hand holding LOL.

Thanks for reminding me, I’ll update the 3.8 template in a bit.

Edit: I actually updated it within ~10 minutes of posting that, and did an overall poetry update as well, I just forgot to update here.

1 Like

Ok I’ve migrated back to my original file running 3.10. and it’s starting to run! But now I’m getting the following:

Traceback (most recent call last):
  File "main.py", line 134, in <module>
    main()
  File "main.py", line 127, in main
    with engine.connect() as con:
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3325, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3404, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3371, in _wrap_pool_connect
    return fn()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 327, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 894, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 493, in checkout
    rec = pool._do_get()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 145, in _do_get
    with util.safe_reraise():
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 143, in _do_get
    return self._create_connection()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 273, in _create_connection
    return _ConnectionRecord(self)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 388, in __init__
    self.__connect()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 690, in __connect
    with util.safe_reraise():
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 686, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 574, in connect
    return dialect.connect(*cargs, **cparams)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/sqlalchemy/snowdialect.py", line 854, in connect
    super().connect(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 598, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/__init__.py", line 51, in Connect
    return SnowflakeConnection(**kwargs)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 302, in __init__
    self.connect(**kwargs)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 566, in connect
    self.__open_connection()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 819, in __open_connection
    self.authenticate_with_retry(self.auth_class)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 1075, in authenticate_with_retry
    self._authenticate(auth_instance)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 1096, in _authenticate
    auth.authenticate(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/auth/_auth.py", line 250, in authenticate
    ret = self._rest._post_request(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 704, in _post_request
    ret = self.fetch(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 802, in fetch
    ret = self._request_exec_wrapper(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 925, in _request_exec_wrapper
    raise e
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 845, in _request_exec_wrapper
    return_object = self._request_exec(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 1124, in _request_exec
    raise err
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 1026, in _request_exec
    raw_ret = session.request(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/urllib3/connection.py", line 414, in connect
    self.sock = ssl_wrap_socket(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/ssl_wrap_socket.py", line 78, in ssl_wrap_socket_with_ocsp
    from .ocsp_asn1crypto import SnowflakeOCSPAsn1Crypto as SFOCSP
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/ocsp_asn1crypto.py", line 60, in <module>
    from oscrypto import asymmetric
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/asymmetric.py", line 19, in <module>
    from ._asymmetric import _unwrap_private_key_info
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/_asymmetric.py", line 27, in <module>
    from .kdf import pbkdf1, pbkdf2, pkcs12_kdf
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/kdf.py", line 9, in <module>
    from .util import rand_bytes
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/util.py", line 14, in <module>
    from ._openssl.util import rand_bytes
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/_openssl/util.py", line 6, in <module>
    from ._libcrypto import libcrypto, libcrypto_version_info, handle_openssl_error
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/_openssl/_libcrypto.py", line 9, in <module>
    from ._libcrypto_cffi import (
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/_openssl/_libcrypto_cffi.py", line 27, in <module>
    raise LibraryNotFoundError('The library libcrypto could not be found')
oscrypto.errors.LibraryNotFoundError: The library libcrypto could not be found

I tried poetry add libcrypto and got the following returned:

Traceback (most recent call last):
  File "main.py", line 134, in <module>
    main()
  File "main.py", line 127, in main
    with engine.connect() as con:
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3325, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3404, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3371, in _wrap_pool_connect
    return fn()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 327, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 894, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 493, in checkout
    rec = pool._do_get()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 145, in _do_get
    with util.safe_reraise():
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 143, in _do_get
    return self._create_connection()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 273, in _create_connection
    return _ConnectionRecord(self)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 388, in __init__
    self.__connect()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 690, in __connect
    with util.safe_reraise():
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 686, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 574, in connect
    return dialect.connect(*cargs, **cparams)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/sqlalchemy/snowdialect.py", line 854, in connect
    super().connect(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 598, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/__init__.py", line 51, in Connect
    return SnowflakeConnection(**kwargs)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 302, in __init__
    self.connect(**kwargs)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 566, in connect
    self.__open_connection()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 819, in __open_connection
    self.authenticate_with_retry(self.auth_class)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 1075, in authenticate_with_retry
    self._authenticate(auth_instance)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/connection.py", line 1096, in _authenticate
    auth.authenticate(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/auth/_auth.py", line 250, in authenticate
    ret = self._rest._post_request(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 704, in _post_request
    ret = self.fetch(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 802, in fetch
    ret = self._request_exec_wrapper(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 925, in _request_exec_wrapper
    raise e
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 845, in _request_exec_wrapper
    return_object = self._request_exec(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 1124, in _request_exec
    raise err
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/network.py", line 1026, in _request_exec
    raw_ret = session.request(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/vendored/urllib3/connection.py", line 414, in connect
    self.sock = ssl_wrap_socket(
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/ssl_wrap_socket.py", line 78, in ssl_wrap_socket_with_ocsp
    from .ocsp_asn1crypto import SnowflakeOCSPAsn1Crypto as SFOCSP
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/snowflake/connector/ocsp_asn1crypto.py", line 60, in <module>
    from oscrypto import asymmetric
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/asymmetric.py", line 19, in <module>
    from ._asymmetric import _unwrap_private_key_info
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/_asymmetric.py", line 27, in <module>
    from .kdf import pbkdf1, pbkdf2, pkcs12_kdf
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/kdf.py", line 9, in <module>
    from .util import rand_bytes
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/util.py", line 14, in <module>
    from ._openssl.util import rand_bytes
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/_openssl/util.py", line 6, in <module>
    from ._libcrypto import libcrypto, libcrypto_version_info, handle_openssl_error
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/_openssl/_libcrypto.py", line 9, in <module>
    from ._libcrypto_cffi import (
  File "/home/runner/lpgetsold/venv/lib/python3.10/site-packages/oscrypto/_openssl/_libcrypto_cffi.py", line 27, in <module>
    raise LibraryNotFoundError('The library libcrypto could not be found')
oscrypto.errors.LibraryNotFoundError: The library libcrypto could not be found

Also I’ve updated snowflake-sqlalchemy, snowflake-connector-python, and sqlalchemy to the most recent version

If you open the Console tab, what happens if you run import libcrypto?
Actually, reading this error:

After doing a bit of research, this might be an OOM (Out Of Memory) error. see: