Skip to main content

Python DB-API driver for Wherobots DB

Project description

wherobots-python-dbapi

Python DB-API implementation for Wherobots DB. This package implements a PEP-0249 compatible driver to programmatically connect to a Wherobots DB runtime and execute Spatial SQL queries.

Installation

If you use Poetry in your project, add the dependency with poetry add:

$ poetry add wherobots-python-dbapi

Otherwise, just pip install it:

$ pip install wherobots-python-dbapi

Usage

Basic usage

Basic usage follows the typical pattern of establishing the connection, acquiring a cursor, and executing SQL queries through it:

from wherobots.db import connect
from wherobots.db.region import Region
from wherobots.db.runtime import Runtime

with connect(
        api_key='...',
        runtime=Runtime.TINY,
        region=Region.AWS_US_WEST_2) as conn:
    curr = conn.cursor()
    curr.execute("SHOW SCHEMAS IN wherobots_open_data")
    results = curr.fetchall()
    print(results)

The Cursor supports the context manager protocol, so you can use it within a with statement when needed:

with connect(...) as conn:
    with conn.cursor() as curr:
        curr.execute(...)
        results = curr.fetchall()

It also implements the close() method, as suggested by the PEP-2049 specification, to support situations where the cursor is wrapped in a contextmanager.closing().

Runtime and region selection

You can chose the Wherobots runtime you want to use using the runtime parameter, passing in one of the Runtime enum values. For more information on runtime sizing and selection, please consult the Wherobots product documentation.

The only supported Wherobots compute region for now is aws-us-west-2, in AWS's Oregon (us-west-2) region.

Advanced parameters

The connect() method takes some additional parameters that advanced users may find useful:

  • results_format: one of the ResultsFormat enum values; Arrow encoding is the default and most efficient format for receiving query results.
  • data_compression: one of the DataCompression enum values; Brotli compression is the default and the most efficient compression algorithm for receiving query results.
  • geometry_representation: one of the GeometryRepresentation enum values; selects the encoding of geometry columns returned to the client application. The default is EWKT (string) and the most convenient for human inspection while still being usable by libraries like Shapely.
  • reuse_session: controls whether an existing runtime of the same type and in the same region that is available should be re-used for this connection. This is the default behavior.

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

wherobots_python_dbapi-0.9.1.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

wherobots_python_dbapi-0.9.1-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file wherobots_python_dbapi-0.9.1.tar.gz.

File metadata

File hashes

Hashes for wherobots_python_dbapi-0.9.1.tar.gz
Algorithm Hash digest
SHA256 7e829cdd009593414d1635fcfb83b5a373ec7c66879a235c1633b7e234ef6159
MD5 84563d51c2c9a02e080d44603661318d
BLAKE2b-256 db18dbc4b4aa2a7176b7fa5631e7080537982edc0a7605d8d90b15a47c6daee5

See more details on using hashes here.

Provenance

The following attestation bundles were made for wherobots_python_dbapi-0.9.1.tar.gz:

Publisher: pypi-publish.yaml on wherobots/wherobots-python-dbapi

Attestations:

File details

Details for the file wherobots_python_dbapi-0.9.1-py3-none-any.whl.

File metadata

File hashes

Hashes for wherobots_python_dbapi-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 addd018793c39e9e3cb06c20bcc47724a81f8926d27e05f330863862ac688699
MD5 ebe95e0f30fc2bfc09b9f71e65a66993
BLAKE2b-256 df23a72dab429b1a3e8e59204e4732877084cb06a7f58994950ab24b06f04c5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for wherobots_python_dbapi-0.9.1-py3-none-any.whl:

Publisher: pypi-publish.yaml on wherobots/wherobots-python-dbapi

Attestations:

Supported by

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