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.7.tar.gz (3.6 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.7-cp313-cp313-win_amd64.whl (6.0 MB view details)

Uploaded CPython 3.13Windows x86-64

sqlcycli-1.3.7-cp313-cp313-musllinux_1_2_x86_64.whl (20.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

sqlcycli-1.3.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sqlcycli-1.3.7-cp313-cp313-macosx_11_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

sqlcycli-1.3.7-cp313-cp313-macosx_10_13_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

sqlcycli-1.3.7-cp313-cp313-macosx_10_13_universal2.whl (8.6 MB view details)

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

sqlcycli-1.3.7-cp312-cp312-win_amd64.whl (6.0 MB view details)

Uploaded CPython 3.12Windows x86-64

sqlcycli-1.3.7-cp312-cp312-musllinux_1_2_x86_64.whl (20.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

sqlcycli-1.3.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.9+ x86-64

sqlcycli-1.3.7-cp312-cp312-macosx_10_9_universal2.whl (8.6 MB view details)

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

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

Uploaded CPython 3.11Windows x86-64

sqlcycli-1.3.7-cp311-cp311-musllinux_1_2_x86_64.whl (20.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

sqlcycli-1.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sqlcycli-1.3.7-cp311-cp311-macosx_11_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

sqlcycli-1.3.7-cp311-cp311-macosx_10_9_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

sqlcycli-1.3.7-cp311-cp311-macosx_10_9_universal2.whl (8.7 MB view details)

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

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

Uploaded CPython 3.10Windows x86-64

sqlcycli-1.3.7-cp310-cp310-musllinux_1_2_x86_64.whl (18.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

sqlcycli-1.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sqlcycli-1.3.7-cp310-cp310-macosx_11_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

sqlcycli-1.3.7-cp310-cp310-macosx_10_9_universal2.whl (8.6 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for sqlcycli-1.3.7.tar.gz
Algorithm Hash digest
SHA256 19af0c770df88753a8943ab868a4cdd7eba5bae6dd9241bed4765b53386367c1
MD5 621dacdf236bcb6635a412298bb0d276
BLAKE2b-256 928963bf34821f5c898384efe8908ed26f5b2af3c1c9d64d7162c0ef63593abe

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for sqlcycli-1.3.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a913778e7babc9a291749bbefb06eec24b75d0e8c78c0ecdd619732dfefaada9
MD5 382fb01d6b1abd0827a54807cc64b621
BLAKE2b-256 1dee80677bea1bf9bda8ac86827dfa5befe9762958f99b36eba6c9fed0499172

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0dd8114473ab2d7a3982e505803ca39011604aaa8607c3af8465ef0d8cf9d619
MD5 3ecc37263571e644b2ac6c41f81d9c70
BLAKE2b-256 e0a134ecbf811e88bf79d6482d8695e46d37ca1f844bd86fb254c766a75f04b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c1c469d39be18748fd7d2d3e2aa428f095472e42c9bb036de6862817ee2defe
MD5 4ce3d48d4f399208b4729d75e311a33e
BLAKE2b-256 6f6292d2d4fcb474d165a8e085a9d0a3a60ae573509527a521faf23893791140

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5990fb806e4327dc890778b409f545dad391386d1e1892f5dba4fc5b6bf1ced5
MD5 a70025c75cff7b1dd3f3f75e17d8e92c
BLAKE2b-256 7c7a5b390ebe0fad726f38ab320e19a1110e791de89ebfb99139e25a18cf74f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9aeafa40c60db8173e021910e5fb4732436bc1506de4185225aa3e4ea5c72432
MD5 4d2498e2e7f4168c584406959f013c50
BLAKE2b-256 ae280123d598465c8c58973d0fb48e6812ecc56aad5c80f5fa81b84b38d3ebd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 2be7af7d4c0acc30c5d4fc4e599af6dcbdc49cc9f1a89500b13e659a5f0b8831
MD5 c84314ecf6716f7f5040e76124e87ac9
BLAKE2b-256 fd1a6983ff103c17a7d60c47d8ebb29dd387c6735d894c01cf94a04600916e39

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for sqlcycli-1.3.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c58883da730ba75c148e550b10c09653ea0349f981e9f1d97ee3383ecbc584fa
MD5 aed41ffa31b9c8254d871e9fa2f81d70
BLAKE2b-256 9f79b29059b43e41e2ffa313e7f9eac9f93b6ab14d1e99bf10def5dfa5da7020

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f313e398958144b35bc86e29de5671dac32c9806a9641693662f1c153a03e955
MD5 fe1855d1aa1f190686d5895285c74fe6
BLAKE2b-256 70dcf1ab92cbf674b22cda9707e253fb05b4dd6f3f75e84d2bf71e513a58ba4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 217dad23e29f9070fc665d7e648b8d07ec3df3437df8b50b290aa76e853f2e64
MD5 856ccca34c5a8ecd6d1f018f74e250f0
BLAKE2b-256 a14b298829b2965efb5f3b03e06300a67af1671f89b5372acebb1b1350c8a64d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f1362929a8ba8833c3360def4eb316630b72e9ecba4397ab1eec30596907a31
MD5 9650488e68b801d8c16461bb97c8ac91
BLAKE2b-256 00950e7d549778b114862f612b30ae8ec7ca721d2ab32ab4dd5981586308457c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 91298a1f92195ac9d2b51edd160adee17289c33a9928a22f1c2bae0559445650
MD5 72a03941718e5b05862c4e960e6f6bee
BLAKE2b-256 c8efd909c3614e3820b0056afc1a09c9bc595ea4aaed1b8d3b65dd06687de7dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2375c5203a410b4638219acd61dcbc9a65ea380ada2f8e013b10fd185bd94fbb
MD5 a7e44384cdc8188d2b68d1edc395715b
BLAKE2b-256 e21c2b7707c448ebd26ed4101ea593ed2073d8e3d23bcea2b4991a61e821634b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.7-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.9

File hashes

Hashes for sqlcycli-1.3.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8fbb70b2a606aee9a1bc7753418fcc32de6a31f7bfb368a4899bc5d579415405
MD5 f6dd693e04b077053786e1bb95a32e60
BLAKE2b-256 9a986b75d041247cceba6dacda61f9788395f2481ea5b2e27d5b29d6d68fd54e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ac6b5885329b541ad52a0da4cbcc1c962f981d9609fb7ebc3977d7e62616ad87
MD5 fa3959d4c2d28f592ed6d7432b4955fe
BLAKE2b-256 95ce6d695753baafa99d9e067a29d44f6015566ae2a183bbf64dd269d7ca1ce7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 105bbb306f2cdb905b9f9e9881f649ebbd3261d7cdedccc20f682e79edfeb620
MD5 a59ab1ac2e87b8f265c81d95b81f4148
BLAKE2b-256 008fcc9df4b10f2625c88cb6522debb0eea4dba15f8e2038df200b1de86c45dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c55895da2ce1d60406cb9453cb85d03aecf9ac2ba6e3647f14e4c2ba66d397f
MD5 39b9faca05c478986f1ba297e22a6729
BLAKE2b-256 f6820b08afae0bb78055eba10403fa35c8fda387fb53d16044586f3a151127ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7e76ed2f2cd3c778dbc212191f75192e4f6f73dadfe1217c5bbd03c439ae38fd
MD5 ad46a89db02a3f403c843dd99b74c896
BLAKE2b-256 4153b2c17282d18f35820b958cb5d135f466736dd688ef10950ca23c2c834dc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 05a91315b73d60518dc443a2d695498e582f94aeaaa8a08bd52cbb2428c358a2
MD5 0ec5a260f031b06cfdf189caaf6576bf
BLAKE2b-256 192cda6a4be588154f2f9499fd62c0a187506381f50c371c0b69e4f6e3d80f28

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.7-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.9

File hashes

Hashes for sqlcycli-1.3.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c1c2e5cdc11fa4e10af6ac844f3d6801d380d3b519f1e1198455523ed5b954fa
MD5 e7235149020b5a98728b820015b57805
BLAKE2b-256 35a6aca997036b49cfad127f5d3df54537de2cde71db3cfd459c9c66f1e5a5eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 850a10440d3405fa171fc1195be80ca64373e2846fe859bb2ad6d554fc628540
MD5 0d86ceb9e973b7723da9e6c27ae803bd
BLAKE2b-256 83b0225cef3cc56e54ad8000eac98b6b0d662fc1ea57c7a21ddba67c79412d56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0df42dcc109e386d9fb92b9e823a5298c571d4ad0b2f8d52428791bd8b460d63
MD5 906a9d61a7b8e4cacee4e1357edc5bc4
BLAKE2b-256 49394decd5cb00b2507baed8aa96f6ff6c8c9d1d8c587d7ab35db67c1c972cd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8bac4d32c526b92e027ec33b007a125e9296c7b80ada8036c55a41835bdc8cef
MD5 dbeed5ca8dddd5c808350b532a6e24c0
BLAKE2b-256 e0ed39fae8e720664ed922ea3f0d11cf5d7e6be5e52f1c1d713e80787b08296c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8d1590fb2f642bddb95c4b5e73f0f34a9052c4b64554a35cf690ffe4c0844f6c
MD5 5434b2857192b872a8704fd7c09b8952
BLAKE2b-256 2a8db6637b033c83342a6f17c89bc4538642bbfe726a44433e981635544df93e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.7-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 29476a95523bf1df1d4aa077378475a2fb0804ccc66594593fa9150a0b3d7261
MD5 0d1112b45946eb5d0edf000d5af98bae
BLAKE2b-256 3ead7bf6ca149598d474fb0976fdf6a1989ee2a9d64a1973d298609e70027514

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