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
Alternatively (e.g. if pip is not available), a tarball can be downloaded from GitHub and installed with Setuptools:
$ # X.X is the desired PyMySQL version (e.g. 0.5 or 0.6). $ curl -L https://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X | tar xz $ cd PyMySQL* $ python setup.py install $ # The folder PyMySQL* can be safely removed now.
Test Suite
If you would like to run the test suite, first copy the file .travis.databases.json to pymysql/tests/databases.json and edit the new file to match your MySQL configuration:
$ cp .travis.databases.json pymysql/tests/databases.json $ $EDITOR pymysql/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.2.tar.gz
.
File metadata
- Download URL: Tornado-MySQL-0.2.tar.gz
- Upload date:
- Size: 54.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce53171b6b479bf5653515b3bbd3b85be10127b61d22613482b5643985645635 |
|
MD5 | 16ed7c7cac85a414454884fc277a3ecd |
|
BLAKE2b-256 | 508296899bb4089fec9ef4096f09dda2211033641c78f4949fd868e6eea3f302 |
File details
Details for the file Tornado_MySQL-0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: Tornado_MySQL-0.2-py2.py3-none-any.whl
- Upload date:
- Size: 64.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f23a40af764c25a2823ba261cdbca748b3df5c82c21c4595b7574188c85d3d1 |
|
MD5 | ddbed8ec97b0bbf5c94e19a03703e635 |
|
BLAKE2b-256 | bcdef46fc23bbd71803b4e962dcc6b8d78defd841dc9702d9be6de4cee80c721 |