Skip to content

Repository files navigation

NuoDB - Python

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.

  • 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.

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:

importpynuodboptions= {"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=15stmt_select="SELECT id, name FROM names where age > ? ORDER BY id"cursor.execute(stmt_select, (age_limit,))
print("Results:")
forrowincursor.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.

About

Pure-python SQL driver implementation.

Topics

Resources

Contributing

Stars

19 stars

Watchers

49 watching

Forks

Releases

Packages

Used by

Contributors

Languages