{ "info": { "author": "Jay Marcyes", "author_email": "jay@marcyes.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Plugins", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Testing" ], "description": "Testdata\n========\n\nGenerate Random Test Data.\n\nThese are just a bunch of handy functions designed to make it easier to\ntest your code.\n\nTo use testdata in your tests, just import it into your testing module:\n\n::\n\n import testdata\n\nTo install, use Pip:\n\n::\n\n pip install testdata\n\nOr, with Pip using Github:\n\n::\n\n pip install --upgrade \"git+https://github.com/Jaymon/testdata#egg=testdata\"\n\nFunctionality\n-------------\n\nThis is an overview of some of the functions and classes found in the\nTestdata module, there are other functions (like ``get_birthday``) that\naren\u2019t listed here, for the complete list just look at the\n`source `__.\n\npatch\n~~~~~\n\nPatching modules and classes\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code:: python\n\n patch(mod, **patches)\n\nPatches a module, instance, or class with the given patches.\n\nSuppose you had a module like this:\n\n.. code:: python\n\n # module foo.bar\n\n def boom():\n return 1\n\n class FooPatch(object):\n @classmethod\n def bam(cls): return boom()\n\nNow you can easily patch it for testing:\n\n.. code:: python\n\n def mock_boom():\n return 2\n\n foo_bar = testdata.patch('foo.bar', boom=mock_boom)\n print foo_bar.FooPatch.bam() # 2\n\n # but you can also just pass in objects or modules\n\n from foo.bar import FooPatch\n FooPatch = testdata.patch(FooPatch, boom=mock_boom)\n print FooPatch.bam() # 2\n\n from foo import bar\n bar = testdata.patch(bar, boom=mock_boom)\n print bar.FooPatch.bam() # 2\n\nPatching class instances\n^^^^^^^^^^^^^^^^^^^^^^^^\n\nYou can also patch a specific instance\n\nSuppose you had a module like this:\n\n.. code:: python\n\n # module foo.bar\n\n class Foo(object):\n def boom(self): return 1\n\nNow you can easily patch it for testing:\n\n.. code:: python\n\n def mock_boom():\n return 2\n\n foo = Foo()\n foo_patched = testdata.patch(foo, boom=mock_boom)\n print foo_patched.boom() # 2\n\n # be aware though, the original instance was modified, foo_patched == foo\n print foo.boom() # 2\n\n--------------\n\nrun\n~~~\n\nRun a command on the command line\n\n.. code:: python\n\n r = testdata.run(\"echo 1\")\n print(r) # 1\n\n--------------\n\nfetch\n~~~~~\n\nRequest a url\n\n.. code:: python\n\n r = testdata.fetch(\"http://example.com\")\n print(r.code) # 200\n print(r.body) # the html body of example.com\n\n--------------\n\ncapture\n~~~~~~~\n\nOutput buffering, handy when you want to make sure logging or print\nstatements are doing what you think they should be doing.\n\n.. code:: python\n\n with testdata.capture() as c:\n print(\"foo\")\n if \"foo\" in c:\n print(\"foo was captured\")\n\n--------------\n\nThreading\n~~~~~~~~~\n\nA wrapper around python\u2019s builtin ``threading.Thread`` class that\nbubbles errors up to the main thread because, by default, python\u2019s\nthreading classes suppress errors, this makes it annoying when using\nthreads for testing.\n\n.. code:: python\n\n def run():\n raise ValueError(\"join_2\")\n\n thread = testdata.Thread(target=run)\n thread.start()\n print(thread.exception)\n\n--------------\n\nFile Server\n~~~~~~~~~~~\n\nSometimes you need to test fetching remote files\n\n.. code:: python\n\n import requests\n\n server = testdata.create_fileserver({\n \"foo.txt\": [\"foo\"],\n \"bar.txt\": [\"bar\"],\n })\n\n with server: # the with handles starting and stopping the server\n res = testdata.fetch(server.url(\"foo.txt\"))\n print(res.body) # foo\n\n--------------\n\nenvironment\n~~~~~~~~~~~\n\nChange your environment with this context manager, if you don\u2019t pass in\nan object as the first value it will default to ``os.environ``\n\n.. code:: python\n\n with testdata.enviroment(FOO=1):\n print(os.environ[\"FOO\"]) # 1\n print(os.environ[\"FOO\"]) # raises KeyError\n\n # you can also modify objects:\n\n d = {}\n\n with testdata.enviroment(d, FOO=1):\n print(d[\"FOO\"]) # 1\n print(d[\"FOO\"]) # raises KeyError\n\n--------------\n\ncreate_dir\n~~~~~~~~~~\n\n.. code:: python\n\n create_dir(path, tmpdir=\"\")\n\ncreate a directory hierarchy\n\n.. code:: python\n\n base_dir = \"/tmp\"\n d = testdata.create_dir(\"/foo/bar\", base_dir)\n print d # /tmp/foo/bar\n\n--------------\n\ncreate_file\n~~~~~~~~~~~\n\n.. code:: python\n\n create_file(path, contents=\"\", tmpdir=\"\", encoding=\"\")\n\ncreate a file with contents\n\n.. code:: python\n\n base_dir = \"/tmp\"\n f = testdata.create_file(\"/foo/bar.txt\", \"The file contents\", base_dir)\n print f # /tmp/foo/bar.txt\n\n--------------\n\ncreate_files\n~~~~~~~~~~~~\n\n.. code:: python\n\n create_files(file_dict, tmpdir=\"\", encoding=\"\")\n\nCreate a whole bunch of files, the ``file_dict`` key is the filename,\nthe value is the contents of the file. The ``file_dict`` is very similar\nto the ``create_modules`` param ``module_dict``\n\n.. code:: python\n\n file_dict = {\n \"foo/bar.txt\": \"the foo file contents\",\n \"baz.txt\": \"the baz file contents\",\n }\n f = testdata.create_files(file_dict)\n\n--------------\n\nget_file\n~~~~~~~~\n\n.. code:: python\n\n get_file(path=\"\", tmpdir=\"\")\n\nThis will return a ``Filepath`` instance that you can manipulate but\nunlike ``create_file`` it won\u2019t actually create the file, just give you\na path to a file that could be created.\n\n--------------\n\ncreate_module\n~~~~~~~~~~~~~\n\n.. code:: python\n\n create_module(module_name, contents=\"\", tmpdir=\"\", make_importable=True)\n\ncreate a module with python contents that can be imported\n\n.. code:: python\n\n base_dir = \"/tmp\"\n f = testdata.create_module(\"foo.bar\", \"class Che(object): pass\", base_dir)\n print f # /tmp/foo/bar.py\n\n--------------\n\ncreate_modules\n~~~~~~~~~~~~~~\n\n.. code:: python\n\n create_modules(module_dict, tmpdir=\"\", make_importable=True)\n\ncreate a whole bunch of modules at once\n\n.. code:: python\n\n f = testdata.create_modules(\n {\n \"foo.bar\": \"class Che(object): pass\",\n \"foo.bar.baz\": \"class Boom(object): pass\",\n \"foo.che\": \"class Bam(object): pass\",\n }\n )\n\n--------------\n\nget_ascii\n~~~~~~~~~\n\n.. code:: python\n\n get_ascii(str_size=0)\n\nreturn a string of ascii characters\n\n::\n\n >>> testdata.get_ascii()\n u'IFUKzVAauqgyRY6OV'\n\n--------------\n\nget_md5\n~~~~~~~\n\n.. code:: python\n\n get_md5(val=\"\")\n\nreturn an md5 hash of val (if passed in) or a random val if val is empty\n\n::\n\n >>> testdata.get_md5()\n 'e165765400b30772f1d9b3975ce77320'\n\n--------------\n\nget_hash\n~~~~~~~~\n\n.. code:: python\n\n get_hash(str_size=32)\n\nreturn a random hash\n\n::\n\n >>> testdata.get_hash()\n \"jYw3HseUl8GLoMc8QejLYFogC2lUYoUs\"\n\n--------------\n\nget_bool\n~~~~~~~~\n\n.. code:: python\n\n get_bool()\n\nreturn a boolean (either **True** or **False**)\n\n::\n\n >>> testdata.get_bool()\n False\n >>> testdata.get_bool()\n True\n\n+-----------------------------------------------------------------------+\n| ### get_float |\n+-----------------------------------------------------------------------+\n| ``python get_float(min_size=None, max_size=None)`` |\n+-----------------------------------------------------------------------+\n| return a floating point number between ``min_size`` and ``max_size``. |\n+-----------------------------------------------------------------------+\n| >>> testdata.get_float() 2.932229899095845e+307 |\n+-----------------------------------------------------------------------+\n\nget_int\n~~~~~~~\n\n.. code:: python\n\n get_int(min_size=1, max_size=sys.maxsize)\n\nreturn an integer between ``min_size`` and ``max_size``.\n\n::\n\n >>> testdata.get_int()\n 3820706953806377295\n\n--------------\n\nget_name\n~~~~~~~~\n\n.. code:: python\n\n get_name(name_count=2, as_str=True)\n\nreturns a random name that can be outside the ascii range (eg, name can\nbe unicode)\n\n::\n\n >>> testdata.get_name()\n u'jamel clarke-cabrera'\n\n--------------\n\nget_email\n~~~~~~~~~\n\n.. code:: python\n\n get_email(name=u'')\n\nreturns a random email address in the ascii range.\n\n::\n\n >>> testdata.get_email()\n u'shelley@gmail.com'\n\n--------------\n\nget_str\n~~~~~~~\n\n.. code:: python\n\n get_str(str_size=0, chars=None)\n\nreturn random characters, which can be unicode.\n\n::\n\n >>> testdata.get_str()\n \"q\\x0bwZ\\u79755\\ud077\\u027aYm\\ud0d8JK\\x07\\U0010df418tx\\x16\"\n\n--------------\n\nget_url\n~~~~~~~\n\n.. code:: python\n\n get_url()\n\nreturn a random url.\n\n::\n\n >>> testdata.get_url()\n u'https://sK6rxrCa626TkQddTyf.com'\n\n--------------\n\nget_words\n~~~~~~~~~\n\n.. code:: python\n\n get_words(word_count=0, as_str=True)\n\nreturn a random amount of words, which can be unicode.\n\n::\n\n >>> testdata.get_words()\n \"\\u043f\\u043e\\u043d\\u044f\\u0442\\u044c \\u043c\\u043e\\u0436\\u043d\\u043e felis, habitasse ultrices Nam \\u0436\\u0435\\u043d\\u0430\"\n\n--------------\n\nget_past_datetime\n~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n get_past_datetime([now])\n\nreturn a datetime guaranteed to be in the past from ``now``\n\n::\n\n >>> testdata.get_past_datetime()\n datetime.datetime(2000, 4, 2, 13, 40, 11, 133351)\n\n--------------\n\nget_future_datetime\n~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n get_future_datetime([now])\n\nreturn a datetime guaranteed to be in the future from ``now``\n\n::\n\n >>> testdata.get_future_datetime()\n datetime.datetime(2017, 8, 3, 15, 54, 58, 670249)\n\n--------------\n\nget_between_datetime\n~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n get_between_datetime(start[, stop])\n\nreturn a datetime guaranteed to be in the future from ``start`` and in\nthe past from ``stop``\n\n::\n\n >>> start = datetime.datetime.utcnow() - datetime.timedelta(days=100)\n >>> testdata.get_between_datetime(start)\n datetime.datetime(2017, 8, 3, 15, 54, 58, 670249)\n\nTesting\n-------\n\nTesting in 2.7 on most systems:\n\n::\n\n $ python -m unittest testdata_test\n\nTesting in 3.5 on MacOS:\n\n::\n\n $ python3.5 -m unittest testdata_test\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/Jaymon/testdata", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "testdata", "package_url": "https://pypi.org/project/testdata/", "platform": "", "project_url": "https://pypi.org/project/testdata/", "project_urls": { "Homepage": "http://github.com/Jaymon/testdata" }, "release_url": "https://pypi.org/project/testdata/1.1.3/", "requires_dist": null, "requires_python": "", "summary": "Easily generate random unicode test data among other things", "version": "1.1.3" }, "last_serial": 5728271, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "1b181e17f6b0e2e2d9a9335477dd5a9f", "sha256": "72e813ba2856d5299c34e8eac72e3442006d8816a2aa9bc883e884bd66c62913" }, "downloads": -1, "filename": "testdata-0.3.tar.gz", "has_sig": false, "md5_digest": "1b181e17f6b0e2e2d9a9335477dd5a9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25697, "upload_time": "2013-07-09T00:05:21", "url": "https://files.pythonhosted.org/packages/93/5a/b6d76a7cc91d65637672a08d3c10bbbc1e3949d5cf5026e549ccf39fc7c3/testdata-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "3ca12e7ab951eabf90bb63517d2cd46c", "sha256": "c719f687bb0b365dd12434b7feb502f54ff68403e584047d8ccf1276d58ad621" }, "downloads": -1, "filename": "testdata-0.4.tar.gz", "has_sig": false, "md5_digest": "3ca12e7ab951eabf90bb63517d2cd46c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26050, "upload_time": "2013-07-25T01:21:49", "url": "https://files.pythonhosted.org/packages/13/86/9cf46ead8ce51f1f7b3457ebddd9b59ec8efc7d7e0520389a605c12d0b94/testdata-0.4.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "706c7e7838fb6cef7957e9e6bc85d822", "sha256": "0c0d32fd4beae53369b696d33a8264394b499e571ab7c6f456c2ed3c7821cb05" }, "downloads": -1, "filename": "testdata-0.5.3.tar.gz", "has_sig": false, "md5_digest": "706c7e7838fb6cef7957e9e6bc85d822", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27516, "upload_time": "2013-10-18T01:35:18", "url": "https://files.pythonhosted.org/packages/09/b2/fd5ace4cfb3dd6c5c727869b12910f1474c11fa16cdf048fc2c915a73d3f/testdata-0.5.3.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "a32665f5deb79574eb8fdd1cac153e7e", "sha256": "b8b7b6f3e873ba422fb997c65f770bcac243f5c618219ebae4e30c2fa3e548e1" }, "downloads": -1, "filename": "testdata-0.5.8.tar.gz", "has_sig": false, "md5_digest": "a32665f5deb79574eb8fdd1cac153e7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27804, "upload_time": "2014-01-14T22:39:35", "url": "https://files.pythonhosted.org/packages/21/65/1b24e78524e36f791d70a4500e39d23596f34fcdcb3059a3f87fb34733c9/testdata-0.5.8.tar.gz" } ], "0.5.9": [ { "comment_text": "", "digests": { "md5": "1a2481b8ed22ca3b463494590048847e", "sha256": "c5848a9d050813416b6bd7d91c536e0161c91c42196d185f57d7b13416916109" }, "downloads": -1, "filename": "testdata-0.5.9.tar.gz", "has_sig": false, "md5_digest": "1a2481b8ed22ca3b463494590048847e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29160, "upload_time": "2014-03-12T22:38:13", "url": "https://files.pythonhosted.org/packages/20/23/b1e6a133e99aea10286ee2e0c59e3ed3a4831fb3d5d1a505b5b647bcbebd/testdata-0.5.9.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "e0a0c881d3e741864d29c3c77f501ee4", "sha256": "d17e8bab51f3a84f6b19d137d16bc99b96db062926f872f933173f2b2753beda" }, "downloads": -1, "filename": "testdata-0.6.0.tar.gz", "has_sig": false, "md5_digest": "e0a0c881d3e741864d29c3c77f501ee4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29340, "upload_time": "2014-04-01T23:51:27", "url": "https://files.pythonhosted.org/packages/c2/80/79a7142516a8ec3ce6894e198ab80096c4519fc37b31d0e1333c6c57ac80/testdata-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "bd8d6725e056940a7719cd95405d759c", "sha256": "93410f1a7901f4f8a33b0c6594806aa92e54eed7ab5e95acf4bd8297b988d377" }, "downloads": -1, "filename": "testdata-0.6.1.tar.gz", "has_sig": false, "md5_digest": "bd8d6725e056940a7719cd95405d759c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29377, "upload_time": "2014-11-05T01:35:48", "url": "https://files.pythonhosted.org/packages/cf/a3/6ef733ac879965fc47a3a5c545b1a3b6ddee7461bfa83a553b3029a36ea9/testdata-0.6.1.tar.gz" } ], "0.6.10": [ { "comment_text": "", "digests": { "md5": "e88b2ac8e6dac834805b59c68dd66ccd", "sha256": "58a2504c314cd4bbf22108558ad26fd7c57e778065cc5316557b5278a54f929b" }, "downloads": -1, "filename": "testdata-0.6.10.tar.gz", "has_sig": false, "md5_digest": "e88b2ac8e6dac834805b59c68dd66ccd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32623, "upload_time": "2017-01-28T01:25:11", "url": "https://files.pythonhosted.org/packages/06/a4/201d039f9f376fe87bc8db67596bfad259f2d469e8c9b2fef5ce4c8f64ac/testdata-0.6.10.tar.gz" } ], "0.6.12": [ { "comment_text": "", "digests": { "md5": "1346cada07714cd9e01767791d6afaa6", "sha256": "fcd286950dae17bad94e38723e06f8ec697cbf419ded48e7edf36f7f323dc14c" }, "downloads": -1, "filename": "testdata-0.6.12.tar.gz", "has_sig": false, "md5_digest": "1346cada07714cd9e01767791d6afaa6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33619, "upload_time": "2017-01-31T09:27:59", "url": "https://files.pythonhosted.org/packages/93/18/96d79e865d9c4e85d9aa92dd4de6387ed1f153858da4e8c9c60a45d48731/testdata-0.6.12.tar.gz" } ], "0.6.13": [ { "comment_text": "", "digests": { "md5": "b3d39b1af85dcbfdfe29377d7012f788", "sha256": "39c3dc40751f0852f75b0e56a97bc0c4c6f418f9daba0b57150e5716777bc01b" }, "downloads": -1, "filename": "testdata-0.6.13.tar.gz", "has_sig": false, "md5_digest": "b3d39b1af85dcbfdfe29377d7012f788", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33679, "upload_time": "2017-01-31T09:42:10", "url": "https://files.pythonhosted.org/packages/9e/d4/1bc5cfe737e855ef2b012bc1e50e727941623a1a7c59ddc167c836c5cf55/testdata-0.6.13.tar.gz" } ], "0.6.14": [ { "comment_text": "", "digests": { "md5": "51e0efc97368a4cfd88a3f3d5cdcbb88", "sha256": "c39a94ab7b059279f68cdc9664bf803be73aac482f8db85323c262217c7f4ef1" }, "downloads": -1, "filename": "testdata-0.6.14.tar.gz", "has_sig": false, "md5_digest": "51e0efc97368a4cfd88a3f3d5cdcbb88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34097, "upload_time": "2017-04-07T23:01:37", "url": "https://files.pythonhosted.org/packages/2f/43/c071ce322d13f134b1799d0fcc3a50bd55f570b343120be5e876af70f778/testdata-0.6.14.tar.gz" } ], "0.6.15": [ { "comment_text": "", "digests": { "md5": "def066ae2107ffd33094c587884da519", "sha256": "2bb341f9a316c03840e629157d8c6379714a0782cb1055dfd311d930191da96b" }, "downloads": -1, "filename": "testdata-0.6.15.tar.gz", "has_sig": false, "md5_digest": "def066ae2107ffd33094c587884da519", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35802, "upload_time": "2017-04-15T08:23:25", "url": "https://files.pythonhosted.org/packages/1c/47/92ec12299793619fd6abd73111fa84aead0a65b10e16942e9dfb4fdd49e8/testdata-0.6.15.tar.gz" } ], "0.6.16": [ { "comment_text": "", "digests": { "md5": "9cdb865b81d7660c0d01d7322848a37d", "sha256": "f460bc70e348e7cefad3209a16452ba504e21339664174a6b498fe445a297e65" }, "downloads": -1, "filename": "testdata-0.6.16.tar.gz", "has_sig": false, "md5_digest": "9cdb865b81d7660c0d01d7322848a37d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35975, "upload_time": "2017-04-26T01:11:46", "url": "https://files.pythonhosted.org/packages/1c/77/bffe46bc80cdc4d8b4b7aaad23aaafb3d050b091ea718a8340ce08171fa8/testdata-0.6.16.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "c3fcc0698d9906ea35879738a6b1dd24", "sha256": "5c99e425bfa24640d46e2c336f71c2e1338a9b4d91908df2faa6f95d6d00deff" }, "downloads": -1, "filename": "testdata-0.6.2.tar.gz", "has_sig": false, "md5_digest": "c3fcc0698d9906ea35879738a6b1dd24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29738, "upload_time": "2015-05-24T00:06:23", "url": "https://files.pythonhosted.org/packages/26/e9/36cc80923f01e31bb05eed4110708effd7dcf3843a2ef7f1718703e952a3/testdata-0.6.2.tar.gz" } ], "0.6.20": [ { "comment_text": "", "digests": { "md5": "b525e02418eff2cd060a7225dea4f1fd", "sha256": "74581c2243c7b6fe4f63ced24ed432a80a5fab775232841dda88dd8dd1559234" }, "downloads": -1, "filename": "testdata-0.6.20.tar.gz", "has_sig": false, "md5_digest": "b525e02418eff2cd060a7225dea4f1fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38343, "upload_time": "2017-09-15T09:45:21", "url": "https://files.pythonhosted.org/packages/5b/f6/fac40dcd7acf214ce7a89e2a6c16b1c7cf954f80defe9b484d351b418fcb/testdata-0.6.20.tar.gz" } ], "0.6.21": [ { "comment_text": "", "digests": { "md5": "9ba45ac2acd5d641b15483bedc43b30c", "sha256": "e1c81997c036b5a93923770fdbb8906dfe8e22d3cd90fd607c4f75196d544a53" }, "downloads": -1, "filename": "testdata-0.6.21.tar.gz", "has_sig": false, "md5_digest": "9ba45ac2acd5d641b15483bedc43b30c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42691, "upload_time": "2017-09-20T22:02:13", "url": "https://files.pythonhosted.org/packages/af/59/30c8dcbf1ead9ddc1792cc3c3ceb308f43ad5f6142e766ffc00f25464411/testdata-0.6.21.tar.gz" } ], "0.6.22": [ { "comment_text": "", "digests": { "md5": "8c777eb53a6ba6110a1dc3b1d2014850", "sha256": "fcf6691366c7634548df0addf32c3b7bae812321e2dd7cacf83a1ce8acec41d6" }, "downloads": -1, "filename": "testdata-0.6.22.tar.gz", "has_sig": false, "md5_digest": "8c777eb53a6ba6110a1dc3b1d2014850", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42740, "upload_time": "2017-11-15T03:02:46", "url": "https://files.pythonhosted.org/packages/c9/04/d6346a064c77f6fa343c4673e7cd790459d478b5c8d7ce27a074d03d9010/testdata-0.6.22.tar.gz" } ], "0.6.23": [ { "comment_text": "", "digests": { "md5": "b913ba14a4412acdf7fc886bfba8d25f", "sha256": "66e32940ab76ff029f36972b3c4cd0ff4e3903e213c83d9656ef37f84d7d8c50" }, "downloads": -1, "filename": "testdata-0.6.23.tar.gz", "has_sig": false, "md5_digest": "b913ba14a4412acdf7fc886bfba8d25f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42839, "upload_time": "2017-11-16T00:11:33", "url": "https://files.pythonhosted.org/packages/73/88/b987062e2d32da7a0c2901610d94cc1df5579bce4b98ef49bf52587bd1af/testdata-0.6.23.tar.gz" } ], "0.6.24": [ { "comment_text": "", "digests": { "md5": "d2b603467c040eca88dda4e96bab64b3", "sha256": "6e8820fc896870ee5daa7a9125ff347de134b30e0e1c104fb0a72410eb39ca36" }, "downloads": -1, "filename": "testdata-0.6.24.tar.gz", "has_sig": false, "md5_digest": "d2b603467c040eca88dda4e96bab64b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44669, "upload_time": "2017-12-01T08:15:10", "url": "https://files.pythonhosted.org/packages/93/d8/8e3188b3f56300e5decd3c2f38d21064c3364c213aaf94a83ed3dddbf6f1/testdata-0.6.24.tar.gz" } ], "0.6.25": [ { "comment_text": "", "digests": { "md5": "12c1d4b8519f3d33591f406a3d81ffcc", "sha256": "9e828d1155c64252d5ee53fde2e696064d9b5eccb64537f7e5d42aae88f1d856" }, "downloads": -1, "filename": "testdata-0.6.25.tar.gz", "has_sig": false, "md5_digest": "12c1d4b8519f3d33591f406a3d81ffcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50839, "upload_time": "2018-03-22T23:11:19", "url": "https://files.pythonhosted.org/packages/16/22/9d012ae18fa9a3342ca2c039061a56eb0fb1720f377cfb6fabfda2aad6e9/testdata-0.6.25.tar.gz" } ], "0.6.26": [ { "comment_text": "", "digests": { "md5": "ee2f953646a017feb86521e383752f0b", "sha256": "d44d2acc52a751777562274d75adaf8ac6d0b42842d284251076c4fd8258afee" }, "downloads": -1, "filename": "testdata-0.6.26.tar.gz", "has_sig": false, "md5_digest": "ee2f953646a017feb86521e383752f0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51753, "upload_time": "2018-03-29T07:01:08", "url": "https://files.pythonhosted.org/packages/3c/34/053ebe5ac09bdffde8a20a604fd10f9e2c8c38695e9c6e19ff76b75b2d6a/testdata-0.6.26.tar.gz" } ], "0.6.28": [ { "comment_text": "", "digests": { "md5": "043eb318e19367abf2dde9abb044c2b6", "sha256": "5248a76595b48e5db13a3a05444350d200864b37efe22791345723454749e0fe" }, "downloads": -1, "filename": "testdata-0.6.28.tar.gz", "has_sig": false, "md5_digest": "043eb318e19367abf2dde9abb044c2b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52601, "upload_time": "2018-04-19T06:18:49", "url": "https://files.pythonhosted.org/packages/73/39/d6dbedfe63ccf8ec25acbc76303fd2c696a1e0b4bca2507aa3941edcc464/testdata-0.6.28.tar.gz" } ], "0.6.29": [ { "comment_text": "", "digests": { "md5": "93b71e672a72076236f11492d4dcf1d0", "sha256": "c5a762f15b69650ad4410ed0f4b70f8abb540a496487b71a3b6e82389e85573f" }, "downloads": -1, "filename": "testdata-0.6.29.tar.gz", "has_sig": false, "md5_digest": "93b71e672a72076236f11492d4dcf1d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52696, "upload_time": "2018-04-22T08:27:33", "url": "https://files.pythonhosted.org/packages/c0/df/47196efa67539b26ab8c6d8d0c5c003c0d11a1f2b43c01000bbb37f1625a/testdata-0.6.29.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "7e5c1e69c2a869eafcb33d215d237ccd", "sha256": "54f44c44a24a906745617a395ee76021394fe1afc884e5e6a483d30fd5c71c5c" }, "downloads": -1, "filename": "testdata-0.6.3.tar.gz", "has_sig": false, "md5_digest": "7e5c1e69c2a869eafcb33d215d237ccd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29738, "upload_time": "2016-01-09T01:42:30", "url": "https://files.pythonhosted.org/packages/96/9d/e7e9bdcdc8f1a7c961f9fa9e85d9167de29d7375ca34bc332aed9d220266/testdata-0.6.3.tar.gz" } ], "0.6.30": [ { "comment_text": "", "digests": { "md5": "6eeb7623e1db64af0a0edf1fcc3fb9a7", "sha256": "9d915316c5d39c71b73754e43c13123c94d777681a427b1b5c528cd01035cd1c" }, "downloads": -1, "filename": "testdata-0.6.30.tar.gz", "has_sig": false, "md5_digest": "6eeb7623e1db64af0a0edf1fcc3fb9a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54046, "upload_time": "2018-06-18T07:24:15", "url": "https://files.pythonhosted.org/packages/9f/75/9bb3fa5fa2bc48a92acbded71ea628d72852b3357ae53e7d24118db541d9/testdata-0.6.30.tar.gz" } ], "0.6.31": [ { "comment_text": "", "digests": { "md5": "2b73f316ca63b6dd3cdeda99d2daec3c", "sha256": "f3ce8d5fc5df33cbbb46b998391564defe2d592259d493544158703e54a84cc5" }, "downloads": -1, "filename": "testdata-0.6.31.tar.gz", "has_sig": false, "md5_digest": "2b73f316ca63b6dd3cdeda99d2daec3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54252, "upload_time": "2018-06-25T21:00:52", "url": "https://files.pythonhosted.org/packages/31/86/6e20c1aecb5b625912892f3d58c5349c296b9e9f434921adc1268a888f6e/testdata-0.6.31.tar.gz" } ], "0.6.32": [ { "comment_text": "", "digests": { "md5": "741e73aedd60b3ab42cfa2d0b6c2f7b9", "sha256": "f7cf0fb3a6354c0429a1a460ebba37910b6a24999fb9814a58a546024f840510" }, "downloads": -1, "filename": "testdata-0.6.32.tar.gz", "has_sig": false, "md5_digest": "741e73aedd60b3ab42cfa2d0b6c2f7b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54844, "upload_time": "2018-09-12T00:04:07", "url": "https://files.pythonhosted.org/packages/4f/db/63f3a699a42910cfb35a278c511f3b74c717851c966725927b55c62ae779/testdata-0.6.32.tar.gz" } ], "0.6.35": [ { "comment_text": "", "digests": { "md5": "096b8571f8a0fcae551845e0d8b0c8bc", "sha256": "a7568ae543cd3b9142859d3df3149682383968c2bf2aff8b2984fd1279279b9c" }, "downloads": -1, "filename": "testdata-0.6.35.tar.gz", "has_sig": false, "md5_digest": "096b8571f8a0fcae551845e0d8b0c8bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56594, "upload_time": "2018-09-18T19:08:57", "url": "https://files.pythonhosted.org/packages/4f/e4/2318babde50caa527e35d1e1896a11eb682609ec274f4bec399cdd4f7543/testdata-0.6.35.tar.gz" } ], "0.6.36": [ { "comment_text": "", "digests": { "md5": "61dc98213c046e063c630ccfce357924", "sha256": "32b7e7c80c3ab15e413bb02644ef80a1b0c9282a7ee28b33f9ab327fcdb3c298" }, "downloads": -1, "filename": "testdata-0.6.36.tar.gz", "has_sig": false, "md5_digest": "61dc98213c046e063c630ccfce357924", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56678, "upload_time": "2018-10-12T22:16:52", "url": "https://files.pythonhosted.org/packages/4b/87/1527ef2580c13c25725bc3daec39157a203c117ff38e0ce5dc4c5ae348cc/testdata-0.6.36.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "cb2f4dcb5ae24939c0deb7155634b229", "sha256": "1bb20b4a8051b8e80a6a8cd575a1ad41ad7fb7122bd5ad80567c7c6e67323d7f" }, "downloads": -1, "filename": "testdata-0.6.4.tar.gz", "has_sig": false, "md5_digest": "cb2f4dcb5ae24939c0deb7155634b229", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29736, "upload_time": "2016-01-15T22:22:41", "url": "https://files.pythonhosted.org/packages/85/3c/eceb70a356806b2cb8c6f02f4d510cbacedab5e2b258606d93fe83eaa72b/testdata-0.6.4.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "9771317ea17c5eb81eb60aac335f7898", "sha256": "7eb4dd42fc5d8afea6e58fc774cca6b66ea7846842139e649ac67c2c50da333b" }, "downloads": -1, "filename": "testdata-0.6.6.tar.gz", "has_sig": false, "md5_digest": "9771317ea17c5eb81eb60aac335f7898", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33022, "upload_time": "2016-03-25T21:08:29", "url": "https://files.pythonhosted.org/packages/53/95/1c51223459eabcf6924bffc3de420fa6c2c99b271eef891ac572dba47e72/testdata-0.6.6.tar.gz" } ], "0.6.7": [ { "comment_text": "", "digests": { "md5": "fd7ff32755ef2d1f57243ac090dbef44", "sha256": "73902e15b10b0e30552288fb7bfd31a00e21d8f5b7a08b77bce0e05889677bd7" }, "downloads": -1, "filename": "testdata-0.6.7.tar.gz", "has_sig": false, "md5_digest": "fd7ff32755ef2d1f57243ac090dbef44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33023, "upload_time": "2016-03-26T01:47:47", "url": "https://files.pythonhosted.org/packages/48/ae/dcb9954ea7d729a5ce46f46af9987c10ccfc3463ba81c9f03b44155bd817/testdata-0.6.7.tar.gz" } ], "0.6.8": [ { "comment_text": "", "digests": { "md5": "e53e013ef283f965c0f37dfe16f051b8", "sha256": "6a9829dd1a80a12cdb1d058eef8abb770399d72531fc67239c851a61846dc7d0" }, "downloads": -1, "filename": "testdata-0.6.8.tar.gz", "has_sig": false, "md5_digest": "e53e013ef283f965c0f37dfe16f051b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32543, "upload_time": "2016-05-11T01:10:16", "url": "https://files.pythonhosted.org/packages/28/fb/399eb232aeec47d19fc207ce97c6b6d128d6d158e300605dcf5f30d35d79/testdata-0.6.8.tar.gz" } ], "0.6.9": [ { "comment_text": "", "digests": { "md5": "15ebd59e886fe31dfbc3bbfcf6d44f7c", "sha256": "0b0e05f1dd0ecdfa6d43e7a80a5d45058ae95971c354ab08fb826a1e2ef9124f" }, "downloads": -1, "filename": "testdata-0.6.9.tar.gz", "has_sig": false, "md5_digest": "15ebd59e886fe31dfbc3bbfcf6d44f7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32507, "upload_time": "2016-05-14T01:30:40", "url": "https://files.pythonhosted.org/packages/ea/7b/232d6da7bffd66c8311a8934577b12c387581eef29ec7402c66037c5fd27/testdata-0.6.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "5826facbb47f66e67cb7dd6b836b9061", "sha256": "45d3b83dac4de75554ca33eab6366f068b8f64af730cbfbbabec06ed1ac89a49" }, "downloads": -1, "filename": "testdata-1.0.0.tar.gz", "has_sig": false, "md5_digest": "5826facbb47f66e67cb7dd6b836b9061", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62623, "upload_time": "2019-07-02T20:55:32", "url": "https://files.pythonhosted.org/packages/30/39/cc9c2ed1aa85a9b3d0ed322175a350f54fbe8d7a1bbdc63f29bb85b0afce/testdata-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "6f2767fb29967604f3fde0a882ebb0d1", "sha256": "3dcb49b40a51a2e39514694fb0ea69aa11cfeb588f9d66a04c7300f69bf9c6f5" }, "downloads": -1, "filename": "testdata-1.0.1.tar.gz", "has_sig": false, "md5_digest": "6f2767fb29967604f3fde0a882ebb0d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62622, "upload_time": "2019-07-26T18:14:01", "url": "https://files.pythonhosted.org/packages/47/9e/3816236a3135f38dcafcea6780998cd5caf90991d6a5a84909706d2f23c3/testdata-1.0.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "6c1734c47a132b4a9597c8acb8b41e00", "sha256": "42454cbf39da8eaa49ce315310568934b286ff36b926f064db0ca80aca2e74f6" }, "downloads": -1, "filename": "testdata-1.1.2.tar.gz", "has_sig": false, "md5_digest": "6c1734c47a132b4a9597c8acb8b41e00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66648, "upload_time": "2019-08-20T23:29:24", "url": "https://files.pythonhosted.org/packages/24/9d/3f881f89c38ca84d7979e662e7945c8e8b29e69fd5815b55905f92491b32/testdata-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "bba4bc7ab4575ee007eb4d69be68b007", "sha256": "d1be0831283fda556e543029e357ec321cdc5efd6ac2f0077bcf0687cf8c59b0" }, "downloads": -1, "filename": "testdata-1.1.3.tar.gz", "has_sig": false, "md5_digest": "bba4bc7ab4575ee007eb4d69be68b007", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68344, "upload_time": "2019-08-25T23:32:34", "url": "https://files.pythonhosted.org/packages/1b/92/a97e494971e894be7430884d699ad30cd89576db21b22bc0421f486aa0b6/testdata-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bba4bc7ab4575ee007eb4d69be68b007", "sha256": "d1be0831283fda556e543029e357ec321cdc5efd6ac2f0077bcf0687cf8c59b0" }, "downloads": -1, "filename": "testdata-1.1.3.tar.gz", "has_sig": false, "md5_digest": "bba4bc7ab4575ee007eb4d69be68b007", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68344, "upload_time": "2019-08-25T23:32:34", "url": "https://files.pythonhosted.org/packages/1b/92/a97e494971e894be7430884d699ad30cd89576db21b22bc0421f486aa0b6/testdata-1.1.3.tar.gz" } ] }