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

Uploaded CPython 3.13Windows x86-64

sqlcycli-1.3.3-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.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

sqlcycli-1.3.3-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.3-cp312-cp312-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.12Windows x86-64

sqlcycli-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl (20.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.9+ x86-64

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

Uploaded CPython 3.11Windows x86-64

sqlcycli-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl (20.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

sqlcycli-1.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

sqlcycli-1.3.3-cp310-cp310-musllinux_1_2_x86_64.whl (18.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

sqlcycli-1.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

sqlcycli-1.3.3-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.3.tar.gz.

File metadata

  • Download URL: sqlcycli-1.3.3.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.3.tar.gz
Algorithm Hash digest
SHA256 a8a5be1358cebfbc9397a9643bcd34302fb85a024534e90cb2ffebde68aef9c7
MD5 925e99e3036cca0b78c48f54fcf24948
BLAKE2b-256 3e2d98fac5f2e1f8715c9359067b89cd3b1f7314b1a62c953f496a491371f5fd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.3-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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bcaf20b600cbfcaefd2a793bcfbfaaeb73b160f195348bbc79108202387f1a3c
MD5 75fd2982307ec1adda25180327f4d061
BLAKE2b-256 00097e4c88c0ad966f322bc63004caf0469db2f41a38d852499e9ab0157791fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 51f816f90ae55f3baeda39114cf2701d4a7be1c0fc945077d6d4db33acfcdb8f
MD5 919ae067b1d9a74344959b83dd8d06e4
BLAKE2b-256 8c92877b3988996dd5d3f63a3cf81e8f97c5f94176b727bbc0c112f28edc7f89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ef39af56d1485f90c2d6762d2dfef2aba4ebd9702a0fec2ab3943a38ce3943f
MD5 6f4a57f326a0fb0a1e3358945f144db2
BLAKE2b-256 85354ecbbc0863934ebe4c95300c0c00b591d235bfc8d8b656faf03a7b173f44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5b8248d4421f5b6f109a958f6ea7cdeb76d946d10316c5778633affc43bae82
MD5 38cd0bdb08572d19b83583ba0ad8deef
BLAKE2b-256 4dcd59cecfd850174a6b2c46f04df052ec44aca0c6912b11d70d6af7ed3384fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b7257e86ef54f2a8cd35c1259ff482940f4567a1f1ede75ba2b721d63286c8c3
MD5 e04a555f1f88cad26179bd43cc1c6b36
BLAKE2b-256 9b3a9bf1f8f9f630dc28f9efaf05b2ef3edc22b857552fc86907f592bafddfc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ef7ed712bcd1a3c8a5bf8c5ed1ba9398492d8273514f5a62afa6ded57a4a8d4e
MD5 65dcb3d2a89e96197936bd156395f5df
BLAKE2b-256 407b42b62914ff46f78aed251c6760e1b1c45fc4e22562674bafad5bc6419b27

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a2e94dcc1257c46bc843b5ccf0568d8e5de061585a0a173e02ad324cdab93f41
MD5 38647c3df20b4e00271d812ff7615bba
BLAKE2b-256 516e9fccf5c9c5654412d8a536187e19f9cb0233ca9fcafaac81a59c2d92912c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 43f0956682db4082512fc7aa0d7d70e450dd71a44ba0ec866ff2af63101960c0
MD5 794271d87c7f07f80db4ca86a0593ec8
BLAKE2b-256 d000681ef71b57f892c1e9512a257a8b84e811ca046e1de85eb4ce46f62d74e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bbe19b94f9149f6d29b8b31424456d7c29e4c33ae990eb0340f7f522c50abc46
MD5 7cfe85a7abf5eb7218d23d3d6abb4b71
BLAKE2b-256 1756ccf22315ce4e46542e8d001984d447a553f804dfa705760fafee75b6bc4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 92f69eba5a4f7d48d0b5b00c8fed99e3cf57b3e505e0a1a9beb8ce5ea3eba76f
MD5 315e12ba47f5ef5b48ac26a7f14ee5e8
BLAKE2b-256 4da0dee042f86aba915dbec39a295d0a29b255c6f53ff4da15c49c07601d1674

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 25772a6dbd0106c3fa9ac0c2545bee32871f47bf6fff90f7cb12d36dd0a45c9b
MD5 1bfcb15aef7909961319d996d995c1d5
BLAKE2b-256 060e2766893344def19b21135cc38e6b306ce93c841891bb8e0198fdb4df6a94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3a73e1a1616adab1a431818a4cfa6a7045680accb10eaacfd455daf70ebe2517
MD5 6c4df4e60daf261200a2fdee86082d48
BLAKE2b-256 0becad4d6ba2a40b42c7e7014278d41731fc63129ca96c1341fe0f3a871e4d98

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.3-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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 044e423fea02900b38868ed6ef8028e153a21ef7ecda9501fa68f8a26d51e758
MD5 5a92b3a0e373e5cdf1527dc48c7be488
BLAKE2b-256 f1d4ba57b000025f850993f88b2e2024ff9827994d025b90112c80a506b171bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f1df00cd98ad4bb2d926f7597500336e74952bddf4991c60e64fcf6cdaceb36b
MD5 ae75b9bd3d3676824b634480bc24dcb0
BLAKE2b-256 09e48fac34d56a2035068ea04e7184667b0388e3c68e0e9a6987b7d5de06fc59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c712b0b427af7e12379c6bbf9da7df68ab6ce850a86b1004892bd0dbe3651e06
MD5 9a3329f6ce75b90cb1b31f16b8191856
BLAKE2b-256 50c4ef56fd97d83b1cde0079b980b7cfb41a7e62e730df274f4ed46f8f40abc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbc1b1ab16523fcde82576af384a7f63a587740955f5b2c3a02cac510401b7dd
MD5 c08709931878d39e04ddc9c023dcdc81
BLAKE2b-256 97d3f2f3608b60a0ed2f6a11b43de91bc14cb55c23e03b1571260c18b60eb932

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 13ed0199bae66fc9827edaa56947b553060968ad22cd5bdb1b3b5309bd565ee8
MD5 377c518decb367a7a3b6bfe407d10691
BLAKE2b-256 f5b91406c6448f30f636bd2eda444b3ce4b708d5f050c1243ce46b7cb31a2b6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 107171902ca6ef853862c0bba4b33c01429f7245a1b016a476b874eebb8cbc37
MD5 ee464cfa1256b3d6c35693bc093931c5
BLAKE2b-256 51a4bc57c96baaab552cfcf923285d71ed32b5f033bb3f3a7cf72a968a7b8218

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlcycli-1.3.3-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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e5020111ce8ae60ae0535c4f015d59b75c9603f9190f48bbf7e3f199cbefea7a
MD5 a5138d71db6857d45eee04b03c5f33ba
BLAKE2b-256 129e9a81516ffd554f7f8650783d25ea9b454dbd12e85aa32f20ead7d692fdd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0e0845cbb369ce2c1add78d984624b51cf4464b7f93dd1ce8dd3c02dac896d50
MD5 b9b23e73906e9f9816fcd147de74ee68
BLAKE2b-256 c8cb129b6ef2a51601ae78a7ab3ab8a55d62a155577188381f67e72347e8b3df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 318e64d101e06f4bfdbf31c6605ad3f2c61ad64b7c39956993fac4c3f633572e
MD5 4a489cea3c6fa7a1af966abc84263b84
BLAKE2b-256 8cb2524445742f341e30e451906e3a87ffe44ebc23669d4740a0a39025ff53f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7575417737620f4b7c572b7c6e4bfb86b8ae6b7cff61b5e6494da849f33ab5cf
MD5 53ca2e93a248a5a2179fc056cac09c2c
BLAKE2b-256 a87306196d4d6e3f2acc55515fc6df47fe4ad9c5d8412453b0e5e23ae2b18224

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e19f1b4d287b6c79aa8f9b789e1a930ee355ef8472f2a1c98ed0fff31b531ea7
MD5 6c17105a3a0d472488ba2694ca499aa1
BLAKE2b-256 a0ce92ca879c491a7369deeab2f9f3c411377bb079aae8b099aa31f1986e8008

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlcycli-1.3.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cdb1ba0fc7d118897e98878b618e6700a0d3eda7b4d599de66bca5d5dfbd9c49
MD5 a2d09c6704f8b109f171d08cdac368d5
BLAKE2b-256 9a857ccb5cb9fe983b417c14934a00f730566085ca629c37f986a40bedaf0c34

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