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.
Release files for Tornado-MySQL 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Tornado-MySQL-0.5.1.tar.gz | 56.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Tornado_MySQL-0.5.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 122.4 kB
Release files / Tornado-MySQL-0.5.1.tar.gz
| Download URL | Tornado-MySQL-0.5.1.tar.gz |
|---|---|
| Size | 56.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e88a887ed821feeafddab147b9bc546425b8a6e8baede67a604765485af06aa
|
|
BLAKE2b-256 checksum How to use checksums |
96deb27b641faa138ce8c8563c3018a87343d9a119f929a11887bf39deee0d67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / Tornado_MySQL-0.5.1-py2.py3-none-any.whl
| Download URL | Tornado_MySQL-0.5.1-py2.py3-none-any.whl |
|---|---|
| Size | 66.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
449d85127d7cff90491bd2e81b5c65e17875f868936eb6bb3b2e86503a2236d0
|
|
BLAKE2b-256 checksum How to use checksums |
4d6f2455ab487756008246401337a15654b5ede2f04c48936b1212b04c90e88b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |