{"library":"sqlalchemy-cockroachdb","title":"SQLAlchemy CockroachDB Dialect","type":"library","description":"The `sqlalchemy-cockroachdb` library provides a database dialect for SQLAlchemy, enabling Python applications to connect and interact with CockroachDB. It currently supports SQLAlchemy 2.0 and later, adapting SQLAlchemy's ORM and SQL Expression Language to CockroachDB's distributed SQL features. The library maintains an active release schedule, often aligning with updates to CockroachDB and SQLAlchemy.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install sqlalchemy-cockroachdb psycopg2-binary"],"cli":null},"imports":["from sqlalchemy import create_engine","from sqlalchemy import text"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://www.cockroachlabs.com","github":"https://github.com/cockroachdb/sqlalchemy-cockroachdb","docs":"https://github.com/cockroachdb/sqlalchemy-cockroachdb/wiki","changelog":null,"pypi":"https://pypi.org/project/sqlalchemy-cockroachdb/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import os\nfrom sqlalchemy import create_engine, text\n\n# CockroachDB connection string (replace with your actual connection string)\n# For a local insecure instance: \"cockroachdb://root@localhost:26257/defaultdb?sslmode=disable\"\n# For CockroachDB Cloud: \"cockroachdb://<username>:<password>@<host>:<port>/<database>?sslmode=require\"\nDATABASE_URL = os.environ.get(\n    \"COCKROACHDB_URL\",\n    \"cockroachdb://root@localhost:26257/defaultdb?sslmode=disable\"\n)\n\ntry:\n    engine = create_engine(DATABASE_URL)\n\n    with engine.connect() as connection:\n        # Verify connection\n        result = connection.execute(text(\"SELECT 1+1\"))\n        print(f\"Result of 1+1: {result.scalar()}\")\n\n        # Example: Create a table with UUID primary key (recommended for CockroachDB)\n        connection.execute(text(\"\"\"\n            CREATE TABLE IF NOT EXISTS accounts (\n                id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n                balance INT\n            )\n        \"\"\"))\n        connection.commit()\n        print(\"Table 'accounts' checked/created.\")\n\n        # Example: Insert data\n        connection.execute(text(\"INSERT INTO accounts (balance) VALUES (:balance)\"), {\"balance\": 100})\n        connection.commit()\n        print(\"Inserted a new account.\")\n\n        # Example: Select data\n        accounts_result = connection.execute(text(\"SELECT id, balance FROM accounts LIMIT 5\"))\n        for row in accounts_result:\n            print(f\"Account ID: {row.id}, Balance: {row.balance}\")\n\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")\n    print(\"Please ensure CockroachDB is running and your connection string is correct.\")\n","lang":"python","description":"Demonstrates connecting to CockroachDB, executing a simple query, creating a table with a UUID primary key, inserting data, and selecting data. It uses an environment variable for the connection URL, falling back to a common local insecure setup.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"2.0.4","pypi_latest":"2.0.4","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.5,"avg_import_s":0.66,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"sqlalchemy-cockroachdb","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":"51.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"sqlalchemy-cockroachdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.6,"import_time_s":0.39,"mem_mb":15.5,"disk_size":"52M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"sqlalchemy-cockroachdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.73,"mem_mb":17.6,"disk_size":"56.4M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"sqlalchemy-cockroachdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.2,"import_time_s":0.68,"mem_mb":17.6,"disk_size":"58M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"sqlalchemy-cockroachdb","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":"47.7M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"sqlalchemy-cockroachdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3,"import_time_s":0.93,"mem_mb":17.4,"disk_size":"49M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"sqlalchemy-cockroachdb","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.6,"disk_size":"47.2M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"sqlalchemy-cockroachdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.3,"import_time_s":0.75,"mem_mb":17.6,"disk_size":"48M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"sqlalchemy-cockroachdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.47,"mem_mb":15.1,"disk_size":"49.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"sqlalchemy-cockroachdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.2,"import_time_s":0.44,"mem_mb":15.1,"disk_size":"52M"}]}}