Pure Python MySQL Driver for Tornado
Project description
This package contains a fork of PyMySQL supporting Tornado.
Example
example
#!/usr/bin/env python from __future__ import print_function from tornado import ioloop, gen import tornado_mysql @gen.coroutine def main(): conn = yield tornado_mysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='mysql') cur = conn.cursor() yield cur.execute("SELECT Host,User FROM user") print(cur.description) for row in cur: print(row) cur.close() conn.close() ioloop.IOLoop.current().run_sync(main)
example_pool
#!/usr/bin/env python from __future__ import print_function from tornado import ioloop, gen from tornado_mysql import pools pools.DEBUG = True POOL = pools.Pool( dict(host='127.0.0.1', port=3306, user='root', passwd='', db='mysql'), max_idle_connections=1, max_recycle_sec=3) @gen.coroutine def worker(n): for i in range(10): t = 1 print(n, "sleeping", t, "seconds") cur = yield POOL.execute("SELECT SLEEP(%s)", (t,)) print(n, cur.fetchall()) @gen.coroutine def main(): workers = [worker(i) for i in range(10)] yield workers ioloop.IOLoop.current().run_sync(main) print(POOL._opened_conns)
Requirements
Installation
The last stable release is available on PyPI and can be installed with pip:
$ pip install Tornado-MySQL
Test Suite
If you would like to run the test suite, first copy the file .travis.databases.json to tornado_mysql/tests/databases.json and edit the new file to match your MySQL configuration:
$ cp .travis.databases.json tornado_mysql/tests/databases.json $ $EDITOR tornado_mysql/tests/databases.json
To run all the tests, execute the script runtests.py:
$ python runtests.py
A tox.ini file is also provided for conveniently running tests on multiple Python versions:
$ tox
Resources
DB-API 2.0: http://www.python.org/dev/peps/pep-0249
MySQL Reference Manuals: http://dev.mysql.com/doc/
MySQL client/server protocol: http://dev.mysql.com/doc/internals/en/client-server-protocol.html
PyMySQL mailing list: https://groups.google.com/forum/#!forum/pymysql-users
License
PyMySQL is released under the MIT License. See LICENSE for more information.
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
Built Distribution
File details
Details for the file Tornado-MySQL-0.5.1.tar.gz
.
File metadata
- Download URL: Tornado-MySQL-0.5.1.tar.gz
- Upload date:
- Size: 56.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e88a887ed821feeafddab147b9bc546425b8a6e8baede67a604765485af06aa |
|
MD5 | cc8afd9f83e2a1487530ba1702a0e4ce |
|
BLAKE2b-256 | 96deb27b641faa138ce8c8563c3018a87343d9a119f929a11887bf39deee0d67 |
File details
Details for the file Tornado_MySQL-0.5.1-py2.py3-none-any.whl
.
File metadata
- Download URL: Tornado_MySQL-0.5.1-py2.py3-none-any.whl
- Upload date:
- Size: 66.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 449d85127d7cff90491bd2e81b5c65e17875f868936eb6bb3b2e86503a2236d0 |
|
MD5 | a640911232ab5c368e533ef8ecd86ff4 |
|
BLAKE2b-256 | 4d6f2455ab487756008246401337a15654b5ede2f04c48936b1212b04c90e88b |