Skip to main content

SQLAlchemy dialect for SQreamDB

Project description

Prerequisites

  • Python > 3.9+

  • SQLAlchemy = 2.0.27

  • SQream DB-API Connector = 3.2.5

  • Cython (optional - improves performance)

Installing SQream SQLAlchemy

pip3.9 install pysqream-sqlalchemy -U

Verifying Installation

import sqlalchemy as sa
import pandas as pd
from sqlalchemy import text


conn_str = "sqream://sqream:sqream@localhost:3108/master"
engine = sa.create_engine(conn_str, connect_args={"clustered": True})
session = orm.sessionmaker(bind=engine)()

session.execute(text('create or replace table test (ints int)'))
session.execute(text('insert into test values (5), (6)'))
df = pd.read_sql('select * from test', engine)
print(df)

Connection String

sqream://<user_login_name>:<password>@<host>:<port>/<db_name>

Parameters

Parameter

Description

username

Username of a role to use for connection

password

Specifies the password of the selected role

host

Specifies the hostname

port

Specifies the port number

port_ssl

An optional parameter

database

Specifies the database name

clustered

Establishing a multi-clustered connection. Input values: True, False. Default is False

service

Specifies service queue to use

Example

Pulling a Table into Pandas

The following example shows how to pull a table in Pandas. This example uses the URL method to create the connection string:

import sqlalchemy as sa
import pandas as pd
from sqlalchemy.engine.url import URL


     engine_url = sa.engine.url.URL(
              'sqream',
              username='sqream',
              password='12345',
              host='127.0.0.1',
              port=3108,
              database='master')
     engine = sa.create_engine(engine_url,connect_args={"clustered": True, "service": "admin"})

     table_df = pd.read_sql("select * from nba", con=engine)

Limitations

Arrays

SQream SQLAlchemy doesn’t suppport ARRAY type for columns.

Parameterized Queries

SQream SQLAlchemy supports only the BULK INSERT statement.

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

pysqream_sqlalchemy-1.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

pysqream_sqlalchemy-1.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file pysqream_sqlalchemy-1.0.tar.gz.

File metadata

  • Download URL: pysqream_sqlalchemy-1.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pysqream_sqlalchemy-1.0.tar.gz
Algorithm Hash digest
SHA256 ca9a69e8f5333ac07d27929efd5e044feaf41cf4868d1a5fb80324277ac4f977
MD5 53cc4141e54f31bbf67082f40f450757
BLAKE2b-256 0e30c2164ab98f42751cd9c7671555c50edd78240e9c96846227a35b692edb74

See more details on using hashes here.

File details

Details for the file pysqream_sqlalchemy-1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pysqream_sqlalchemy-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed8df7f844cf6d0303ace1a9b94bf0678fbc11b1eeb6cd1333c9792368959bf3
MD5 fad6584ffd63e7f0d088715327dc98a3
BLAKE2b-256 8e82730a3184878e2b116f8904e6fa1d71bcc692150449a5ebe541cbffcd96bf

See more details on using hashes here.

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