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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|