CrateDB Python Client

2.1.2 · active · verified Fri Apr 17

The `crate` library is the official Python client for CrateDB, a distributed SQL database. It provides a DB-API 2.0 compliant interface for connecting to CrateDB clusters, executing SQL queries, and managing data. The current version is 2.1.2, and it typically sees regular updates aligned with CrateDB releases and Python ecosystem changes.

Common errors

Warnings

Install

Imports

Quickstart

Connects to a CrateDB instance, creates a table, inserts two rows, and then queries them. Requires a running CrateDB instance (default: localhost:4200).

import os
from crate.client import connect

CRATEDB_HOST = os.environ.get('CRATEDB_HOST', 'http://localhost:4200')

try:
    # Connect to CrateDB
    connection = connect(CRATEDB_HOST)
    cursor = connection.cursor()

    # Create a table if it doesn't exist
    cursor.execute("CREATE TABLE IF NOT EXISTS my_data (id INTEGER, name TEXT)")
    print("Table 'my_data' ensured.")

    # Insert data
    cursor.execute("INSERT INTO my_data (id, name) VALUES (?, ?)", (1, "Alice"))
    cursor.execute("INSERT INTO my_data (id, name) VALUES (?, ?)", (2, "Bob"))
    connection.commit()
    print("Data inserted.")

    # Query data
    cursor.execute("SELECT * FROM my_data ORDER BY id")
    results = cursor.fetchall()

    print("\nQuery Results:")
    for row in results:
        print(row)

except Exception as e:
    print(f"An error occurred: {e}")
finally:
    if 'connection' in locals() and connection:
        connection.close()
        print("Connection closed.")

view raw JSON →