Skip to main content

NuoDB Python driver

Project description

https://dl.circleci.com/status-badge/img/gh/nuodb/nuodb-python/tree/master.svg?style=svg

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.

Requirements

  • Python >= 2.7

    • Recommended Python version >= 3.8

    • Tested with CPython 2.7 and 3.6

  • NuoDB >= 6.0.2

If you don’t have a NuoDB domain available you can create one using the Docker image on DockerHub.

Installation

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.

Example

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.

Resources

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

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

License

PyNuoDB is licensed under a BSD 3-Clause License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pynuodb-4.1.0.tar.gz (39.3 kB view details)

Uploaded Source

File details

Details for the file pynuodb-4.1.0.tar.gz.

File metadata

  • Download URL: pynuodb-4.1.0.tar.gz
  • Upload date:
  • Size: 39.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/44.1.1 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for pynuodb-4.1.0.tar.gz
Algorithm Hash digest
SHA256 3c06b41ba81cf4271f5efbb0e971308cd31f0ca47fd25b3cc10c91ac70c95f51
MD5 7b8601a278cbed3cbba9dc5e00409be8
BLAKE2b-256 01f27dcf08764403a0b94b661fcd1e2d34855d38f61c1cc340f37cfe3982b555

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page