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/pyveci/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.
Metadata
Release files for sqlalchemy-postgresql-relaxed 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sqlalchemy_postgresql_relaxed-0.1.2.tar.gz | 7.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sqlalchemy_postgresql_relaxed-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.9 kB
Release files / sqlalchemy_postgresql_relaxed-0.1.2.tar.gz
| Download URL | sqlalchemy_postgresql_relaxed-0.1.2.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aae7782e7a0c4a2d9855280aa1c87a71e316b188903615b63f83929c38aa50d5
|
|
BLAKE2b-256 checksum How to use checksums |
742fb42f98d104c59f9db6b3da6ff50fc966df6e81c93134ccf217071e6e2608
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / sqlalchemy_postgresql_relaxed-0.1.2-py3-none-any.whl
| Download URL | sqlalchemy_postgresql_relaxed-0.1.2-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ae58a8b0610936579ef13e03d925f2f6147120e553324b854d350ae8eab9f24
|
|
BLAKE2b-256 checksum How to use checksums |
711e0dfe30e70b57e1954c4e2541f3d7bda7854ebe713397b8c40765d1a61904
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|