Skip to main content
  • Version: 1.0.46

  • Supported SQream DB versions: >= Blue cloud

The Python connector for SQream DB is a Python DB API 2.0-compliant interface for developing Python applications with SQream DB.

The SQream Python connector provides an interface for creating and running Python applications that can connect to a SQream DB database. It provides a lighter-weight alternative to working through native C++ or Java bindings, including JDBC and ODBC drivers.

pysqream conforms to Python DB-API specifications PEP-249

pysqream_blue is native and pure Python, with minimal requirements. It can be installed with pip3 on any operating system, including Linux, Windows, and macOS.

Requirements

  • Python 3.9+

Installing the Python connector

Prerequisites

1. Python

The connector requires Python 3.9 or newer. To verify your version of Python:

$ python --version
Python 3.9

2. PIP

The Python connector is installed via pip3, the Python package manager and installer.

We recommend upgrading to the latest version of pip3 before installing. To verify that you are on the latest version, run the following command:

$ python -m pip3 install --upgrade pip
Collecting pip
   Downloading https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1.4MB)
     |████████████████████████████████| 1.4MB 1.6MB/s
Installing collected packages: pip
  Found existing installation: pip 19.1.1
    Uninstalling pip-19.1.1:
      Successfully uninstalled pip-19.1.1
Successfully installed pip-19.3.1

Install via pip

The Python connector is available via PyPi.

Install the connector with pip3:

$ pip3 install pysqream-blue

pip3 will automatically installs all necessary libraries and modules.

Validate the installation

Create a file called test.py (make sure to replace the parameters in the connection with the respective parameters for your SQream DB installation):

#!/usr/bin/env python

import pysqream_blue

"""
Connection parameters include:
* IP/Hostname
* Port
* database name
* username
* password
* Connect through load balancer, or direct to worker (Default: false - direct to worker)
* use SSL connection (default: false)
* Optional service queue (default: 'sqream')
"""

# Create a connection object

con = pysqream_blue.connect(host='127.0.0.1', port='80',
                            database='master', username='sqream', password='sqream')

# Create a new cursor
cur = con.cursor()

# Prepare and execute a query
cur.execute('select 1')

result = cur.fetchall() # `fetchall` gets the entire data set

print(f"Result: {result}")

# This should print the SQream DB version. For example ``Version: v2020.1``.

# close statement
cur.close()

# Finally, close the connection
con.close()

Logging

To enable logging, pass a path to a log file in the connection string as follows:

pysqream_blue.set_log_path('PATH LOG FILE')
con = pysqream_blue.connect('127.0.0.1', '80', use_logs=True, log_level='INFO')

For example save to ‘/tmp/sqream_dbapi.log’:

pysqream_blue.set_log_path('/tmp/sqream_dbapi.log')
con = pysqream_blue.connect('127.0.0.1', '80', use_logs=True, log_level='INFO')

The log level default is ‘INFO’, the logs level are [‘INFO’, ‘DEBUG’, ‘CRITICAL’, ‘WARNING’, ‘ERROR’]

TODO (when server support):

  • use ssl connection.

  • send the token recived in authentication in every following request as call credentials (compile, execute, etc).

  • parametered queries / network insert. the existing code related to those points is a preparation and not reliable.

Differences from V1 pysqream (from user view):

  • The parameters to connect function are different (some were removed and some were added).

  • SSL connection not supported.

  • executemany() (- network insert) not supported.

Design decisions:

  • The grpc chunnel and stubs are opened and closed by __init__ and __del__ methods (which call _connect_to_server() and _disconnect_server() where the implementation itself is). The authentication with sqream and receipt a token made by connect_database() method (while close() close it). User can call close() and then connect_database() for swiching between databases on the same server. It may make sense to decide to close the chunnel as well in close() method (which is a part of DB API).

  • The same chunnel and stubs used for all cursors of a connection but every cursor open his own token. it may make sense to decide to use different stubs or chunnel for every cursor or to use the same token for all.

  • Fetch methods return list of list and not list of tuple

License-File: LICENSE

Metadata

Release files for pysqream-blue 1.0.48

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

Source distribution (sdist)

Source distribution for pysqream-blue 1.0.48
File Size Uploaded Provenance Actions
pysqream-blue-1.0.48.tar.gz 25.6 kB Without provenance Details for pysqream-blue-1.0.48.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pysqream-blue 1.0.48
File Interpreter ABI Platform Actions
pysqream_blue-1.0.48-py3-none-any.whl Python 3 none any Details for pysqream_blue-1.0.48-py3-none-any.whl

Total release size: 55.3 kB

Release files / pysqream-blue-1.0.48.tar.gz

Download URL pysqream-blue-1.0.48.tar.gz
Size 25.6 kB
Tags Source
SHA-256 checksum
How to use checksums
60989ba52504a3420bd4ce80b76441b0c1de0d71c43fb388ebafe166df3a9e82
BLAKE2b-256 checksum
How to use checksums
5f6aecc262bfd16cb3697cb2c1afe682569758067b762b3900667d0536ae9328
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.5

Release files / pysqream_blue-1.0.48-py3-none-any.whl

Download URL pysqream_blue-1.0.48-py3-none-any.whl
Size 29.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a9e5bafa6a986924d1dc66fcca8d6059237d17519ff0ddc01f2ecda41f3ac11c
BLAKE2b-256 checksum
How to use checksums
49412bf043af688068405f18bc37d4efd6d3eff06f12edfd18070ba9fe74205a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.5

Security for pysqream-blue 1.0.48

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.48 This release

2 release files No provenance

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