{"record":{"id":"bcec0308ee3872c0","repo":"pola-rs/polars","slug":"writing-with-sqlalchemy-engine-requires-pandas","errorCode":null,"errorMessage":"writing with 'sqlalchemy' engine requires pandas >= 1.5; found {pd.__version__!r}","messagePattern":"writing with 'sqlalchemy' engine requires pandas >= 1\\.5; found (.+?)","errorType":"exception","errorClass":"ModuleUpgradeRequiredError","httpStatus":null,"severity":"error","filePath":"py-polars/src/polars/dataframe/frame.py","lineNumber":4689,"sourceCode":"                        msg\n                    )\n                else:\n                    n_rows = cursor.adbc_ingest(\n                        table_name=unpacked_table_name,\n                        data=data,\n                        mode=mode,\n                        **(engine_options or {}),\n                    )\n                conn.commit()\n            return n_rows\n\n        elif engine == \"sqlalchemy\":\n            if not _PANDAS_AVAILABLE:\n                msg = \"writing with 'sqlalchemy' engine currently requires pandas.\\n\\nInstall with: pip install pandas\"\n                raise ModuleNotFoundError(msg)\n            elif (pd_version := parse_version(pd.__version__)) < (1, 5):\n                msg = f\"writing with 'sqlalchemy' engine requires pandas >= 1.5; found {pd.__version__!r}\"\n                raise ModuleUpgradeRequiredError(msg)\n\n            import_optional(\n                module_name=\"sqlalchemy\",\n                min_version=(\"2.0\" if pd_version >= (2, 2) else \"1.4\"),\n                min_err_prefix=\"pandas >= 2.2 requires\",\n            )\n            # note: the catalog (database) should be a part of the connection string\n            from sqlalchemy.engine import Connectable, create_engine\n            from sqlalchemy.orm import Session\n\n            # note: we can only dispose of engines that we create ourselves;\n            # caller-supplied connectables remain the caller's responsibility\n            engine_to_dispose: Engine | None = None\n            sa_object: Connectable\n\n            if isinstance(connection, str):\n                sa_object = engine_to_dispose = create_engine(connection)\n            elif isinstance(connection, Session):","sourceCodeStart":4671,"sourceCodeEnd":4707,"githubUrl":"https://github.com/pola-rs/polars/blob/df599052daf96e7a9cc30a3b0c6bd25d6947e3c0/py-polars/src/polars/dataframe/frame.py#L4671-L4707","documentation":"Error \"writing with 'sqlalchemy' engine requires pandas >= 1.5; found {pd.__version__!r}\" thrown in pola-rs/polars.","triggerScenarios":"Thrown at py-polars/src/polars/dataframe/frame.py:4689 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"df599052daf96e7a9cc30a3b0c6bd25d6947e3c0","analyzedAt":"2026-08-16T12:10:03.978Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}