Skip to main content

Relaxed PostgreSQL dialects for SQLAlchemy

Project description

https://github.com/daq-tools/sqlalchemy-postgresql-relaxed/workflows/Tests/badge.svg Test suite code coverage https://pepy.tech/badge/sqlalchemy-postgresql-relaxed/month https://img.shields.io/pypi/v/sqlalchemy-postgresql-relaxed.svg https://img.shields.io/pypi/status/sqlalchemy-postgresql-relaxed.svg https://img.shields.io/pypi/pyversions/sqlalchemy-postgresql-relaxed.svg https://img.shields.io/pypi/l/sqlalchemy-postgresql-relaxed.svg

Relaxed PostgreSQL dialects for SQLAlchemy

About

The vanilla dialects for connecting to PostgreSQL with SQLAlchemy will employ a few behaviors that strictly expect a PostgreSQL server on the other end. However, some operations may croak on databases which only offer wire-compatibility with PostgreSQL.

The dialects provided by sqlalchemy-postgresql-relaxed are building upon the vanilla SQLAlchemy dialects, but will disable a few PostgreSQL specifics.

  • postgresql+psycopg: Accept non-conforming server version responses.

  • postgresql+psycopg: Don’t issue SHOW STANDARD_CONFORMING_STRINGS inquiry.

  • postgresql+asyncpg: Don’t strictly expect JSON and JSONB codecs.

Usage

The corresponding dialect identifiers are:

  • postgresql+psycopg_relaxed

  • postgresql+asyncpg_relaxed

They can be used within SQLAlchemy database URL identifiers as usual.

# psycopg synchronous
create_engine(
    url="postgresql+psycopg_relaxed://crate@localhost/acme",
    isolation_level="AUTOCOMMIT",
    use_native_hstore=False)

# psycopg asynchronous
create_async_engine(
    url="postgresql+psycopg_relaxed://crate@localhost/acme",
    isolation_level="AUTOCOMMIT",
    use_native_hstore=False)

# asyncpg
create_async_engine(
    url="postgresql+asyncpg_relaxed://crate@localhost/acme",
    isolation_level="AUTOCOMMIT")

Setup

pip install --upgrade sqlalchemy-postgresql-relaxed

To install the latest development version from the repository, invoke:

pip install --upgrade git+https://github.com/daq-tools/sqlalchemy-postgresql-relaxed

Project information

Contributions

Every kind of contribution, feedback, or patch, is much welcome. Create an issue or submit a patch if you think we should include a new feature, or to report or fix a bug.

Development

In order to setup a development environment on your workstation, please head over to the development sandbox documentation. When you see the software tests succeed, you should be ready to start hacking.

Resources

License and warranty

The project is licensed under the terms of the MIT license, see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlalchemy-postgresql-relaxed-0.1.0.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

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