Skip to main content

Fast MySQL driver build in Cython (Sync and Async).

Project description

Fast MySQL driver build in Cython (Sync and Async).

Created to be used in a project, this package is published to github for ease of management and installation across different modules.

Installation

Install from PyPi

pip install sqlcycli

Install from github

pip install git+https://github.com/AresJef/SQLCyCli.git

For Linux systems, if you encounter the following error when installing the SQLCyCli dependency mysqlclient:

Exception: Can not find valid pkg-config name.
Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually

Try the following to fix dependency issue (source: Stack Overflow):

sudo apt-get install pkg-config python3-dev default-libmysqlclient-dev build-essential

Requirements

  • Python 3.10 or higher.
  • MySQL 5.5 or higher.

Features

  • Written in Cython for optimal performance (especially for SELECT/INSERT query).
  • All classes and methods are well documented and type annotated.
  • Supports both Sync and Async connection to the server.
  • API Compatiable with PyMySQL and aiomysql.
  • Support conversion (escape) for most of the native python types, and objects from libaray numpy and pandas. Does NOT support custom conversion (escape).

Benchmark

The following result comes from benchmark:

  • Device: MacbookPro M1Pro(2E8P) 32GB
  • Python: 3.12.4
  • MySQL: 8.3.0
  • mysqlclient: 2.2.4
  • PyMySQL: 1.1.1
  • aiomysql: 0.2.0
  • asyncmy: 0.2.9
# Unit: second | Lower is better
name        type    rows    insert-per-row  insert-bulk select-per-row  select-all
mysqlclient sync    50000   1.729575        0.435661    1.719481        0.117943
SQLCyCli    sync    50000   2.165910        0.275736    2.215093        0.056679
PyMySQL     sync    50000   2.553401        0.404618    4.212548        0.325706
SQLCyCli    async   50000   3.347850        0.282364    4.153874        0.135656
aiomysql    async   50000   3.478428        0.394711    5.101733        0.321200
asyncmy     async   50000   3.665675        0.397671    5.483239        0.313418
# Unit: second | Lower is better
name        type    rows    update-per-row  update-all  delete-per-row  delete-all
mysqlclient sync    50000   1.735787        0.345561    1.531275        0.105109
SQLCyCli    sync    50000   2.241458        0.343359    2.078324        0.104441
PyMySQL     sync    50000   2.516349        0.344614    2.264735        0.104326
SQLCyCli    async   50000   3.465996        0.343864    3.269337        0.103967
aiomysql    async   50000   3.534125        0.344573    3.345815        0.104281
asyncmy     async   50000   3.695764        0.352104    3.460674        0.104523

Usage

Use connect() to create a connection (Sync or Async) with the server.

import asyncio
import sqlcycli

HOST = "localhost"
PORT = 3306
USER = "root"
PSWD = "password"

# Connection (Sync & Async)
async def test_connection() -> None:
    # Sync Connection - - - - - - - - - - - - - - - - - -
    with sqlcycli.connect(HOST, PORT, USER, PSWD) as conn:
        with conn.cursor() as cur:
            cur.execute("SELECT 1")
            assert cur.fetchone() == (1,)

    # Connection closed
    assert conn.closed()

    # Async Connection - - - - - - - - - - - - - - - - -
    async with sqlcycli.connect(HOST, PORT, USER, PSWD) as conn:
        async with conn.cursor() as cur:
            await cur.execute("SELECT 1")
            assert await cur.fetchone() == (1,)

    # Connection closed
    assert conn.closed()

if __name__ == "__main__":
    asyncio.run(test_connection())

Use create_pool() to create a Pool for managing and maintaining connections (Sync or Async) with the server.

import asyncio
import sqlcycli

HOST = "localhost"
PORT = 3306
USER = "root"
PSWD = "password"

# Pool (Context: Connected)
async def test_pool_context_connected() -> None:
    async with sqlcycli.create_pool(HOST, PORT, USER, PSWD, min_size=1) as pool:
        # Pool is connected: 1 free connection (min_size=1)
        assert not pool.closed() and pool.free == 1

        # Sync Connection - - - - - - - - - - - - - - - - - -
        with pool.acquire() as conn:
            with conn.cursor() as cur:
                cur.execute("SELECT 1")
                assert cur.fetchone() == (1,)

        # Async Connection - - - - - - - - - - - - - - - - -
        async with pool.acquire() as conn:
            async with conn.cursor() as cur:
                await cur.execute("SELECT 1")
                assert await cur.fetchone() == (1,)

    # Pool closed
    assert pool.closed() and pool.total == 0

