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

Uploaded CPython 3.13Windows x86-64

sqlcycli-1.3.6-cp313-cp313-musllinux_1_2_x86_64.whl (20.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

sqlcycli-1.3.6-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.6-cp313-cp313-macosx_11_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

sqlcycli-1.3.6-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.6-cp312-cp312-win_amd64.whl (6.0 MB view details)

Uploaded CPython 3.12Windows x86-64

sqlcycli-1.3.6-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.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.9+ x86-64

sqlcycli-1.3.6-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.6-cp311-cp311-win_amd64.whl (6.0 MB view details)

Uploaded CPython 3.11Windows x86-64

sqlcycli-1.3.6-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.6-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.6-cp311-cp311-macosx_11_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

sqlcycli-1.3.6-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.6-cp310-cp310-win_amd64.whl (6.0 MB view details)

Uploaded CPython 3.10Windows x86-64

sqlcycli-1.3.6-cp310-cp310-musllinux_1_2_x86_64.whl (18.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

sqlcycli-1.3.6-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.6-cp310-cp310-macosx_11_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

sqlcycli-1.3.6-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.6.tar.gz.

File metadata

  • Download URL: sqlcycli-1.3.6.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.6.tar.gz
Algorithm Hash digest
SHA256 605e32a6125b71fcd2bff25ee8430c50d7f61f245ce1b0212f82f7a35b0f68a4
MD5 eed7e3f248058b147aad61625292decf
BLAKE2b-256 58c4febe4d5eca2b909c2bc50293935de7617c6d7bdac60a75dee2303a238fb9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.6-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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0886c375db690ecb77f02c9fcb170b901e41ab38f1445f85eb1c28c6a3139d2f
MD5 66f7b3185f1295f689b7f4efe651588b
BLAKE2b-256 9be88139fd7c62f0a4868abf8fa1dccea36578e448a473d616988af22b53477a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b4d6d72c809c7e01149ad8874e1577935479eeb21552421e27f4ad770987aeed
MD5 40558d0ca7da9b0b2f36722d2f55227f
BLAKE2b-256 3fd231c57d2505c64a179ce06a3ba93186e0efcc6978b335564cb8c52b36147b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 661ddb8fd54d2a5307b9ae29a40e468c7e0cefb28d6201ed28747ee21bc2b6f0
MD5 f7eef10fceb8596069b8049767c00b14
BLAKE2b-256 6b25d792636e829a9ffedd9a65f6384ca1054274b0609560c9703a4b66262308

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c339b682ab85c928ed7971e1e5b46515822ea7ecd94c586c9cf96bcef88b8925
MD5 3ab1fb462268c49c2f401c454b9d830b
BLAKE2b-256 b9c44a191fea0aed5c2d9b579323fe170e78c3b8b7e7b2c32bb7f7088ca72482

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7878ba779ed545aa291f764c3fc1de44fd4390114f78fc9c2ab277aef90bec44
MD5 df68035d53a5f6fb8c9771062fe6272f
BLAKE2b-256 18314532bd298bcd2f6aa2c20846e5b0364357e11bec87abb7b64d73bc59b276

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 daee9b147b2e3c31cfb23753b98e1411d787f2c3990e872b56be959fb0495f5a
MD5 a763a70248fbf52868bc55af75bb029f
BLAKE2b-256 41ad75251f8f54bad33792a57d5e024e90eec7310c52a9daca789d40b6dfcaac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.6-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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bf9f5c62674d8ac6f2c91f7e7adee827c67e8ed7daaa4d70aeab2f0fe5b11afc
MD5 f53d8f3fa4e0100abcf4e20b2e43a06c
BLAKE2b-256 3c62b12451189585591f3caf55011b24b9103f7279c497f7bf3dc685b013f911

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e4ff181f68baa829a2a9f1d76509bc49bbafb0bf6877178857d7100c7394edda
MD5 18ad639ffe59217175e222c97599b6b3
BLAKE2b-256 4a8f8925c179d18dfa1ac792d5093bab9a8b25d1c22812773f405cc04d9a5b6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93926def1a4b157885c8e5a071310c2710a8843f0dfc3e0d35a217bd957983a4
MD5 98f0b4c2dcb92716ecd252232c1e7d23
BLAKE2b-256 e3055668d7952695121c18047b597be818747858a3754b1943710ee82bf75c79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 307ebb38fdac9b6259a9bd554377edbbd724fdf44c42e71047f718f48a662fb8
MD5 2566c1a1c6fa6f312754b0e3a300fe37
BLAKE2b-256 b69d60f0c2d62dd7da8495c03e6ee056f421799b12b5b751ec8c038d8cc0c873

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b8fafa370f0860da9ecc5ff31c383e994cd3d70f099ac0acecccc297283757ed
MD5 cf8bc3bd29824ca3103cee282a424ed0
BLAKE2b-256 8515802de879ff5b582d5620fdc8ad011d26340231636457f81ee5141d169e1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9089d95c8122f6c95a65648cf974f2d0a818c430ebbbd642e004c5a8fecc3c9a
MD5 7f66b93f8bc9bddcf8632621a10826be
BLAKE2b-256 5baf2372a011957bedc58d3caccea7385af8507eaf890d2dade6a29566cf7b23

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.6-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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0c650942e6e94d9eb4f576e05b4e38d0e38702995243f1a788b5adf972f96ab6
MD5 c4caed40c7cd7d053e244276e09c485c
BLAKE2b-256 710868361b3b3e6d57eea816b9f8713c390fee993e5259ea14911adb600433cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2c6f36b2f7123cad944b4242576881ea30bcfada71f7a21fa0f30e622cf04ebc
MD5 7cadf27f8e0d584a244a49d639a08772
BLAKE2b-256 3951a7167c801cfcaf0b40a3098b4625eca652423cf8a27b52c89c8feb1b183f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4418e01d173ccfe916750474e2d12a7c529809eae575ec8b286d840a580211f1
MD5 3bd80de0ba2f8d33d278f6f49f957b29
BLAKE2b-256 8fc144d9b9c4b695302b33f11c4ced5468e572917d5078c0b826c8e296b68d28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42ea8a3199f8d20707c6b58a0244903de85101446e7e8629887b9e142ee06299
MD5 9be9810b8306fa68d518862189258c25
BLAKE2b-256 af905fd023483c6a78cb3ac6289a931dbe6108f8682f5580fa066be5c1731a96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c937ba5f9629b92261a925f206b183274d3a2d82d41351f35d1dc5dd67ebf1da
MD5 432f002d0d8dc397f1793422cabe54a3
BLAKE2b-256 e4bbbf3b04ddcf61243cb5d32725e105e85293c4ec891fca11ed196ddab214bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 24c477780a89a833818ed4734860019544cfd934899152d7f4598679a72295b5
MD5 3158722a82db4fcb2117853409b323e1
BLAKE2b-256 5219babc804892a1a9e0e4b5fa76615c95c9d681040923e7f83b8fcd6eb6ea80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.6-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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 74b4a4efebfd3897bab0bb34973d1d0f145f9695d222d8d53f565ba151bccee5
MD5 71f20c536a3d70ce04584825d5a2f1d7
BLAKE2b-256 8abe97c41bb73bf398c42c96c4c7cb82ae66834f2a565e68f979b6bbf03e681f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 132bc804b5f0c38124cdb56d28efab95ab0b71c28210b0b4c3049c4ae7926d08
MD5 34ce27f9aad3e87e953c898e7e14a4ce
BLAKE2b-256 b4533a693617fbf9852f9bbcfaee7c8d3136af38f4446c5d53ed2e22702a7382

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 223fa27e54ba81f02134cc2c743cfacb699f2807c46a80781677d9e9232ab6c5
MD5 8c5dadb0d1d13194cc66af77623b90fa
BLAKE2b-256 2a745acaa6d925b44dc81c48727f3d03a5124747ff9f1fd723183634044b23fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5aa90fe1aa171a763205819b4dbdf24caa4cb1e3f43b95498d536f8031e74368
MD5 f42317ed65b73bd460a0c8f69f983d0c
BLAKE2b-256 983ac93e4448617d3c7e774d7f7ef78d1ceb8ba67544282c207c586d2325aec0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7de94d8da14a9562b18c709a83dacdd5b173dfe38c7a4e25602441aa68809acd
MD5 e750b7fe7c8e6fed9b5a4a1c558dbd7d
BLAKE2b-256 0b893c8f35ac8e4041c59d7ccccc415e79ce411d2a291dceced0bca33fe15965

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.6-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7cf31b6781f691b2b5dab1160b5b2900e885c0337956b3986b28e7cf451b32e6
MD5 7612f941e2adb84d741ceb73516c7a55
BLAKE2b-256 33e24216fff9b54e4b27dbfb8a50966d2e535872000f873eb572125cbc53698f

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