pysqream-sqlalchemy


Namepysqream-sqlalchemy JSON
Version 1.1 PyPI version JSON
download
home_pagehttps://github.com/SQream/pysqream_sqlalchemy
SummarySQLAlchemy dialect for SQreamDB
upload_time2024-03-14 11:51:17
maintainer
docs_urlNone
authorSQream
requires_python>=3.9
license
keywords database sqlalchemy sqream sqreamdb
VCS
bugtrack_url
requirements alembic numpy SQLAlchemy pandas pysqream setuptools pytest
Travis-CI No Travis.
coveralls test coverage No coveralls.
            **********************************
SQLAlchemy Dialect for SQream DB
**********************************

Prerequisites
================

* Python > 3.9+
* SQLAlchemy = 2.0.27
* SQream DB-API Connector = 3.2.5
* Cython (optional - improves performance)

Installing SQream SQLAlchemy
=============================

.. code-block:: shell

    pip3.9 install pysqream-sqlalchemy -U

Verifying Installation
------------------------

.. code-block:: python

    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 
=====================

.. code-block:: shell

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

Parameters
------------

.. list-table:: 
   :widths: auto
   :header-rows: 1
   
   * - 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:

.. code-block:: python

   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.






















            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/SQream/pysqream_sqlalchemy",
    "name": "pysqream-sqlalchemy",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "database sqlalchemy sqream sqreamdb",
    "author": "SQream",
    "author_email": "info@sqream.com",
    "download_url": "https://files.pythonhosted.org/packages/bb/47/bdd8876bb46423c24dbbb9c7dae4421100c6f9668f8a69323f7efc933ec0/pysqream_sqlalchemy-1.1.tar.gz",
    "platform": null,
    "description": "**********************************\nSQLAlchemy Dialect for SQream DB\n**********************************\n\nPrerequisites\n================\n\n* Python > 3.9+\n* SQLAlchemy = 2.0.27\n* SQream DB-API Connector = 3.2.5\n* Cython (optional - improves performance)\n\nInstalling SQream SQLAlchemy\n=============================\n\n.. code-block:: shell\n\n    pip3.9 install pysqream-sqlalchemy -U\n\nVerifying Installation\n------------------------\n\n.. code-block:: python\n\n    import sqlalchemy as sa\n    import pandas as pd\n    from sqlalchemy import text\n\n\n    conn_str = \"sqream://sqream:sqream@localhost:3108/master\"                                                  \n    engine = sa.create_engine(conn_str, connect_args={\"clustered\": True})\n    session = orm.sessionmaker(bind=engine)()\n\n    session.execute(text('create or replace table test (ints int)'))\n    session.execute(text('insert into test values (5), (6)'))\n    df = pd.read_sql('select * from test', engine)\n    print(df)\n\nConnection String \n=====================\n\n.. code-block:: shell\n\n    sqream://<user_login_name>:<password>@<host>:<port>/<db_name>\n\nParameters\n------------\n\n.. list-table:: \n   :widths: auto\n   :header-rows: 1\n   \n   * - Parameter\n     - Description\n   * - ``username``\n     - Username of a role to use for connection\n   * - ``password``\n     - Specifies the password of the selected role\n   * - ``host``\n     - Specifies the hostname\n   * - ``port``\n     - Specifies the port number\n   * - ``port_ssl``\n     - An optional parameter\n   * - ``database``\n     - Specifies the database name \n   * - ``clustered``\n     - Establishing a multi-clustered connection. Input values: ``True``, ``False``. Default is ``False``\n   * - ``service``\n     - Specifies service queue to use\n\nExample\n=========\n\nPulling a Table into Pandas\n---------------------------\n\nThe following example shows how to pull a table in Pandas. This example uses the URL method to create the connection string:\n\n.. code-block:: python\n\n   import sqlalchemy as sa\n   import pandas as pd\n   from sqlalchemy.engine.url import URL\n\n\n\tengine_url = sa.engine.url.URL(\n                 'sqream',\n                 username='sqream',\n                 password='12345',\n                 host='127.0.0.1',\n                 port=3108,\n                 database='master')\n\tengine = sa.create_engine(engine_url,connect_args={\"clustered\": True, \"service\": \"admin\"})\n\n\ttable_df = pd.read_sql(\"select * from nba\", con=engine)\n\n\nLimitations\n=============\n\nArrays\n-----------------------\nSQream SQLAlchemy doesn't suppport ``ARRAY`` type for columns.\n\n\nParameterized Queries\n-----------------------\nSQream SQLAlchemy supports only the ``BULK INSERT`` statement.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "SQLAlchemy dialect for SQreamDB",
    "version": "1.1",
    "project_urls": {
        "Homepage": "https://github.com/SQream/pysqream_sqlalchemy"
    },
    "split_keywords": [
        "database",
        "sqlalchemy",
        "sqream",
        "sqreamdb"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c34331f43c3ce8d8e9d2d0e84523c0d68e582ec119ef1eeaeac11819f0060557",
                "md5": "3d267112738366d6a160f598113b8046",
                "sha256": "53f0d5f90a2ddff6f9856ac55841e4323dd3436b36c8697a171795c87b5f83ab"
            },
            "downloads": -1,
            "filename": "pysqream_sqlalchemy-1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3d267112738366d6a160f598113b8046",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 10620,
            "upload_time": "2024-03-14T11:51:15",
            "upload_time_iso_8601": "2024-03-14T11:51:15.588952Z",
            "url": "https://files.pythonhosted.org/packages/c3/43/31f43c3ce8d8e9d2d0e84523c0d68e582ec119ef1eeaeac11819f0060557/pysqream_sqlalchemy-1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb47bdd8876bb46423c24dbbb9c7dae4421100c6f9668f8a69323f7efc933ec0",
                "md5": "7d5f91e5e0ee7fcdaca3578b09409ef1",
                "sha256": "8ad2e3ec3b39f5241797558cd3a5af98d2ba0f79063d62e10fe54f06c02df697"
            },
            "downloads": -1,
            "filename": "pysqream_sqlalchemy-1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "7d5f91e5e0ee7fcdaca3578b09409ef1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 11003,
            "upload_time": "2024-03-14T11:51:17",
            "upload_time_iso_8601": "2024-03-14T11:51:17.539280Z",
            "url": "https://files.pythonhosted.org/packages/bb/47/bdd8876bb46423c24dbbb9c7dae4421100c6f9668f8a69323f7efc933ec0/pysqream_sqlalchemy-1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-14 11:51:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SQream",
    "github_project": "pysqream_sqlalchemy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "alembic",
            "specs": [
                [
                    "==",
                    "1.10.2"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.20"
                ]
            ]
        },
        {
            "name": "SQLAlchemy",
            "specs": [
                [
                    "==",
                    "2.0.27"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "2.2.1"
                ]
            ]
        },
        {
            "name": "pysqream",
            "specs": [
                [
                    "==",
                    "3.2.5"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    ">=",
                    "57.4.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "7.4.2"
                ]
            ]
        }
    ],
    "lcname": "pysqream-sqlalchemy"
}
        
Elapsed time: 0.22048s