{"library":"scylla-driver","title":"Scylla Driver for Apache Cassandra","description":"The Scylla Python Driver is a modern, feature-rich, and highly-tunable Python client library designed for Scylla Open Source (2.1+), Apache Cassandra (2.1+), and Scylla Enterprise (2018.1.x+). It exclusively uses Cassandra's binary protocol and Cassandra Query Language v3. The driver, currently at version 3.29.9, offers synchronous and asynchronous APIs, connection pooling, automatic node discovery, and includes an integrated object mapper (cqlengine). It maintains an active release cadence with frequent updates.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install scylla-driver"],"cli":null},"imports":["from cassandra.cluster import Cluster","from cassandra.cluster import Cluster; session = cluster.connect()","from cassandra.auth import PlainTextAuthProvider"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom cassandra.cluster import Cluster\nfrom cassandra.auth import PlainTextAuthProvider\n\n# Replace with your ScyllaDB/Cassandra contact points and credentials\nCONTACT_POINTS = os.environ.get('SCYLLA_CONTACT_POINTS', '127.0.0.1').split(',')\nUSERNAME = os.environ.get('SCYLLA_USERNAME', 'scylla')\nPASSWORD = os.environ.get('SCYLLA_PASSWORD', 'password')\n\nauth_provider = PlainTextAuthProvider(username=USERNAME, password=PASSWORD)\n\ncluster = None\nsession = None\ntry:\n    cluster = Cluster(contact_points=CONTACT_POINTS, auth_provider=auth_provider)\n    session = cluster.connect()\n\n    # Example: Create a keyspace and table (if they don't exist)\n    session.execute(\n        \"\"\"CREATE KEYSPACE IF NOT EXISTS mykeyspace WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1': 1}\"\"\"\n    )\n    session.set_keyspace('mykeyspace')\n    session.execute(\n        \"\"\"CREATE TABLE IF NOT EXISTS users (id UUID PRIMARY KEY, name text, email text)\"\"\"\n    )\n\n    # Example: Insert data\n    user_id = session.execute(\"SELECT uuid() FROM system.local\").one()[0]\n    session.execute(\n        \"\"\"INSERT INTO users (id, name, email) VALUES (%s, %s, %s)\"\"\",\n        (user_id, \"Alice\", \"alice@example.com\")\n    )\n    print(f\"Inserted user: {user_id}\")\n\n    # Example: Select data\n    rows = session.execute(\"SELECT id, name, email FROM users WHERE id = %s\", (user_id,))\n    for row in rows:\n        print(f\"Retrieved user: {row.id}, {row.name}, {row.email}\")\n\nfinally:\n    if session:\n        session.shutdown()\n    if cluster:\n        cluster.shutdown()","lang":"python","description":"This quickstart demonstrates how to establish a connection to a ScyllaDB or Cassandra cluster, create a keyspace and table, insert data, and retrieve it. It uses environment variables for credentials, suitable for secure deployment.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"3.29.10","pypi_latest":"3.29.10","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4.7,"avg_import_s":0.29,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"scylla-driver","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.21,"mem_mb":10.1,"disk_size":"23.7M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"scylla-driver","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.15,"mem_mb":9.1,"disk_size":"35M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"scylla-driver","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.34,"mem_mb":11.4,"disk_size":"26.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"scylla-driver","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.3,"mem_mb":10.3,"disk_size":"37M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"scylla-driver","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.52,"mem_mb":14.8,"disk_size":"18.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"scylla-driver","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.29,"mem_mb":10.1,"disk_size":"29M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"scylla-driver","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.52,"mem_mb":15.9,"disk_size":"18.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"scylla-driver","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.27,"mem_mb":10.6,"disk_size":"29M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"scylla-driver","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.19,"mem_mb":9.8,"disk_size":"23.1M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"scylla-driver","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":15.1,"import_time_s":0.15,"mem_mb":9.8,"disk_size":"24M"}]}}