MySQL Connector/Python v1.0.5 beta is now available for download from the MySQL website. This version is feature complete and we welcome and appreciate feedback and bug reports.
We’re also interested in hearing your feedback for future enhancements. Let us know how you’re using the connector too, especially if you are using it with Django, SQLAlchemy and similar Python technologies.
A few things have changed since the last development releases and we hope the manual shipping with the Connector/Python distribution (and also available online soon) will help you get up to speed.
Here are a few important changes that might be incompatible with current scripts using the now obsolete development releases v0.3.2 and earlier:
- MySQLCursor.execute() returns None. When multiple statements are send, it will return a generator object.
- MySQLConnection.ping() raises and exception. The is_connected() method will return True or False.
- The following methods of MySQLConnection changed: set_charset() replaced by set_charset_collation(); unset_client_flag() and set_client_flag() are removed, use set_client_flags() instead.
There have been quite a few changes and bug fixes. I recommend checking the ChangeLog file in the distribution of MySQL Connector/Python, and, once available, also the change log in the MySQL manual.
You can download Connector/Python 1.0.5-beta at:
If you’d like to ask questions or seek advice in using the connector, check out the following MySQL forum:
Comments
How is it compared to MySQLdb?
We’ve been using this library so far, on mysql 5.1, and with sqlalchemy
Connector/Python 1.0 will work with SQLAlchemy once the dialect is updated.
But Connector/Python is pure Python and does not need any other MySQL software, thus no C libraries and compiling.
So… not ready yet? I’m looking for mysqldb replacement, since this library seems to no longer be maintaned, and latest release is about 5 years old ;)
I’ve found your old status report: http://geert.vanderkelen.org/status-report-no-2-on-sqlalchemy-and-mysql-connectorpython/
And I think I will have to do some testing with all three libraries ;)
https://launchpad.net/myconnpy
why don’t update this project?
One more thing. SQLAlchemy was looking for get_characterset_info(). I was able to get everything working without any blatant issues with the following (which is hacky.. but I needed it to work right now). Fwiw, I’m running SQLAlchemy 0.7, MySQL 5.1 and needed to support SSL connections to the db… they seem to be working just fine.
[python] def get_characterset_info(self, **kwargs): pass
def set_client_flag(self, flags): return self.set_client_flags(flags) [/python]
(Updated by Geert: Showing Python code better)
Thanks so much for trying out the beta of Connector/Python with SQLAlchemy!
The best way would be to update the dialect of SQLAlchemy: lib/sqlalchemy/dialects/mysql/mysqlconnector.py
[python] def _get_server_version_info(self, connection): .. from mysql.connector.constants import ClientFlag dbapi_con.set_client_flags([ClientFlag.FOUND_ROWS]) .. [/python]
Although I’m not sure why the client flags have to be set there. And:
[python] def _detect_charset(self, connection): return connection.connection.charset [/python]
There seems to be not much to change in the dialect, which is a good thing :) (Above code is not tested, but should be good start)