Skip to main content

Work with MySQL databases asynchronously, and in context.

Project description

MySQL Context Manager

Work with MySQL based databases asynchronously, using a context manager.

PyPI version PyPI downloads Build status Code coverage Codacy Badge Support Python versions Code style: Black

Getting started

You can get mysql-context-manager from PyPI, which means you can install it with pip easily:

python -m pip install mysql-context-manager

Example

from mysql_context_manager import MysqlConnector

async with MysqlConnector(hostname="localhost") as conn:
    results = await conn.query("select username from users where is_bender = 1 order by username asc;")
assert results[0]["username"] == "Aang"
assert results[1]["username"] == "Katara"
assert results[2]["username"] == "Toph"

Example using SQLAlchemy

from mysql_context_manager import MysqlConnector
import sqlalchemy
from sqlalchemy.dialects import mysql

metadata = sqlalchemy.MetaData()

users = sqlalchemy.Table(
    "users",
    metadata,
    sqlalchemy.Column("user_id", mysql.INTEGER(), autoincrement=True, nullable=False),
    sqlalchemy.Column("username", mysql.VARCHAR(length=128), nullable=False),
    sqlalchemy.Column("is_bender", mysql.SMALLINT(), autoincrement=False, nullable=True),
    sqlalchemy.PrimaryKeyConstraint("user_id"),
    mysql_default_charset="utf8mb4",
    mysql_engine="InnoDB",
)

async with MysqlConnector(hostname="localhost") as conn:
    results = await conn.query(users.select().where(users.c.username == "Aang"))
assert results[0]["username"] == "Aang"
assert results[0]["is_bender"] == 1

Changelog

Refer to the CHANGELOG.rst file.

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

mysql_context_manager-0.1.6.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

mysql_context_manager-0.1.6-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file mysql_context_manager-0.1.6.tar.gz.

File metadata

  • Download URL: mysql_context_manager-0.1.6.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.0 Linux/5.15.0-1024-azure

File hashes

Hashes for mysql_context_manager-0.1.6.tar.gz
Algorithm Hash digest
SHA256 38d1568009901b991c6b9150234008ae47760e5049406b13bca75b3b7d8b37f5
MD5 042d5096802c88c0e158fd8bea23435f
BLAKE2b-256 fb24356869729024691c0461b2698ce262ac76d1f9877a9c116a49077dfac621

See more details on using hashes here.

File details

Details for the file mysql_context_manager-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for mysql_context_manager-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f5e88154e9d9dd93b8e88c499b348b37ee1cebd7adff5da55fa101fe04607c5d
MD5 765e06aa8150d7d95058e7de06d22e03
BLAKE2b-256 cd10c643cd473c734ad1050b1dd80faf0693f7657d30888d1955138b3c04a1c5

See more details on using hashes here.

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