{"library":"pymonetdb","title":"MonetDB Python API","description":"pymonetdb is the native Python client API for MonetDB. It is cross-platform and does not depend on any MonetDB libraries. It supports Python 3.7+ and PyPy, and is Python DBAPI 2.0 compatible. Besides standard DBAPI 2.0 functionality, it also provides MonetDB-specific features like file transfers. It is currently at version 1.9.0 and has an active development and release cadence.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pymonetdb"],"cli":null},"imports":["import pymonetdb\nconn = pymonetdb.connect(...)","from pymonetdb import Error"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pymonetdb\nimport os\n\n# Configure connection details using environment variables for security\nhostname = os.environ.get('MONETDB_HOSTNAME', 'localhost')\nport = int(os.environ.get('MONETDB_PORT', 50000))\nusername = os.environ.get('MONETDB_USERNAME', 'monetdb')\npassword = os.environ.get('MONETDB_PASSWORD', 'monetdb')\ndatabase = os.environ.get('MONETDB_DATABASE', 'demo')\n\nconn = None\ntry:\n    # Establish a connection to the MonetDB database\n    conn = pymonetdb.connect(\n        hostname=hostname, \n        port=port,\n        username=username, \n        password=password,\n        database=database\n    )\n    print(\"Successfully connected to MonetDB!\")\n\n    # Create a cursor object\n    cursor = conn.cursor()\n\n    # Execute a simple query\n    cursor.execute(\"SELECT 'Hello from pymonetdb!' AS message;\")\n\n    # Fetch the result\n    result = cursor.fetchone()\n    print(f\"Query result: {result[0]}\")\n\n    # Example of fetching multiple rows (e.g., system tables)\n    cursor.execute(\"SELECT name FROM sys.tables ORDER BY name LIMIT 3;\")\n    tables = cursor.fetchall()\n    print(\"First 3 system tables:\", [t[0] for t in tables])\n\n    # Always commit changes if any DML operations were performed\n    # conn.commit()\n\nexcept pymonetdb.Error as e:\n    print(f\"MonetDB Database error: {e}\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")\nfinally:\n    # Ensure the connection is closed\n    if conn:\n        conn.close()\n        print(\"Connection closed.\")","lang":"python","description":"This quickstart demonstrates how to establish a connection to a MonetDB database, execute a simple SQL query, and fetch results using `pymonetdb.connect()` and cursor operations. It emphasizes using environment variables for sensitive connection parameters and proper error handling with connection closure.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"1.9.0","pypi_latest":"1.9.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.6,"avg_import_s":0.19,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.16,"mem_mb":6.8,"disk_size":"18.7M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.6,"import_time_s":0.12,"mem_mb":6.8,"disk_size":"19M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.25,"mem_mb":7.4,"disk_size":"20.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.6,"import_time_s":0.21,"mem_mb":7.4,"disk_size":"21M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.23,"mem_mb":7.5,"disk_size":"12.6M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.4,"import_time_s":0.23,"mem_mb":7.5,"disk_size":"13M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.24,"mem_mb":8.7,"disk_size":"12.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.5,"import_time_s":0.23,"mem_mb":8.6,"disk_size":"13M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.15,"mem_mb":6.8,"disk_size":"18.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pymonetdb","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.13,"mem_mb":6.8,"disk_size":"19M"}]}}