# Pool (Context: Disconnected)
async def test_pool_context_disconnected() -> None:
    with sqlcycli.create_pool(HOST, PORT, USER, PSWD, min_size=1) as pool:
        # Pool is not connected: 0 free connection (min_size=1)
        assert pool.closed() and pool.free == 0

        # Sync Connection - - - - - - - - - - - - - - - - - -
        with pool.acquire() as conn:
            with conn.cursor() as cur:
                cur.execute("SELECT 1")
                assert cur.fetchone() == (1,)

        # Async Connection - - - - - - - - - - - - - - - - -
        async with pool.acquire() as conn:
            async with conn.cursor() as cur:
                await cur.execute("SELECT 1")
                assert await cur.fetchone() == (1,)
        # 1 free async connection
        assert pool.free == 1

    # Pool closed
    assert pool.closed() and pool.total == 0

if __name__ == "__main__":
    asyncio.run(test_pool_context_connected())
    asyncio.run(test_pool_context_disconnected())

Use the Pool class to create a Pool instance. Must close manually.

import asyncio
import sqlcycli

HOST = "localhost"
PORT = 3306
USER = "root"
PSWD = "password"

# Pool (Instance: Connected)
async def test_pool_instance_connected() -> None:
    pool = await sqlcycli.create_pool(HOST, PORT, USER, PSWD, min_size=1)
    # Pool is connected: 1 free connection (min_size=1)
    assert not pool.closed() and pool.free == 1

    # Sync Connection - - - - - - - - - - - - - - - - - -
    with pool.acquire() as conn:
        with conn.cursor() as cur:
            cur.execute("SELECT 1")
            assert cur.fetchone() == (1,)

    # Async Connection - - - - - - - - - - - - - - - - -
    async with pool.acquire() as conn:
        async with conn.cursor() as cur:
            await cur.execute("SELECT 1")
            assert await cur.fetchone() == (1,)

    # Close pool manually
    await pool.close()
    assert pool.closed() and pool.total == 0


# Pool (Instance: Disconnected)
async def test_pool_instance_disconnected() -> None:
    pool = sqlcycli.Pool(HOST, PORT, USER, PSWD, min_size=1)
    # Pool is not connected: 0 free connection (min_size=1)
    assert pool.closed() and pool.free == 0

    # Sync Connection - - - - - - - - - - - - - - - - - -
    with pool.acquire() as conn:
        with conn.cursor() as cur:
            cur.execute("SELECT 1")
            assert cur.fetchone() == (1,)

    # Async Connection - - - - - - - - - - - - - - - - -
    async with pool.acquire() as conn:
        async with conn.cursor() as cur:
            await cur.execute("SELECT 1")
            assert await cur.fetchone() == (1,)
    # 1 free async connection
    assert pool.free == 1

    # Close pool manually
    await pool.close()
    assert pool.closed() and pool.total == 0

if __name__ == "__main__":
    asyncio.run(test_pool_instance_connected())
    asyncio.run(test_pool_instance_disconnected())

Use the sqlfunc module to escape values for MySQL functions.

import asyncio
import datetime
import sqlcycli
from sqlcycli import sqlfunc

HOST = "localhost"
PORT = 3306
USER = "root"
PSWD = "Password_123456"

# SQLFunction
def test_sqlfunction() -> None:
    with sqlcycli.connect(HOST, PORT, USER, PSWD) as conn:
        with conn.cursor() as cur:
            cur.execute("SELECT %s", sqlfunc.TO_DAYS(datetime.date(2007, 10, 7)))
            # SQLFunction 'TO_DAYS()' escaped as: TO_DAYS('2007-10-07')
            assert cur.executed_sql == "SELECT TO_DAYS('2007-10-07')"
            assert cur.fetchone() == (733321,)

    # Connection closed
    assert conn.closed()

if __name__ == "__main__":
    test_sqlfunction()

Acknowledgements

SQLCyCli is build on top of the following open-source repositories:

SQLCyCli is based on the following open-source repositories:

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

sqlcycli-1.3.2.tar.gz (3.5 MB view details)

Uploaded Source

Built Distributions

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

sqlcycli-1.3.2-cp313-cp313-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.13Windows x86-64

