Skip to main content

YDB Dialect for SQLAlchemy

Project description

YDB Dialect for SQLAlchemy


License Functional tests Style checks

This repository contains YQL dialect for SqlAlchemy 2.0.

Note: Dialect also works with SqlAlchemy 1.4, but it is not fully tested.

Installation

To work with current ydb-sqlalchemy version clone this repo and run from source root:

$ pip install -U .

Getting started

Connect to local YDB using SqlAlchemy:

import sqlalchemy as sa


engine = sa.create_engine("yql+ydb://localhost:2136/local")

with engine.connect() as conn:
  rs = conn.execute(sa.text("SELECT 1 AS value"))
  print(rs.fetchone())

To setup alembic to work with YDB please check this example.

Development

Run Tests:

Run the command from the root directory of the repository to start YDB in a local docker container.

$ docker-compose up

To run all tests execute the command from the root directory of the repository:

$ tox -e test-all

Run specific test:

$ tox -e test -- test/test_core.py

Check code style:

$ tox -e style

Reformat code:

$ tox -e isort
$ tox -e black-format

Run example (needs running local YDB):

$ python -m pip install virtualenv
$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
$ python examples/example.py

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

ydb_sqlalchemy-0.1.5.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

ydb_sqlalchemy-0.1.5-py2.py3-none-any.whl (35.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ydb_sqlalchemy-0.1.5.tar.gz.

File metadata

  • Download URL: ydb_sqlalchemy-0.1.5.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.8

File hashes

Hashes for ydb_sqlalchemy-0.1.5.tar.gz
Algorithm Hash digest
SHA256 8a56f27e07a192a64ba1be99daa86b2117fac5c90b3539cca3afc735b0c152d3
MD5 c6261721e82d466b7cb5f02318aefb61
BLAKE2b-256 0229720d3d499ea61cf88f75931bd2ba2684ef1bcda9ebf5b9be0c76daf6a15e

See more details on using hashes here.

File details

Details for the file ydb_sqlalchemy-0.1.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ydb_sqlalchemy-0.1.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cb749810bfcd590ab2d650e3c396d37299135113a667844c6c66af09eb72b9d0
MD5 c8cd0f65ff4425947c7f9d5bc6928201
BLAKE2b-256 a26885edc554ca034e030c596a71a26cd3136a9b398eb14466fb7b808be8f2f9

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 Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page