{"library":"sqlalchemy-singlestoredb","title":"SQLAlchemy SingleStoreDB Dialect","type":"library","description":"SQLAlchemy SingleStoreDB is a dialect for the SingleStoreDB database, enabling SQLAlchemy applications to connect and interact with SingleStoreDB. It provides support for SingleStoreDB-specific features like shard keys, sort keys, persisted columns, and vector data types. The current version is 1.2.1, and it typically releases new versions every few months to add features or address issues.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install sqlalchemy-singlestoredb singlestoredb"],"cli":null},"imports":["from sqlalchemy import create_engine","from sqlalchemy import text"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://www.singlestore.com","github":"https://github.com/singlestore-labs/sqlalchemy-singlestoredb","docs":null,"changelog":null,"pypi":"https://pypi.org/project/sqlalchemy-singlestoredb/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import os\nfrom sqlalchemy import create_engine, text\n\n# Get connection details from environment variables for security\nuser = os.environ.get('SINGLESTORE_USER', 'admin')\npassword = os.environ.get('SINGLESTORE_PASSWORD', 'password')\nhost = os.environ.get('SINGLESTORE_HOST', '127.0.0.1')\nport = os.environ.get('SINGLESTORE_PORT', '3306')\ndatabase = os.environ.get('SINGLESTORE_DATABASE', 'test_db')\n\n# Construct connection URL\nconnection_url = f\"singlestoredb://{user}:{password}@{host}:{port}/{database}\"\n\ntry:\n    # Create an engine instance\n    engine = create_engine(connection_url)\n\n    # Establish a connection and execute a simple query\n    with engine.connect() as connection:\n        # Example: Create a table if it doesn't exist\n        connection.execute(text(\"CREATE TABLE IF NOT EXISTS my_table (id INT, name VARCHAR(255))\"))\n        print(\"Table 'my_table' ensured.\")\n\n        # Example: Insert data\n        connection.execute(text(\"INSERT INTO my_table (id, name) VALUES (:id, :name)\"), {\"id\": 1, \"name\": \"Alice\"})\n        connection.execute(text(\"INSERT INTO my_table (id, name) VALUES (:id, :name)\"), {\"id\": 2, \"name\": \"Bob\"})\n        print(\"Data inserted.\")\n\n        # Example: Select data\n        result = connection.execute(text(\"SELECT id, name FROM my_table\"))\n        for row in result:\n            print(f\"ID: {row.id}, Name: {row.name}\")\n        \n        # Commit the changes (if not in autocommit mode, depends on dialect/DB config)\n        connection.commit()\n\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")","lang":"python","description":"This quickstart demonstrates how to establish a connection to SingleStoreDB using SQLAlchemy, create a table, insert data, and select data. It uses environment variables for secure connection string management and handles basic error reporting.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"1.2.1","pypi_latest":"1.2.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":5.3,"avg_import_s":0.65,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"sqlalchemy-singlestoredb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.5,"mem_mb":15.5,"disk_size":"55.1M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"sqlalchemy-singlestoredb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.7,"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":"sqlalchemy-singlestoredb","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.6,"disk_size":"62.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"sqlalchemy-singlestoredb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.1,"import_time_s":0.66,"mem_mb":17.6,"disk_size":"67M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"sqlalchemy-singlestoredb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.89,"mem_mb":17.8,"disk_size":"49.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"sqlalchemy-singlestoredb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.4,"import_time_s":0.81,"mem_mb":17.8,"disk_size":"58M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"sqlalchemy-singlestoredb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.82,"mem_mb":18,"disk_size":"48.8M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"sqlalchemy-singlestoredb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.79,"mem_mb":18,"disk_size":"57M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"sqlalchemy-singlestoredb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.44,"mem_mb":15.1,"disk_size":"53.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"sqlalchemy-singlestoredb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.9,"import_time_s":0.43,"mem_mb":15.1,"disk_size":"58M"}]}}