Skip to main content

Introduction

This is the new native python client API. This API is cross-platform, and doesn’t depend on any monetdb libraries. It has support for python 2.5+ and is Python DBAPI 2.0 compatible.

DEPRECATION WARNING

python-monetdb is replaced by pymonetdb. python-monetdb won’t receive any more updates. Please switch to pymonetdb, which should be a drop-in replacement. Only change your import statement from import monetdb to import pymonetdb

Installation

To install the MonetDB python API run the following command from the python source directory:

# python setup.py install

That’s all, now you are ready to start using the API.

Documentation

The python code is well documented, so if you need to find documentation you should have a look at the source code. Below is an interactive example on how to use the monetdb SQL API which should get you started quite fast.

Running the test suite

Install tox and run tox in the root.

You can control the testing behavior using environment variables:

* MAPIPORT - what port is MonetDB running? _50000_ by default
* TSTHOSTNAME -  where is MonetDB running? _localhost_ by default
* TSTPASSPHRASE - what passphrase to test control command? _testdb_ by default
* TSTDB -  what database to use for testing? _demo_ by default
* TSTUSERNAME - username, _monetdb_ by default
* TSTPASSWORD - password, _monetdb_ by default

Note that you first need to create and start a monetdb database. Also if you want to run the control tests you need to set a passphrase and set control=true.

Examples

There are some examples in the ‘examples’ folder, but here are is a line by line example of the SQL API:

> # import the SQL module
> import monetdb.sql
>
> # set up a connection. arguments below are the defaults
> connection = monetdb.sql.connect(username="monetdb", password="monetdb", hostname="localhost", database="demo")
>
> # create a cursor
> cursor = connection.cursor()
>
> # increase the rows fetched to increase performance (optional)
> cursor.arraysize = 100
>
> # execute a query (return the number of rows to fetch)
> cursor.execute('SELECT * FROM tables')
26
>
> # fetch only one row
> cursor.fetchone()
[1062, 'schemas', 1061, None, 0, True, 0, 0]
>
> # fetch the remaining rows
> cursor.fetchall()
[[1067, 'types', 1061, None, 0, True, 0, 0],
 [1076, 'functions', 1061, None, 0, True, 0, 0],
 [1085, 'args', 1061, None, 0, True, 0, 0],
 [1093, 'sequences', 1061, None, 0, True, 0, 0],
 [1103, 'dependencies', 1061, None, 0, True, 0, 0],
 [1107, 'connections', 1061, None, 0, True, 0, 0],
 [1116, '_tables', 1061, None, 0, True, 0, 0],
 ...
 [4141, 'user_role', 1061, None, 0, True, 0, 0],
 [4144, 'auths', 1061, None, 0, True, 0, 0],
 [4148, 'privileges', 1061, None, 0, True, 0, 0]]
>
> # Show the table meta data
> cursor.description
[('id', 'int', 4, 4, None, None, None),
 ('name', 'varchar', 12, 12, None, None, None),
 ('schema_id', 'int', 4, 4, None, None, None),
 ('query', 'varchar', 168, 168, None, None, None),
 ('type', 'smallint', 1, 1, None, None, None),
 ('system', 'boolean', 5, 5, None, None, None),
 ('commit_action', 'smallint', 1, 1, None, None, None),
 ('temporary', 'tinyint', 1, 1, None, None, None)]

If you would like to communicate with the database at a lower level you can use the MAPI library:

> from monetdb import mapi
> server = mapi.Server()
> server.connect(hostname="localhost", port=50000, username="monetdb", password="monetdb", database="demo", language="sql")
> server.cmd("sSELECT * FROM tables;")
...

Release files for python-monetdb 11.19.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-monetdb 11.19.3.2
File Size Uploaded
python-monetdb-11.19.3.2.tar.gz 35.2 kB Details

Release files / python-monetdb-11.19.3.2.tar.gz

Download URL python-monetdb-11.19.3.2.tar.gz
Size 35.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fc976189c933a6a7740e7e0b48251488572e2d1e2011e7bdf8aa488ad03a5dc7
BLAKE2b-256 checksum
How to use checksums
6098ceb0a6eb00df4422b37ba7a2acb9e77b53a7aeaebbe3839f7005e5e0c3bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page