sqlcycli-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl (20.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

sqlcycli-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sqlcycli-1.3.2-cp313-cp313-macosx_11_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

sqlcycli-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

sqlcycli-1.3.2-cp313-cp313-macosx_10_13_universal2.whl (8.5 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

sqlcycli-1.3.2-cp312-cp312-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.12Windows x86-64

sqlcycli-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl (20.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

sqlcycli-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sqlcycli-1.3.2-cp312-cp312-macosx_11_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

sqlcycli-1.3.2-cp312-cp312-macosx_10_9_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

sqlcycli-1.3.2-cp312-cp312-macosx_10_9_universal2.whl (8.5 MB view details)

Uploaded CPython 3.12macOS 10.9+ universal2 (ARM64, x86-64)

sqlcycli-1.3.2-cp311-cp311-win_amd64.whl (6.0 MB view details)

Uploaded CPython 3.11Windows x86-64

sqlcycli-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl (19.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

sqlcycli-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sqlcycli-1.3.2-cp311-cp311-macosx_11_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

sqlcycli-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

sqlcycli-1.3.2-cp311-cp311-macosx_10_9_universal2.whl (8.6 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

sqlcycli-1.3.2-cp310-cp310-win_amd64.whl (6.0 MB view details)

Uploaded CPython 3.10Windows x86-64

sqlcycli-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl (18.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

sqlcycli-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sqlcycli-1.3.2-cp310-cp310-macosx_11_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

sqlcycli-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

sqlcycli-1.3.2-cp310-cp310-macosx_10_9_universal2.whl (8.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file sqlcycli-1.3.2.tar.gz.

File metadata

  • Download URL: sqlcycli-1.3.2.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sqlcycli-1.3.2.tar.gz
Algorithm Hash digest
SHA256 5994d7fa429021a0f82351c66aa579ddefdf44b69de2d2a798310ea0a80078f0
MD5 ec4ebd4ac5d0f0b900caa0a61ec0ef29
BLAKE2b-256 853979c54eafe10aaa4ab7fa514e23c3e1a85c3fefedfd4d53c6b9a6c74b7264

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sqlcycli-1.3.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sqlcycli-1.3.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3395d9b03685a0137f80daecf99ab162cd798e2033916459d40966dd8a52a047
MD5 c4ad9011198103b6fbc87a06b9264ace
BLAKE2b-256 420c9a6707ec11cf8a06cbce001840e82bb4e2dc6a78b2b0296d1c9b60e98c21

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b05c138df79d9cc1857acab002c730d1140ee2463a9979f47bfe7d58dc705b2c
MD5 f9021aa3a979902eff715e1fb5a74a84
BLAKE2b-256 969ee853ba0fab3bd11b8a76110fe77cfe021cfbfb468802fd1de4ecb090795d

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fd71d9f93dfd1f942da0fbced4364b61587dec26d252929a2d68e2ed1ff6509
MD5 5d38ff1b16e73137a65c94a3f185afe4
BLAKE2b-256 688b814efbcc7d1ca3e3d71fc20af94cd9964b829215f9dd4e4f144bc8f42692

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8adc442ba33511e9f5d1156383a67cf785e065c2c7679cd791785ea9e873953
MD5 124abcce4c678ace69c56f9431cf0f3b
BLAKE2b-256 4aec64bbf8c3f32aeaddf0a9ad2a8545c9514e931f8125c538b3181769a7522e

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f01bec2b27469204ad787ad2862f9f7cca38409646d3dfeae8e3a6cc400aa2e9
MD5 bc13a6af6430a5ee2f1ff7aa35603d29
BLAKE2b-256 63b55f82bef2ae67c5471c8d743b6af0f71a53b9404563b0b7a3e5d413eb8365

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 08123b53813fe4f1cbbf8350636891170551675fc35e36ea2ba8216dfb7dfcce
MD5 3cbd4f09d52f7443f1aed73bd9c94fc1
BLAKE2b-256 f8f7580f6c445813d61a47f0c4554177be64aa422ee57d876dd055a8765a6bc4

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sqlcycli-1.3.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sqlcycli-1.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1bcf8e6ca6179d67a2940376d6d5bd7415bdb0c6241b9e840d8d2a3bde5d38a5
MD5 78329ae0b76448e2862dcdf278e7f898
BLAKE2b-256 ff048e76ca4a5e9a28c40bfdcca0dbbe330c89aeba92257d837de91725ebf12d

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1d91fed1e184217a1b62f320f624e1d34b1f254704a4fb6c3e293ced7185cb3d
MD5 45b37afae15d394ec0065f26cd915989
BLAKE2b-256 22bd5f2402cca47d0d1044bb21852c9b798f3b2e6bba2f42187de3893cbe2ec5

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc62cff298dc3890415919d969b9414566e26f8bb286646d67bf48f7d3179fd3
MD5 0f4a9eb4b2707a5725a2cd2b0ec86e34
BLAKE2b-256 0a804dc2ab757c8547c8f1aa753e12e02992dd2e9c2caf4ec55d6763f1d94a15

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 07b271a15bcc85773c8ea2e6d0d12eb133139eb2e5766b5ff1d4bbe9a733069e
MD5 88411f67dfe92107c92968d22d3c7f14
BLAKE2b-256 0a821fa8984a9a3e6e11d797de73b9187b38e563eeee8bd0ccc6402cf99f0e40

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 731ed871f81c3cc80de601c60432f4bd64ed003f28484f34369586d47a81555a
MD5 81fb69d055a7ef9f9498fcf56b659392
BLAKE2b-256 14e4a4d3c29eba8c79c1a456ae41a8bb822eac957a10dc6bc35c25abedfd0776

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 86fb9b9ad9a2a848e7ea2871b3f2a5be3ed746e2600e9377423c0329ba4e4e4e
MD5 5ce5438e1dfee17404c569d0e10c4e28
BLAKE2b-256 1137f41bbf56e9e2020366b6ae0cc1b447c5174b7a9cc68a5054ee5552530181

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sqlcycli-1.3.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 6.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sqlcycli-1.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a84ca77ce730c007f464c307a83f72ce1fe53c92ed1cb14452eafd354b89db32
MD5 f042ea8e37469142d3e5af7dec766a2d
BLAKE2b-256 92b2a59bdd46bb7a611cbd6771765a05026928b7874aab72a2ee1395829676a1

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f5e68c5510bc8ba2adf41fa1f835c0946344cd3ee03616e0ab9392ebf4822286
MD5 2fe5f58c4f89bfdafb9a18a740ce86e8
BLAKE2b-256 ef2a44fb9e1a5c0d23eb60eddc097b33a74a941716a4874b794ebe8e19b814e2

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 caeed5780f4849dbea3c8dbb10b86dcead8319c5e1bbb7afe958d3a5f056034e
MD5 4d51c8317fae004fabd5fb133f30123e
BLAKE2b-256 fe072a90f3599cde76b2fb4c47229a580d4220556a92d4f6b3583ccd71df9055

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e6a03ed27ad6f013fb6a6a79ebbec2c1b3d04326378fce084fd0217a175f708
MD5 6a40d45135575566c8a3d63572c5994b
BLAKE2b-256 8493c4de7ba3fa8e0b647de8d710e4eb9162d218693df549891ab28c005e90f8

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0ab431854f0265658452ab2e6c5cafdfcd4844c21ccf78695e235e24ecc9d842
MD5 5bfeb7ec8360fb56dad2a4796b0c2f2d
BLAKE2b-256 d82737b4f328f66df3d6636f21301759e3ed26718c2c312fd1f1b251bafafa19

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 83d56a565899d6cad85afd82b1c100b32b8580ccde7fb0bb449bf7d34011547b
MD5 ccb0e1547fcf74788b0d82cf8c2e3eb5
BLAKE2b-256 652dad12924b9fd4517963057ccb218b5e28f349d5f50da3255848ca8836d954

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sqlcycli-1.3.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 6.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sqlcycli-1.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ecefbf337c653bccbc752359c739caae84b6b05e01c0eba50687e1fc2309df84
MD5 349e40379a7c63ebbdf451bb87bfadc0
BLAKE2b-256 6d20d579ac74de50b316560f8c0cfa5332c0c59bed2b3723078c0cddda71e2d8

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 06906036c0bbe1983dbddbcc8d1b12052cade3fc694e663bc3c1f20ca5e08ffd
MD5 c5b3456bffca2086f39a99d27afe4777
BLAKE2b-256 bb708ac50cd7a3d6f9dc2fc69982880d2b5bd96942e15712969ab7cf00bc21ab

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00ae9cac1e85cd9589800e33653d4fde4794b8fc87e7697da9b60000ab39814f
MD5 724fa4aadde455625ea3051b7cc6ce12
BLAKE2b-256 0b227792f371ce1bf14558033567b21d1767831e8b550d806ef93f7c5dff92d9

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2f04f8bc4d0ed16ab2d22c0e682ebe5425d47be5fba4d32769989cc46c1bf4c
MD5 7e6df835a077b7b7cff21d1125d32ff0
BLAKE2b-256 4dc838adc2ffd415612de5e0f23fcb026e75d4e3da82cb7691a02b798f61b211

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1b96f973fa3fec889cc6e0810db9b195864db7fe0ff9669b3cc663a98c4024e1
MD5 bdbb3c2c3382596c1f90b03601ce692f
BLAKE2b-256 5c77f01091424cf3064da9e5284f1c64bb1e6a61889217529755bebc5c292cd8

See more details on using hashes here.

File details

Details for the file sqlcycli-1.3.2-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for sqlcycli-1.3.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d45825051f6224ab494a42c15c5b1975c12331788bd2dad447400be45c6555f7
MD5 089d82bef6de80cedf7c8d19b03a71b4
BLAKE2b-256 46781bc7f196904d9ac2f00a233a68a51838ae0d25af62416d4026be4f7fa880

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