Skip to main content

Custom Database Queries

Project description

Few Utility Functions

License Python PyPi Build Status

Install

pip install ddcDatabases

Databases

DBSQLITE

class DBSqlite(db_file_path: str, batch_size=100, echo=False, future=True)
import sqlalchemy as sa
from ddcDatabases import DBSqlite, DBUtils
dbsqlite = DBSqlite(database_file_path)
with dbsqlite.session() as session:
    stmt = sa.select(Table).where(Table.id == 1)
    db_utils = DBUtils(session)
    results = db_utils.fetchall(stmt)

DBPOSTGRES

  • Using driver "psycopg2" as default
class DBPostgres(future=True, echo=False, drivername="psycopg2", **kwargs)
import sqlalchemy as sa
from ddcDatabases import DBPostgres, DBUtils
db_configs = {
    "username": username,
    "password": password,
    "host": host,
    "port": port,
    "database": database
}
dbpostgres = DBPostgres(**db_configs)
with dbpostgres.session() as session:
    stmt = sa.select(Table).where(Table.id == 1)
    db_utils = DBUtils(session)
    results = db_utils.fetchall(stmt)
  • DBUTILS
    • Uses SQLAlchemy statements
from ddcDatabases import DBUtils
db_utils = DBUtils(session)
db_utils.add(stmt)
db_utils.execute(stmt)
db_utils.fetchall(stmt)
db_utils.fetchone(stmt)
db_utils.fetch_value(stmt)

DBPOSTGRES ASYNC

  • Using driver "asyncpg"
class DBPostgresAsync(future=True, echo=False, drivername="asyncpg", **kwargs)
import sqlalchemy as sa
from ddcDatabases import DBPostgresAsync, DBUtilsAsync
db_configs = {
    "username": username,
    "password": password,
    "host": host,
    "port": port,
    "database": database
}
dbpostgres = DBPostgresAsync(**db_configs)
async with dbpostgres.session() as session:
    stmt = sa.select(Table).where(Table.id == 1)
    db_utils = DBUtilsAsync(session)
    results = await db_utils.fetchall(stmt)
  • DBUTILS ASYNC
    • Uses SQLAlchemy statements
from ddcDatabases import DBUtilsAsync
db_utils = DBUtilsAsync(session)
await db_utils.add(stmt)
await db_utils.execute(stmt)
await db_utils.fetchall(stmt)
await db_utils.fetchone(stmt)
await db_utils.fetch_value(stmt)

Source Code

Build

poetry build

Run Tests

poe test

Get Coverage Report

poe coverage

License

Released under the 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

ddcdatabases-1.0.4.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

ddcdatabases-1.0.4-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file ddcdatabases-1.0.4.tar.gz.

File metadata

  • Download URL: ddcdatabases-1.0.4.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for ddcdatabases-1.0.4.tar.gz
Algorithm Hash digest
SHA256 7930325630c23b7754e7c0a3e277b229ba671435991d1a18102f6fd9cba34121
MD5 eab319df0fb1813c820dd98294a272cd
BLAKE2b-256 a18e2c0b396e047a8a63d4f588295731213a8fd5741f0e83e6114d00f3f187c4

See more details on using hashes here.

File details

Details for the file ddcdatabases-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: ddcdatabases-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for ddcdatabases-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4babffec5bf1b577d1976805e6e39ce4b5838acfce842535d1650fed351834e1
MD5 529d17fafd3a17604d381b70721e2a05
BLAKE2b-256 dd2e9d0254d9e941604ae333b33b0a70beda77564305ab765dadbd71863affcb

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