Skip to content

nuodb/nuodb-python

Folders and files

NameName
Last commit message
Last commit date
Mar 19, 2025
Mar 27, 2025
Sep 15, 2023
Mar 26, 2025
May 27, 2018
Nov 4, 2020
Aug 8, 2023
Mar 19, 2025
Nov 10, 2018
Sep 15, 2023
Aug 3, 2015
Sep 14, 2023
May 27, 2015
Mar 18, 2025
Aug 8, 2023
Jul 1, 2015
Mar 13, 2019
Mar 19, 2025
Mar 30, 2021

Repository files navigation

NuoDB - Python

Dependency Verification

This package contains the community driven pure-Python NuoDB client library that provides a standard PEP 249 SQL API. This is a community driven driver with limited support and testing from NuoDB.

  • Python -- one of the following:
  • NuoDB -- one of the following:

If you don't have a NuoDB domain available you can create one using the Docker image on DockerHub. See Quick Start Guides / Docker.

The current stable release is available on PyPI and can be installed with pip:

$ pip install pynuodb

Alternatively (e.g. if pip is not available), a tarball can be downloaded from GitHub and installed with Setuptools:

$ curl -L https://github.com/nuodb/nuodb-python/archive/master.tar.gz | tar xz
$ cd nuodb-python*
$ python setup.py install
# The folder nuodb-python* can be safely removed now.

Here is an example using the PEP 249 API that creates some tables, inserts some data, runs a query, and cleans up after itself:

import pynuodb

options = {"schema": "test"}
connect_kw_args = {'database': "test", 'host': "localhost", 'user': "dba", 'password': "dba", 'options': options}

connection = pynuodb.connect(**connect_kw_args)
cursor = connection.cursor()
try:
    stmt_drop = "DROP TABLE IF EXISTS names"
    cursor.execute(stmt_drop)

    stmt_create = """
    CREATE TABLE names (
        id BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
        name VARCHAR(30) DEFAULT '' NOT NULL,
        age INTEGER DEFAULT 0
    )"""
    cursor.execute(stmt_create)

    names = (('Greg', 17,), ('Marsha', 16,), ('Jan', 14,))
    stmt_insert = "INSERT INTO names (name, age) VALUES (?, ?)"
    cursor.executemany(stmt_insert, names)

    connection.commit()

    age_limit = 15
    stmt_select = "SELECT id, name FROM names where age > ? ORDER BY id"
    cursor.execute(stmt_select, (age_limit,))
    print("Results:")
    for row in cursor.fetchall():
        print("%d | %s" % (row[0], row[1]))

finally:
    cursor.execute(stmt_drop)
    cursor.close()
    connection.close()

For further information on getting started with NuoDB, please refer to the Documentation.

DB-API 2.0: https://www.python.org/dev/peps/pep-0249/

NuoDB Documentation: https://doc.nuodb.com/nuodb/latest/introduction-to-nuodb/

PyNuoDB is licensed under a BSD 3-Clause License.