Jacob-Stevens-Haas / mitosis

Reproduce Machine Learning experiments easily.
MIT License
2 stars 1 forks source link

Sqlachemy - Pandas typing issue. #34

Open Jacob-Stevens-Haas opened 4 months ago

Jacob-Stevens-Haas commented 4 months ago

When running a mitosis experiment (ARA-Plumes), Ike got the following error:

  File "/Users/Malachite/opt/anaconda3/envs/ARA-plume-exp/lib/python3.11/site-packages/mitosis/__init__.py", line 238, in _verify_variant_name
    df = pd.read_sql(select(tb), eng)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Malachite/opt/anaconda3/envs/ARA-plume-exp/lib/python3.11/site-packages/pandas/io/sql.py", line 706, in read_sql
    return pandas_sql.read_query(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Malachite/opt/anaconda3/envs/ARA-plume-exp/lib/python3.11/site-packages/pandas/io/sql.py", line 2736, in read_query
    cursor = self.execute(sql, params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Malachite/opt/anaconda3/envs/ARA-plume-exp/lib/python3.11/site-packages/pandas/io/sql.py", line 2668, in execute
    raise TypeError("Query must be a string unless using sqlalchemy.")
TypeError: Query must be a string unless using sqlalchemy.

My guess is a certain version of pandas' read_sql function expects a sqlalchemy engine if its given a sqlalchemy select statement. But sqlalchemy's create_engine may create a sqlite3 engine directly, instead of one that pandas recognizes as sqlalchemy.

Jacob-Stevens-Haas commented 3 months ago

In troubleshooting with @malachitewind, identified bug occurs when upgrading pandas from 2.1.4 to 2.2.0