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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

sqlcycli-1.3.5-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.5-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.5-cp312-cp312-macosx_11_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.9+ x86-64

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

Uploaded CPython 3.11Windows x86-64

sqlcycli-1.3.5-cp311-cp311-musllinux_1_2_x86_64.whl (20.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

sqlcycli-1.3.5-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.5.tar.gz.

File metadata

  • Download URL: sqlcycli-1.3.5.tar.gz
  • Upload date:
  • Size: 3.6 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.5.tar.gz
Algorithm Hash digest
SHA256 3f32b3f4bc1dbdd6528f6b161d2d3bdb64c2228d20dd20bd6fcb4d807b1bf460
MD5 973738abcb015c4616cf2a4673ffebc1
BLAKE2b-256 e036f63621c0a57cac667d9a3d1bece673598e61777d0e497ab57ee77a84c9cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.5-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.8

File hashes

Hashes for sqlcycli-1.3.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 56b20fe61291af433b8c7f28abc4dc5991bcdf2867b74df3d6ee39bf0b2ba7a3
MD5 df85317190527e80551b14eb556d9125
BLAKE2b-256 f7e569da2444096340577944d96d87c028ba7d6ac820644b25aae8fd5f06d48e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 536c867384783e6bd1d485e2eea0534baadec9e7bff0229873611733c21960f7
MD5 3ee6fd3bcd4088de9322603f76acd204
BLAKE2b-256 043a0b6371a8c55edfd18d8bf9ab833bb12aa8b991c508cd181f838afbca2240

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e1c37521359d65e9de91c8bd92f276b8376b7e105bb4bf796c88cf1ddc35f32
MD5 d04da058c67c2abdc3735ca48ff2c621
BLAKE2b-256 59321612990c21772e32159c8359ddcdcd0f75b603205e29729335b3438034ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a31b0ea8db607cb6a27182ad62fa7d75396944b1d804ad2dab361c8ad709b74c
MD5 48a34e50039a3df899ec9ec3a53121e5
BLAKE2b-256 55462aa3865a9d352e90802e051799d77a7736add883a89b183b0fa0f32a9cc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 96ca6c746f69ac1be2a7d7ef499e762c4a240f21dbc810bad40851a8f018090b
MD5 6d4edb865a1a739bb5c2f96cc9be3217
BLAKE2b-256 de29883aa47f169cca7878a00b5111e860d81fc4b38c010334441857a3c87e8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 2b5c70939850da8bcf398182afcc5490b467eda15d9bb1295331c83bcf6aa5a3
MD5 cda74b63669cee26428e8d54682829a6
BLAKE2b-256 cd5e654923c273920591ec228d5591b81629cafe0aa78eab951a9af2742b6dcd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.5-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.8

File hashes

Hashes for sqlcycli-1.3.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3ac90933c486f48a12b2b1181aa4ffbd754ea8113af8f5f922ac438be32dd825
MD5 12c76b3c9eead9c1396d000ec7150249
BLAKE2b-256 4b45c25f64ae3c6dd3c0e83fcb89bc7d0df399655e2c67215111d5440de9623c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8ed661724ad4b4f6d23fd0da7602619e7f3e234f2994ad951df8faa90dbe572a
MD5 648d758e9981b7f097573604cf932262
BLAKE2b-256 ab2bd2872a5e8d454ba0deee95d879e49e7fe4d41cdbf8013d33b8f40130db67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2632a963c1245e9b216c06f63a2ff420a1f23ec19cce92efa8eee0e7a363bc0a
MD5 424b1f8af58ac2aafc3ce15cb30541a4
BLAKE2b-256 757615f29e1c1353230cc52b5f37217083a2dfed202502bcd9d0c991bf4b40d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2da4fc0762bc0f7c82c2b37f1f121d03d32748c94b4e5191282b55bb7e24ba3
MD5 2a8d3c65e93f4fcdfdb53329c211ba41
BLAKE2b-256 ff38dc0b5939f1c5747b54cf303818ca1175fae32530cf76bd055852dfa179d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 95fcc573fa13714d23320c0cff8e1661d1efca3724534a32a9738e6f5b3d4bb3
MD5 f05cba6fa2227425caa6fe46bbc1c227
BLAKE2b-256 b0868c14c6eca6b7bf15d111aba61bb8d4255bddc56350776f6e44c2223fb616

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 86e37d8dc85db6676cfb9027de466eea6ec99ed57bea61bf7a657361f83f1c2b
MD5 ddace06efe723b33f8f2f040fbca6cb4
BLAKE2b-256 06c56e2035dc8b36edd1be42e50c2166f1dc29b65b9a93b77c62e12394f9d61a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.5-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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 376145dfde85b199ced4abb198b83c3893a587d7c2f254e6df29159c2e0157f6
MD5 d94d95fbf7e3c6d345a1aabe50524db4
BLAKE2b-256 b1dde5adda68014fb8e87038a858cc9f031e16ae64bc058490bbcd548bbbd45c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 249a920e8396d96166f37cc696ac393f08a41c501b976bcf0c6f3aa687072f6c
MD5 3a75c9737595ff3399e1df589ab4fb9b
BLAKE2b-256 5d0cbb32d294a65ca4fd027b1fb7fcdd745fc061970af705bae1421675b82498

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d923c210b09fbb5d7a09e86f73047eebca4e6b492328c63d43d12d94c081aa25
MD5 34966599ffbf8b2b91ee3d9cacfc4e40
BLAKE2b-256 57e94c02beb3bb36a73b9ecb5178e63e5cd2d776a07518f6b0f0e163c19685fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 65be0aa51ae8b7578ce5829524e9ad3e99ae39ce54ec9feb206884577b2cf087
MD5 7bb32625cf2ae12d96bfb3c547e48b26
BLAKE2b-256 da6aceea46a937c24a5eb894a3a4dda1e011bfe18f191a793a9728bfb5c80bd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 64dcb15c4a10d0cfa2bdb31b294339143d0e72e058b3c0f36eb588276eb0dfb2
MD5 9a7bcd1587113edbc79e160a4b7e7773
BLAKE2b-256 1bf78658b48de890a0da43e8ef21d46259b0508650e38141429959a4cb975e3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0a8e3c8e34f066fb199e36a3e579226186649e51b23aba37669d3476ea1c38f0
MD5 07fb9ffce63a6159af47c53a11c620b8
BLAKE2b-256 78b6c2cda9acc338582e1e4445a695469f1bbd982467573bacbd1f355c75974b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.5-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.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 565fbca8846f9447b00a02baefa18ff6c2e35e565f2ef56c2502381c881b6306
MD5 675489547987549afaa28eb49632ff70
BLAKE2b-256 cf5094933086a705f9bda964332ed8cef407f99c3ac6dd7e34510c7c41717a1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8d9d39f3fc464834bef2f99c3be8d19b3cbd1c442e91d4ee9b9093c6edd38474
MD5 92e5285a829af7c9be42435fb04c6878
BLAKE2b-256 7590d3116fa37b9a53cbd0e6535b0b979e740c16a8b2301dc3cdc8f9d84e10a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fbcc951b97a4ab8d65aa415c18b36a289cbcbe00f945733a9e66dbd16a9eb213
MD5 04df9532efff7f79a51ec5e2f4e3def0
BLAKE2b-256 7effc79474b8c4b9cfa3748c937ff3bc4e9ce40130e4e999a650a82a70c92504

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac925fc45335eb8ac60568f68935a25e96fd117d2e13660181797b16f74a1392
MD5 7bfa9383e3dda86985fcc92e247e7221
BLAKE2b-256 be155f93a15f11be892cc8e221748c53e652f7962bd4703f9b2f455c8e54ed48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b88d9d61d84f8e4a105bd35d74c7457034f4985ef24adb66e3e4019a27a3a35c
MD5 d42c095ce8b4dc2071dd6a198d27af45
BLAKE2b-256 c250cdfccced050b9fbc09bb7a71fe5b70fe51a139d1c333ccdaab84fe40d8fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d2ffc83c43eb4b7e62da997ea62151bcf3ec157bd96b43486cb062231a3c6430
MD5 f089277844a8e0466795070f6b18abb8
BLAKE2b-256 443e88a47b309feadd671f4fbd8e4a54121890a578034a116638f32b19ae3b90

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