Socket
Socket
Sign inDemoInstall

tormysql

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Protect your apps from supply chain attacks

Install

tormysql

Tornado asynchronous MySQL Driver

    0.4.3

Maintainers
1

Readme

TorMySQL
========

|Build Status|

The highest performance asynchronous MySQL driver.

PyPI page: https://pypi.python.org/pypi/tormysql

About
=====

Presents a Future-based API and greenlet for non-blocking access to
MySQL.

Support both `tornado <https://github.com/tornadoweb/tornado>`__ and
`asyncio <https://docs.python.org/3/library/asyncio.html>`__.

Installation
============

::

    pip install TorMySQL

Used Tornado
============

example pool
------------

::

    from tornado.ioloop import IOLoop
    from tornado import gen
    import tormysql

    pool = tormysql.ConnectionPool(
        max_connections = 20, #max open connections
        idle_seconds = 7200, #conntion idle timeout time, 0 is not timeout
        wait_connection_timeout = 3, #wait connection timeout
        host = "127.0.0.1",
        user = "root",
        passwd = "TEST",
        db = "test",
        charset = "utf8"
    )

    @gen.coroutine
    def test():
        with (yield pool.Connection()) as conn:
            try:
                with conn.cursor() as cursor:
                    yield cursor.execute("INSERT INTO test(id) VALUES(1)")
            except:
                yield conn.rollback()
            else:
                yield conn.commit()

            with conn.cursor() as cursor:
                yield cursor.execute("SELECT * FROM test")
                datas = cursor.fetchall()

        print datas
        
        yield pool.close()

    ioloop = IOLoop.instance()
    ioloop.run_sync(test)

example helpers
---------------

::

    from tornado.ioloop import IOLoop
    from tornado import gen
    import tormysql

    pool = tormysql.helpers.ConnectionPool(
        max_connections = 20, #max open connections
        idle_seconds = 7200, #conntion idle timeout time, 0 is not timeout
        wait_connection_timeout = 3, #wait connection timeout
        host = "127.0.0.1",
        user = "root",
        passwd = "TEST",
        db = "test",
        charset = "utf8"
    )

    @gen.coroutine
    def test():
        tx = yield pool.begin()
        try:
            yield tx.execute("INSERT INTO test(id) VALUES(1)")
        except:
            yield tx.rollback()
        else:
            yield tx.commit()

        cursor = yield pool.execute("SELECT * FROM test")
        datas = cursor.fetchall()

        print datas

        yield pool.close()

    ioloop = IOLoop.instance()
    ioloop.run_sync(test)

Used asyncio alone
==================

example pool
------------

::

    from asyncio import events
    import tormysql

    pool = tormysql.ConnectionPool(
       max_connections = 20, #max open connections
       idle_seconds = 7200, #conntion idle timeout time, 0 is not timeout
       wait_connection_timeout = 3, #wait connection timeout
       host = "127.0.0.1",
       user = "root",
       passwd = "TEST",
       db = "test",
       charset = "utf8"
    )

    async def test():
       async with await pool.Connection() as conn:
           try:
               async with conn.cursor() as cursor:
                   await cursor.execute("INSERT INTO test(id) VALUES(1)")
           except:
               await conn.rollback()
           else:
               await conn.commit()

           async with conn.cursor() as cursor:
               await cursor.execute("SELECT * FROM test")
               datas = cursor.fetchall()

       print(datas)

       await pool.close()

    ioloop = events.get_event_loop()
    ioloop.run_until_complete(test)

example helpers
---------------

::

    from asyncio import events
    import tormysql

    pool = tormysql.helpers.ConnectionPool(
       max_connections = 20, #max open connections
       idle_seconds = 7200, #conntion idle timeout time, 0 is not timeout
       wait_connection_timeout = 3, #wait connection timeout
       host = "127.0.0.1",
       user = "root",
       passwd = "TEST",
       db = "test",
       charset = "utf8"
    )

    async def test():
       async with await pool.begin() as tx:
           await tx.execute("INSERT INTO test(id) VALUES(1)")

       cursor = await pool.execute("SELECT * FROM test")
       datas = cursor.fetchall()

       print(datas)

       await pool.close()

    ioloop = events.get_event_loop()
    ioloop.run_until_complete(test)

Resources
=========

You can read `PyMySQL Documentation <http://pymysql.readthedocs.io/>`__
online for more information.

License
=======

TorMySQL uses the MIT license, see LICENSE file for the details.

.. |Build Status| image:: https://travis-ci.org/snower/TorMySQL.svg?branch=master
   :target: https://travis-ci.org/snower/TorMySQL

Keywords

FAQs


Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc