Skip to main content

SQLAlchemy dialect for Mimer SQL (via MimerPy/PEP 249)

Project description

sqlalchemy-mimer

A SQLAlchemy 2.x dialect for Mimer SQL, built on top of the PEP 249-compliant driver MimerPy.

Status: Beta — functional but under active development.

🔧 Installation

From source (editable mode)

python -m pip install -e .

Install (PyPi)

python -m pip install sqlalchemy-mimer

🔗 Connection

Supported URL forms

The dialect supports several URI variants:

  • mimer://user:password@database
  • mimer://user:password@host:port/database
  • mimer://user:password@host:port/?dsn=database
  • mimer+mimerpy://user:password@database
  • mimer+mimerpy://user:password@host:port/database
  • mimer+mimerpy://user:password@host:port/?dsn=database

Example:

from sqlalchemy import create_engine

engine = create_engine("mimer://SYSADM:SYSPASS@mimerdb")
engine = create_engine("mimer://SYSADM:SYSPASS@localhost:1360/mimerdb")
engine = create_engine("mimer+mimerpy://SYSADM:SYSPASS@localhost:1360/?dsn=mimerdb")

Note: Until the Mimer SQL C API and MimerPy support host and port parameters, those parts of the URI are parsed but ignored.

▶️ Examples

Run basic demo programs:

python examples/demo_test.py -u <database username> -d <database>
python examples/demo_create_table.py

Run a bit more complete demo that show some of the ORM capabilities:

python examples/demo_orm.py -u <database username> -d <database>

🧪 Running Tests

Before running the tests a Mimer SQL database ident with databank and ident privileges is needed. If no suitable ident exists it can be created with:

create ident TST_MASTER as user using 'TST_MASTER_PWD';
grant ident to TST_MASTER;
grant databank to TST_MASTER with grant option;

To tell the unittests what ident and password to use, set them as environment variables. On Linux and macOS you can do:

export MIMER_TEST_USER=TST_MASTER
export MIMER_TEST_PASSWORD=TST_MASTER_PWD

To run all unittests:

python -m unittest discover tests

Run a specific test file for detailed output:

python tests/test_basic_dml.py
python tests/test_constraints.py
python tests/test_orm.py
.
.
.

Documentation

To build the documentation you have to install mkdocs:

python -m pip install mkdocs mkdocs-material

Build documentation:

mkdocs build

View the generated documentation, run:

mkdocs serve

Alternatively build the docs without flat structure that can be viewed in the browser directly without relying on mkdocs serve:

mkdocs build -f mkdir-nodir.yml

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

sqlalchemy_mimer-1.0.1.tar.gz (47.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sqlalchemy_mimer-1.0.1-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file sqlalchemy_mimer-1.0.1.tar.gz.

File metadata

  • Download URL: sqlalchemy_mimer-1.0.1.tar.gz
  • Upload date:
  • Size: 47.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for sqlalchemy_mimer-1.0.1.tar.gz
Algorithm Hash digest
SHA256 56a176aa6a639959c47aede65ad104d87a19c07c0af579248df10f71cd0f6ab8
MD5 336605adef744cc441f8f80c28cf9d27
BLAKE2b-256 31b164922a6964d8f69012fdfbd442d7ebd7c6e2c8a5b228844a968824e35fcc

See more details on using hashes here.

File details

Details for the file sqlalchemy_mimer-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for sqlalchemy_mimer-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 454d46c71d6b4a3409fc9ae005e505b0dc53964fc12da5628e19c647b1028a98
MD5 bfc2bb16ca658236e7969489960db129
BLAKE2b-256 6f6633cf5931fe0f7bb22d0c62ea3bdeb22d289c9cff4daa2682a792c925de29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page