{ "info": { "author": "Takeshi Komiya", "author_email": "i.tkomiya at gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Database", "Topic :: Software Development", "Topic :: Software Development :: Testing" ], "description": "``testing.mysqld`` automatically setups a mysqld instance in a temporary directory, and destroys it after testing\n\n.. image:: https://travis-ci.org/tk0miya/testing.mysqld.svg?branch=master\n :target: https://travis-ci.org/tk0miya/testing.mysqld\n\n.. image:: https://coveralls.io/repos/tk0miya/testing.mysqld/badge.png?branch=master\n :target: https://coveralls.io/r/tk0miya/testing.mysqld?branch=master\n\n.. image:: https://codeclimate.com/github/tk0miya/testing.mysqld/badges/gpa.svg\n :target: https://codeclimate.com/github/tk0miya/testing.mysqld\n\nInstall\n=======\nUse easy_install (or pip)::\n\n $ easy_install testing.mysqld\n\nAnd ``testing.mysqld`` requires MySQL server in your PATH.\n\n\nUsage\n=====\nCreate MySQL instance using ``testing.mysqld.Mysqld``::\n\n import testing.mysqld\n from sqlalchemy import create_engine\n\n # Lanuch new MySQL server\n with testing.mysqld.Mysqld() as mysqld:\n # connect to MySQL\n engine = create_engine(mysqld.url())\n\n # if you use mysqldb or other drivers:\n # import _mysql\n # db = _mysql.connect(**mysqld.dsn())\n\n #\n # do any tests using MySQL...\n #\n\n # MySQL server is terminated here\n\n\n``testing.mysqld.Mysqld`` executes ``mysql_install_db`` and ``mysqld`` on instantiation.\nOn deleting Mysqld object, it terminates MySQL instance and removes temporary directory.\n\nIf you want a database including tables and any fixtures for your apps,\nuse ``copy_data_from`` keyword::\n\n # uses a copy of specified data directory of MySQL.\n mysqld = testing.mysqld.Mysqld(copy_data_from='/path/to/your/database')\n\n\nYou can specify parameters for MySQL with ``my_cnf`` keyword::\n\n # boot MySQL server without socket listener (use unix-domain socket) \n mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})\n\n\nFor example, you can setup new MySQL server for each testcases on setUp() method::\n\n import unittest\n import testing.mysqld\n\n class MyTestCase(unittest.TestCase):\n def setUp(self):\n self.mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})\n\n def tearDown(self):\n self.mysqld.stop()\n\n\nTo make your tests faster\n-------------------------\n\n``testing.mysqld.Mysqld`` invokes ``initdb`` command on every instantiation.\nThat is very simple. But, in many cases, it is very waste that generating brandnew database for each testcase.\n\nTo optimize the behavior, use ``testing.mysqld.MysqldFactory``.\nThe factory class is able to cache the generated database beyond the testcases,\nand it reduces the number of invocation of ``mysql_install_db`` command::\n\n import unittest\n import testing.mysqld\n\n # Generate Mysqld class which shares the generated database\n Mysqld = testing.mysqld.MysqldFactory(cache_initialized_db=True)\n\n\n def tearDownModule(self):\n # clear cached database at end of tests\n Mysqld.clear_cache()\n\n\n class MyTestCase(unittest.TestCase):\n def setUp(self):\n # Use the generated Mysqld class instead of testing.mysqld.Mysqld\n self.mysqld = Mysqld()\n\n def tearDown(self):\n self.mysqld.stop()\n\nIf you want to insert fixtures to the cached database, use ``initdb_handler`` option::\n\n # create initial data on create as fixtures into the database\n def handler(mysqld):\n conn = psycopg2.connect(**mysqld.dsn())\n cursor = conn.cursor()\n cursor.execute(\"CREATE TABLE hello(id int, value varchar(256))\")\n cursor.execute(\"INSERT INTO hello values(1, 'hello'), (2, 'ciao')\")\n cursor.close()\n conn.commit()\n conn.close()\n\n # Use `handler()` on initialize database\n Mysqld = testing.mysqld.MysqldFactory(cache_initialized_db=True,\n on_initialized=handler)\n\n\n\nRequirements\n============\n* Python 2.7, 3.3, 3.4, 3.5\n* pymysql\n\nLicense\n=======\nApache License 2.0\n\n\nHistory\n=======\n\n1.4.0 (2016-08-20)\n-------------------\n* Drop py26, py32 support\n* Allow ``user`` and ``password`` argument to connect authorized database\n* Depend on testing.common.database >= 2.0.0\n\n1.3.0 (2016-02-03)\n-------------------\n* Add timeout to server invoker\n* Support MySQL-5.7\n* Add testing.mysqld.MysqldFactory\n* Depend on ``testing.common.database`` package\n* Assign port if networking not disabled\n\n1.2.8 (2015-04-06)\n-------------------\n* Fix bugs\n\n1.2.7 (2014-12-20)\n-------------------\n* Support for relative mysql_install_db links\n* Use absolute path for which command\n\n1.2.6 (2014-06-19)\n-------------------\n* Add timeout on terminating mysqld\n* Fix bugs\n\n1.2.5 (2014-06-11)\n-------------------\n* Fix ImportError if caught SIGINT on py3\n\n1.2.4 (2014-02-13)\n-------------------\n* Fix testing.mysqld.Mysqld#start() fails if mysql_install_db does not create database named \"test\"\n\n1.2.3 (2013-12-11)\n-------------------\n* Use pymysql driver as default in Mysqld#url()\n\n1.2.2 (2013-12-06)\n-------------------\n* Change behavior: Mysqld#stop() cleans workdir\n* Fix caught AttributeError on object deletion\n\n1.2.1 (2013-12-05)\n-------------------\n* Add mysqld.skipIfNotInstalled decorator (alias of skipIfNotFound)\n* Suport python 2.6 and 3.2\n\n1.2.0 (2013-12-04)\n-------------------\n* Add @skipIfNotFound decorator\n\n1.1.2 (2013-11-26)\n-------------------\n* Fix it does not cleanup temporary directory if Mysqld object has been deleted\n\n1.1.1 (2013-11-25)\n-------------------\n* Add charset parameter to Mysqld#url()\n\n1.1.0 (2013-11-22)\n-------------------\n* Rename package: test.mysqld -> testing.mysqld\n* Add Mysqld#url() method (for sqlalchemy)\n\n1.0.0 (2013-10-17)\n-------------------\n* First release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tk0miya/testing.mysqld", "keywords": null, "license": "Apache License 2.0", "maintainer": null, "maintainer_email": null, "name": "testing.mysqld", "package_url": "https://pypi.org/project/testing.mysqld/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/testing.mysqld/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/tk0miya/testing.mysqld" }, "release_url": "https://pypi.org/project/testing.mysqld/1.4.0/", "requires_dist": null, "requires_python": null, "summary": "automatically setups a mysqld instance in a temporary directory, and destroys it after testing", "version": "1.4.0" }, "last_serial": 2292264, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "f34789ac1b4decbc53b5cd8bc81b5591", "sha256": "a45d68bfc17fc7ec143fdaa7ac9acb950cf8fb402b3389a295bd8e882b7e4990" }, "downloads": -1, "filename": "testing.mysqld-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f34789ac1b4decbc53b5cd8bc81b5591", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8390, "upload_time": "2013-11-21T09:52:25", "url": "https://files.pythonhosted.org/packages/e9/2c/c137c6e7a8e135c2b661775c5f4e00cb5ca4461ce855e0ab7b16813dc415/testing.mysqld-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e9c9d5c09ed3d191d3674cf3255c9952", "sha256": "3b08bce935d697cc757d9121654e968f520b21ef89939dc8b4f92fb14261bd10" }, "downloads": -1, "filename": "testing.mysqld-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e9c9d5c09ed3d191d3674cf3255c9952", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8636, "upload_time": "2013-11-22T10:16:33", "url": "https://files.pythonhosted.org/packages/2d/7b/319efbe6e4401d4c1ddf7c516229358be798f1459761da15aaacff023cda/testing.mysqld-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "26a1c98a7d3204f61807d46a79d66859", "sha256": "44d0cd561ab7c8191bf3d1a8f2dd33ef476ea579d2a23418d937350438c1d7e8" }, "downloads": -1, "filename": "testing.mysqld-1.1.1.tar.gz", "has_sig": false, "md5_digest": "26a1c98a7d3204f61807d46a79d66859", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8680, "upload_time": "2013-11-25T09:51:02", "url": "https://files.pythonhosted.org/packages/51/54/132f6a50befcb62ea508d54319d977726ed7553b7946df720daf06c28b3a/testing.mysqld-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "1b47ac4164af4ed92b2ea9c35c273e0f", "sha256": "e2530f6011d3ac13156de3ac39b2786f120f62dabf264eaad8904ead60fbedc0" }, "downloads": -1, "filename": "testing.mysqld-1.1.2.tar.gz", "has_sig": false, "md5_digest": "1b47ac4164af4ed92b2ea9c35c273e0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8697, "upload_time": "2013-11-26T01:57:42", "url": "https://files.pythonhosted.org/packages/99/a9/c0a251b91d2dca3c78d126d0e58f6b6143b39826de9414992d7ebceb119b/testing.mysqld-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "719db48f3bebf3ac13a114d518020560", "sha256": "68612a01f858abec2c8b590ff7b95b02ef12359cbfa6e9e486f3e7bbe751fc46" }, "downloads": -1, "filename": "testing.mysqld-1.2.0.tar.gz", "has_sig": false, "md5_digest": "719db48f3bebf3ac13a114d518020560", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9004, "upload_time": "2013-12-04T10:05:30", "url": "https://files.pythonhosted.org/packages/88/97/69633a7d8eab3d081f8a390d8f8bf19e3c172ed6d2508562cfda825ab47c/testing.mysqld-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "da7a5219697801f627077b5fa8c40b76", "sha256": "ed54d148bfb95b99ec730bd789835a8c0ceaf1c6820cbcb5235172ea7081c1a8" }, "downloads": -1, "filename": "testing.mysqld-1.2.1.tar.gz", "has_sig": false, "md5_digest": "da7a5219697801f627077b5fa8c40b76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9137, "upload_time": "2013-12-05T02:22:10", "url": "https://files.pythonhosted.org/packages/e6/de/9465c4760c11310ec1cdb7b9f0d2e60c664b0d215e1cb279eaff9cec702e/testing.mysqld-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "0cd40878e9815fdcacde9b56f8bc49a7", "sha256": "91f1a3b8a379097ad0df833df3b874f57111da450153543f9bfb9b89fff04369" }, "downloads": -1, "filename": "testing.mysqld-1.2.2.tar.gz", "has_sig": false, "md5_digest": "0cd40878e9815fdcacde9b56f8bc49a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9260, "upload_time": "2013-12-06T05:10:24", "url": "https://files.pythonhosted.org/packages/09/e2/50f63e595c02e6d4aea1fe18855c248bb0fff3d10e10cbd129795bef6492/testing.mysqld-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "5c0956128c8c64ba158ea21d7489135b", "sha256": "f32c41a88fcd0314e583d59b4c8e4ffa1c593634e96d36ac68ef34760146d73f" }, "downloads": -1, "filename": "testing.mysqld-1.2.3.tar.gz", "has_sig": false, "md5_digest": "5c0956128c8c64ba158ea21d7489135b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9323, "upload_time": "2013-12-11T06:39:50", "url": "https://files.pythonhosted.org/packages/fe/93/810a0c94fea85b88fddb076c517e779d575d9a256ec329f8e56e35d04a43/testing.mysqld-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "b8789987afcabb64bb118c21cd03d983", "sha256": "8c182bff17b0b65beb0cd8cd4998ea4aba94cd9bff0dc5151cf47055df975d06" }, "downloads": -1, "filename": "testing.mysqld-1.2.4.tar.gz", "has_sig": false, "md5_digest": "b8789987afcabb64bb118c21cd03d983", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9382, "upload_time": "2014-02-13T07:30:51", "url": "https://files.pythonhosted.org/packages/28/56/459e49918f6a24683c20728280a990f2d876a35876313500c9ad8a5a44b6/testing.mysqld-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "4577c71456253e02af8886303a9ef836", "sha256": "5771691158a8ac9255eb6c219b4a4e5043daab5ee58090a0a2e72db885410b81" }, "downloads": -1, "filename": "testing.mysqld-1.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4577c71456253e02af8886303a9ef836", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8383, "upload_time": "2014-06-11T06:35:25", "url": "https://files.pythonhosted.org/packages/fa/7b/b5b8daeeb922a2a9de0a7ca93169b4cd754dd217cfca99cc1715d748f969/testing.mysqld-1.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "caf2e44774e63f172e35cac9f8286b2a", "sha256": "8d50029a2a79aa7febc94421e716a741a101083113543d0e8709af7ec0aa925a" }, "downloads": -1, "filename": "testing.mysqld-1.2.5.tar.gz", "has_sig": false, "md5_digest": "caf2e44774e63f172e35cac9f8286b2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9696, "upload_time": "2014-06-11T06:35:22", "url": "https://files.pythonhosted.org/packages/15/7d/b6da4c367a68f9d7eb8db94ecaccd456eb17d40ad456db0a3dca47f489e1/testing.mysqld-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "0f511e678b9e25d2d457afba701a75bf", "sha256": "90b2e268d2d4840e50f8aeb7511765e26a139a2f3eec6683f2891c96efc324e6" }, "downloads": -1, "filename": "testing.mysqld-1.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f511e678b9e25d2d457afba701a75bf", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8522, "upload_time": "2014-06-19T09:37:59", "url": "https://files.pythonhosted.org/packages/d4/59/19f7044d4790b2e31e9e823a3e4305888fbd434a23f6c6aeb715d80deb83/testing.mysqld-1.2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b012ee423a090a7105f6ca93c9aa258f", "sha256": "159d6385250f8122a167f475e43d800dc3459569f444b531a1d492d17eaadb81" }, "downloads": -1, "filename": "testing.mysqld-1.2.6.tar.gz", "has_sig": false, "md5_digest": "b012ee423a090a7105f6ca93c9aa258f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9805, "upload_time": "2014-06-19T09:37:57", "url": "https://files.pythonhosted.org/packages/be/7f/897bef1d1c9dc23aa609b098074e0f2c3cc8a0e1249edb0c687d855bac85/testing.mysqld-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "7d2645d3ba91098053330cdbe1cda416", "sha256": "d9013ec2ad0242c9a0822074cea46b0913efd55a6128562705ebaec8a0d35040" }, "downloads": -1, "filename": "testing.mysqld-1.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d2645d3ba91098053330cdbe1cda416", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8637, "upload_time": "2014-12-20T05:33:47", "url": "https://files.pythonhosted.org/packages/9e/1a/c17e96eea5f921b46bdf1f02312082d0ee3345e193deeb501a83cba1f7ab/testing.mysqld-1.2.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da48d31dd6a2afb8478d50e5f2131c10", "sha256": "3a4ce62aacd87c378f7e834b15c43bb3f620f06facc1ee0af97f1e22cbe4f6f4" }, "downloads": -1, "filename": "testing.mysqld-1.2.7.tar.gz", "has_sig": false, "md5_digest": "da48d31dd6a2afb8478d50e5f2131c10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9792, "upload_time": "2014-12-20T05:33:44", "url": "https://files.pythonhosted.org/packages/bf/91/d0017cc9d6a00b6baa1f795700f01b71584d65f57c927cc105dc3dc80c48/testing.mysqld-1.2.7.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "5234feb982377d28936dd83ecbe1d8db", "sha256": "b8dad65c7d4b2efeee51897e9f3aaacf2b0957e51187a848ce4b9e10305da6d7" }, "downloads": -1, "filename": "testing.mysqld-1.2.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5234feb982377d28936dd83ecbe1d8db", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8691, "upload_time": "2015-04-06T05:58:35", "url": "https://files.pythonhosted.org/packages/be/d8/9f68e130282d0a2f01ee07f65c304cdf6a9fbd3237e1e41d8ad7d3069a69/testing.mysqld-1.2.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7192bc075dd2fdb287e0125912c9df1a", "sha256": "1c21d824c473d175f50f20c6e792b33445e3fc9886c7f8bc8018fe1457437c72" }, "downloads": -1, "filename": "testing.mysqld-1.2.8.tar.gz", "has_sig": false, "md5_digest": "7192bc075dd2fdb287e0125912c9df1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9835, "upload_time": "2015-04-06T05:58:31", "url": "https://files.pythonhosted.org/packages/a9/38/6d71fbc00951299d9c5c11cf1901c77403d3a7779929e45ab976d661fdec/testing.mysqld-1.2.8.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "235f0638acc2007b8dbe8777bb1df69f", "sha256": "c1a19da996e0849aacb0976300b83fb416ba80c4fa29d608cabd7563cb8f1756" }, "downloads": -1, "filename": "testing.mysqld-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "235f0638acc2007b8dbe8777bb1df69f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8999, "upload_time": "2016-02-04T13:56:21", "url": "https://files.pythonhosted.org/packages/1b/b6/feb7e1270110cdebc3f1af8dadfee8981ca2b673ad11abd68b4dfbdb9807/testing.mysqld-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84f4e746046fe08b937d2dadc62a48fd", "sha256": "937b372d10dbff0572286dfbaccdae5c554c58f9282e806a367b93a0937aa5ec" }, "downloads": -1, "filename": "testing.mysqld-1.3.0.tar.gz", "has_sig": false, "md5_digest": "84f4e746046fe08b937d2dadc62a48fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9744, "upload_time": "2016-02-04T13:56:06", "url": "https://files.pythonhosted.org/packages/ec/84/b21455f75fc626d6f6f671d6c87657525caff565f21d6cb2898046985573/testing.mysqld-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "830f0cd55db1ece49821774ca25e3ea0", "sha256": "e99ef0d0a8fccd78752768b4341f1857ef99f2fd68e96944f76bdddee56a3641" }, "downloads": -1, "filename": "testing.mysqld-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "830f0cd55db1ece49821774ca25e3ea0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9187, "upload_time": "2016-08-20T08:41:32", "url": "https://files.pythonhosted.org/packages/38/31/a44f2a397a336dbf9ee468a9013a8144c1e5980faaffca30ec6e73cc8cfd/testing.mysqld-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44a07ddc742cd333f93cccb29179b26b", "sha256": "4d2df85468ef0ac33f9f439739b3764f184af2fc102a017de2a32962ed5618bb" }, "downloads": -1, "filename": "testing.mysqld-1.4.0.tar.gz", "has_sig": false, "md5_digest": "44a07ddc742cd333f93cccb29179b26b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9840, "upload_time": "2016-08-20T08:41:29", "url": "https://files.pythonhosted.org/packages/b2/f6/db025f2e45282c9bbb61d06ac2c7380bb32063fa05540751a68b0a203893/testing.mysqld-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "830f0cd55db1ece49821774ca25e3ea0", "sha256": "e99ef0d0a8fccd78752768b4341f1857ef99f2fd68e96944f76bdddee56a3641" }, "downloads": -1, "filename": "testing.mysqld-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "830f0cd55db1ece49821774ca25e3ea0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9187, "upload_time": "2016-08-20T08:41:32", "url": "https://files.pythonhosted.org/packages/38/31/a44f2a397a336dbf9ee468a9013a8144c1e5980faaffca30ec6e73cc8cfd/testing.mysqld-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44a07ddc742cd333f93cccb29179b26b", "sha256": "4d2df85468ef0ac33f9f439739b3764f184af2fc102a017de2a32962ed5618bb" }, "downloads": -1, "filename": "testing.mysqld-1.4.0.tar.gz", "has_sig": false, "md5_digest": "44a07ddc742cd333f93cccb29179b26b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9840, "upload_time": "2016-08-20T08:41:29", "url": "https://files.pythonhosted.org/packages/b2/f6/db025f2e45282c9bbb61d06ac2c7380bb32063fa05540751a68b0a203893/testing.mysqld-1.4.0.tar.gz" } ] }