{"library":"sqlalchemy-exasol","title":"SQLAlchemy Exasol Dialect","type":"library","description":"SQLAlchemy-Exasol is a dialect for SQLAlchemy that allows Python applications to connect and interact with an Exasol database. It provides support for both WebSocket and ODBC-based connections to Exasol. The current version is 6.1.1, with releases typically occurring every 1-3 months to introduce new features, fix bugs, and maintain compatibility with Python and SQLAlchemy updates.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install sqlalchemy-exasol","pip install \"sqlalchemy-exasol[odbc]\""],"cli":null},"imports":["from sqlalchemy import create_engine","from sqlalchemy import text"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://www.exasol.com/","github":"https://github.com/exasol/sqlalchemy-exasol","docs":"https://exasol.github.io/sqlalchemy-exasol/","changelog":"https://exasol.github.io/sqlalchemy-exasol/changelog.html","pypi":"https://pypi.org/project/sqlalchemy-exasol/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"from sqlalchemy import create_engine, text\nimport os\n\n# Configure connection details from environment variables or provide defaults\nEXASOL_USER = os.environ.get(\"EXASOL_USER\", \"sys\")\nEXASOL_PASSWORD = os.environ.get(\"EXASOL_PASSWORD\", \"exasol\")\nEXASOL_HOST = os.environ.get(\"EXASOL_HOST\", \"localhost\")\nEXASOL_PORT = os.environ.get(\"EXASOL_PORT\", \"8563\")\nEXASOL_SCHEMA = os.environ.get(\"EXASOL_SCHEMA\", \"SYS\")\n\n# Construct the connection string using the default websocket driver\n# For ODBC, use 'exasol+pyodbc://'\nconnection_string = f\"exasol+websocket://{EXASOL_USER}:{EXASOL_PASSWORD}@{EXASOL_HOST}:{EXASOL_PORT}/{EXASOL_SCHEMA}\"\n\ntry:\n    # Create the engine\n    engine = create_engine(connection_string)\n\n    # Test the connection and execute a simple query\n    with engine.connect() as connection:\n        result = connection.execute(text(\"SELECT 1 FROM DUAL\")).scalar()\n        print(f\"Successfully connected to Exasol. Query result: {result}\")\n\n    # Example: Create a table\n    with engine.connect() as connection:\n        connection.execute(text(\"CREATE SCHEMA IF NOT EXISTS MY_SCHEMA\"))\n        connection.execute(text(\"CREATE TABLE IF NOT EXISTS MY_SCHEMA.test_table (id INT, name VARCHAR(255))\"))\n        connection.commit()\n        print(\"Table MY_SCHEMA.test_table created or already exists.\")\n\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")","lang":"python","description":"This quickstart demonstrates how to establish a connection to an Exasol database using `sqlalchemy-exasol` with the default WebSocket driver. It configures connection parameters from environment variables (or defaults), creates an engine, tests the connection with a simple query, and shows how to create a schema and a table.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"5.1.0","pypi_latest":"7.0.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4.2,"avg_import_s":0.63,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"odbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.53,"mem_mb":15.5,"disk_size":"60.4M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.51,"mem_mb":15.5,"disk_size":"60.4M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"odbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.39,"mem_mb":15.5,"disk_size":"59M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.4,"import_time_s":0.37,"mem_mb":15.5,"disk_size":"59M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"odbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.75,"mem_mb":17.5,"disk_size":"66.3M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.76,"mem_mb":17.5,"disk_size":"66.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"odbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.9,"import_time_s":0.65,"mem_mb":17.5,"disk_size":"65M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4,"import_time_s":0.65,"mem_mb":17.5,"disk_size":"65M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"odbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.85,"mem_mb":17.4,"disk_size":"57.5M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.86,"mem_mb":17.4,"disk_size":"57.5M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"odbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.6,"import_time_s":0.85,"mem_mb":17.4,"disk_size":"56M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.6,"import_time_s":0.87,"mem_mb":17.4,"disk_size":"56M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"odbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.8,"mem_mb":17.6,"disk_size":"57.0M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.8,"mem_mb":17.6,"disk_size":"57.0M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"odbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.7,"import_time_s":0.75,"mem_mb":17.6,"disk_size":"55M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.7,"import_time_s":0.77,"mem_mb":17.6,"disk_size":"55M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"odbc","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.35,"mem_mb":12.5,"disk_size":"57.0M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.38,"mem_mb":12.5,"disk_size":"57.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"odbc","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.5,"import_time_s":0.37,"mem_mb":12.5,"disk_size":"54M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"sqlalchemy-exasol","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.5,"import_time_s":0.37,"mem_mb":12.5,"disk_size":"54M"}]}}