Skip to main content

Database wrapper classes for SQLAlchemy.

Project description

bh_database

Database wrapper classes for SQLAlchemy.

Installation

To install for MySQL using the mysql-connector-python driver, use the following command:

pip install bh-database[mysql-connector-python]

To install for PostgreSQL using the psycopg2 driver, use the following command::

pip install bh-database[psycopg2-binary]

Overview

Database wrapper classes for SQLAlchemy.

These classes currently support only two database types: MySQL and PostgreSQL. Drivers required, respectively:

These classes provide the following functionalities:

  • Database connection management.

  • A custom SQLAlchemy query class which implements paginating.

  • A generic base model (table), which should be the indirect base model for applications' models. This class encapsulates:

    • SQLAlchemy scoped session, thereby providing methods to implement transaction atomicity.

    • A custom base query with paginating ability mentioned above.

    • Fully implemented dunder methods str() and repr().

  • A generic SQLAlchemy declarative base class which should include all required metaclasses.

  • Some generic methods which run full text SQL statements.

  • A generic method to run stored procedures which return data.

  • A generic method which takes a list of records to be inserted, and records to be updated, and writes them to the target database table in a single call.

  • Transaction atomicity. Multiple database operations involving several different tables can be wrapped under a single transaction, so that all can be committed or rolled back as appropriate.

Please see Full documentation for more detail.

Documentation

Full documentation

License

MIT license

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

bh_database-0.0.6.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

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

bh_database-0.0.6-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file bh_database-0.0.6.tar.gz.

File metadata

  • Download URL: bh_database-0.0.6.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.1

File hashes

Hashes for bh_database-0.0.6.tar.gz
Algorithm Hash digest
SHA256 d0f24b905f8533b314fbbe9e9ccb3d30b7d900e7bd6c807a629fedcdcd499e7a
MD5 41ee30c113ad3687330df3670c1fe00e
BLAKE2b-256 415a026ae95381bd20e7c2fc2050ea4e7b04763fcd369a538f64680a326cd139

See more details on using hashes here.

File details

Details for the file bh_database-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: bh_database-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.1

File hashes

Hashes for bh_database-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2a224ef3d16640bf372d43072d508035ef8be5afdc4a433409f0e164c80c777d
MD5 1c106f9dfabee7aeb0b5df6c0785dd66
BLAKE2b-256 2cd620026d9383f6f877b388b615a054d88acb76ee11393e0115d829fbeb0236

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