CyMySQL


NameCyMySQL JSON
Version 1.1.1 PyPI version JSON
download
home_pageNone
SummaryPython MySQL Driver using Cython
upload_time2025-07-11 08:51:49
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseNone
keywords mysql
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ========
CyMySQL
========

What's CyMySQL
--------------

This package contains a python MySQL client library.

It is a fork project from PyMySQL https://pymysql.readthedocs.io/en/latest/.

CyMySQL is accerarated by Cython.

Documentation on the MySQL client/server protocol can be found here:
http://dev.mysql.com/doc/internals/en/client-server-protocol.html

Requirements
-------------

- Python 3.10+
- MySQL 5.7 or higher, MariaDB

Installation
--------------

With cythonize

::

   $ pip install cymysql

Or without cythonize

::

   $ NO_CYTHON=1 pip instal cymysql

Example
---------------

Python Database API Specification v2.0
+++++++++++++++++++++++++++++++++++++++++

https://peps.python.org/pep-0249/

::

   import cymysql
   conn = cymysql.connect(host='127.0.0.1', user='root', passwd='', db='database_name')
   cur = conn.cursor()
   cur.execute('select foo, bar from baz')
   for r in cur.fetchall():
      print(r[0], r[1])

asyncio
++++++++++++++++++++++++++++++++++++++

You can use asyncio to write the following.

Use connect
::

   import asyncio
   import cymysql

   async def conn_example():
       conn = await cymysql.aio.connect(
           host="127.0.0.1",
           user="root",
           passwd="",
           db="database_name",
       )
       cur = conn.cursor()
       await cur.execute("SELECT 42")
       print(await cur.fetchall())
   asyncio.run(conn_example())

Use pool
::

   import asyncio
   import cymysql

   async def pool_example(loop):
       pool = await cymysql.aio.create_pool(
           host="127.0.0.1",
           user="root",
           passwd="",
           db="database_name",
           loop=loop,
       )
       async with pool.acquire() as conn:
           async with conn.cursor() as cur:
               await cur.execute("SELECT 42")
               print(await cur.fetchall())
       pool.close()
       await pool.wait_closed()

   loop = asyncio.get_event_loop()
   loop.run_until_complete(pool_example(loop))
   loop.close()

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "CyMySQL",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "Hajime Nakagami <nakagami@gmail.com>",
    "keywords": "MySQL",
    "author": null,
    "author_email": "Yutaka Matsubara <yutaka.matsubara@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/aa/11/41f0df6fd5755001310b3a47aef17d051d5e9b568b1b6e7dd7ae114c7b7a/cymysql-1.1.1.tar.gz",
    "platform": null,
    "description": "========\nCyMySQL\n========\n\nWhat's CyMySQL\n--------------\n\nThis package contains a python MySQL client library.\n\nIt is a fork project from PyMySQL https://pymysql.readthedocs.io/en/latest/.\n\nCyMySQL is accerarated by Cython.\n\nDocumentation on the MySQL client/server protocol can be found here:\nhttp://dev.mysql.com/doc/internals/en/client-server-protocol.html\n\nRequirements\n-------------\n\n- Python 3.10+\n- MySQL 5.7 or higher, MariaDB\n\nInstallation\n--------------\n\nWith cythonize\n\n::\n\n   $ pip install cymysql\n\nOr without cythonize\n\n::\n\n   $ NO_CYTHON=1 pip instal cymysql\n\nExample\n---------------\n\nPython Database API Specification v2.0\n+++++++++++++++++++++++++++++++++++++++++\n\nhttps://peps.python.org/pep-0249/\n\n::\n\n   import cymysql\n   conn = cymysql.connect(host='127.0.0.1', user='root', passwd='', db='database_name')\n   cur = conn.cursor()\n   cur.execute('select foo, bar from baz')\n   for r in cur.fetchall():\n      print(r[0], r[1])\n\nasyncio\n++++++++++++++++++++++++++++++++++++++\n\nYou can use asyncio to write the following.\n\nUse connect\n::\n\n   import asyncio\n   import cymysql\n\n   async def conn_example():\n       conn = await cymysql.aio.connect(\n           host=\"127.0.0.1\",\n           user=\"root\",\n           passwd=\"\",\n           db=\"database_name\",\n       )\n       cur = conn.cursor()\n       await cur.execute(\"SELECT 42\")\n       print(await cur.fetchall())\n   asyncio.run(conn_example())\n\nUse pool\n::\n\n   import asyncio\n   import cymysql\n\n   async def pool_example(loop):\n       pool = await cymysql.aio.create_pool(\n           host=\"127.0.0.1\",\n           user=\"root\",\n           passwd=\"\",\n           db=\"database_name\",\n           loop=loop,\n       )\n       async with pool.acquire() as conn:\n           async with conn.cursor() as cur:\n               await cur.execute(\"SELECT 42\")\n               print(await cur.fetchall())\n       pool.close()\n       await pool.wait_closed()\n\n   loop = asyncio.get_event_loop()\n   loop.run_until_complete(pool_example(loop))\n   loop.close()\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python MySQL Driver using Cython",
    "version": "1.1.1",
    "project_urls": {
        "Project": "https://github.com/nakagami/CyMySQL/"
    },
    "split_keywords": [
        "mysql"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aa1141f0df6fd5755001310b3a47aef17d051d5e9b568b1b6e7dd7ae114c7b7a",
                "md5": "0896a8c6c66891bc63144b7f343193b7",
                "sha256": "c0ace2fa0df92aaed1050d18e039bbea2ed4b65faa5083f3df80e6dc07ca99e5"
            },
            "downloads": -1,
            "filename": "cymysql-1.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "0896a8c6c66891bc63144b7f343193b7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 50403,
            "upload_time": "2025-07-11T08:51:49",
            "upload_time_iso_8601": "2025-07-11T08:51:49.672837Z",
            "url": "https://files.pythonhosted.org/packages/aa/11/41f0df6fd5755001310b3a47aef17d051d5e9b568b1b6e7dd7ae114c7b7a/cymysql-1.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 08:51:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nakagami",
    "github_project": "CyMySQL",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cymysql"
}
        
Elapsed time: 0.64832s