{ "info": { "author": "Ian Stapleton Cordasco", "author_email": "graffatcolmingov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython" ], "description": "betamax\n=======\n\nBetamax is a VCR_ imitation for requests. This will make mocking out requests\nmuch easier. It is tested on `Travis CI`_.\n\nPut in a more humorous way: \"Betamax records your HTTP interactions so the NSA\ndoes not have to.\"\n\nExample Use\n-----------\n\n.. code-block:: python\n\n from betamax import Betamax\n from requests import Session\n from unittest import TestCase\n\n with Betamax.configure() as config:\n config.cassette_library_dir = 'tests/fixtures/cassettes'\n\n\n class TestGitHubAPI(TestCase):\n def setUp(self):\n self.session = Session()\n self.headers.update(...)\n\n # Set the cassette in a line other than the context declaration\n def test_user(self):\n with Betamax(self.session) as vcr:\n vcr.use_cassette('user')\n resp = self.session.get('https://api.github.com/user',\n auth=('user', 'pass'))\n assert resp.json()['login'] is not None\n\n # Set the cassette in line with the context declaration\n def test_repo(self):\n with Betamax(self.session).use_cassette('repo'):\n resp = self.session.get(\n 'https://api.github.com/repos/sigmavirus24/github3.py'\n )\n assert resp.json()['owner'] != {}\n\nWhat does it even do?\n---------------------\n\nIf you are unfamiliar with VCR_, you might need a better explanation of what\nBetamax does.\n\nBetamax intercepts every request you make and attempts to find a matching\nrequest that has already been intercepted and recorded. Two things can then\nhappen:\n\n1. If there is a matching request, it will return the response that is\n associated with it.\n2. If there is **not** a matching request and it is allowed to record new\n responses, it will make the request, record the response and return the\n response.\n\nRecorded requests and corresponding responses - also known as interactions -\nare stored in files called cassettes. (An example cassette can be seen in\nthe `examples section of the documentation`_.) The directory you store your\ncassettes in is called your library, or your `cassette library`_.\n\nVCR Cassette Compatibility\n--------------------------\n\nBetamax can use any VCR-recorded cassette as of this point in time. The only\ncaveat is that python-requests returns a URL on each response. VCR does not\nstore that in a cassette now but we will. Any VCR-recorded cassette used to\nplayback a response will unfortunately not have a URL attribute on responses\nthat are returned. This is a minor annoyance but not something that can be\nfixed.\n\nContributing\n------------\n\nYou can check out the project board on waffle.io_ to see what the status of\neach issue is.\n\n.. _VCR: https://github.com/vcr/vcr\n.. _Travis CI: https://travis-ci.org/sigmavirus24/betamax\n.. _waffle.io: https://waffle.io/sigmavirus24/betamax\n.. _examples section of the documentation:\n http://betamax.readthedocs.org/en/latest/api.html#examples\n.. _cassette library:\n http://betamax.readthedocs.org/en/latest/cassettes.html\n\n\nHistory\n=======\n\n0.8.1 - 2018-03-13\n------------------\n\n- Previous attempts to sanitize cassette names were incomplete.\n Sanitization has become more thorough which could have some affects on\n existing cassette files. **This may cause new cassettes to be generated.**\n\n- Fix bug where there may be an exception raised in a\n ``betamax.exceptions.BetamaxError`` repr.\n\n0.8.0 - 2016-08-16\n------------------\n\n- Add ``betamax_parametrized_recorder`` and ``betamax_parametrized_session``\n to our list of pytest fixtures so that users will have parametrized cassette\n names when writing parametrized tests with our fixtures. (I wonder if I can\n mention parametrization a bunch more times so I can say parametrize a lot in\n this bullet note.)\n- Add ``ValidationError`` and a set of subclasses for each possible validation\n error.\n- Raise ``InvalidOption`` on unknown cassette options rather than silently\n ignoring extra options.\n- Raise a subclass of ``ValidationError`` when a particular cassette option is\n invalid, rather than silently ignoring the validation failure.\n\n0.7.2 - 2016-08-04\n------------------\n\n- Fix bug with query string matcher where query-strings without values (e.g.,\n ``?foo&bar`` as opposed to ``?foo=1&bar=2``) were treated as if there were\n no query string.\n\n0.7.1 - 2016-06-14\n------------------\n\n- Fix issue #108 by effectively copying the items in the match_requests_on\n list into the match_options set on a Cassette instance\n\n0.7.0 - 2016-04-29\n------------------\n\n- Add ``before_record`` and ``before_playback`` hooks\n\n- Allow per-cassette placeholders to be merged and override global\n placeholders\n\n- Fix bug where the ``QueryMatcher`` failed matching on high Unicode points\n\n0.6.0 - 2016-04-12\n------------------\n\n- Add ``betamax_recorder`` pytest fixture\n\n- Change default behaviour to allow duplicate interactions to be recorded in\n single cassette\n\n- Add ``allow_playback_repeats`` to allow an interaction to be used more than\n once from a single cassette\n\n- Always return a new ``Response`` object from an Interaction to allow for a\n streaming response to be usable multiple times\n\n- Remove CI support for Pythons 2.6 and 3.2\n\n0.5.1 - 2015-10-24\n------------------\n\n- Fix bugs with requests 2.8.x integration\n\n- Fix bugs with older versions of requests that were missing an HTTPHeaderDict\n implementation\n\n0.5.0 - 2015-07-15\n------------------\n\n- Add unittest integration in ``betamax.fixtures.unittest``\n\n- Add pytest integration in ``betamax.fixtures.pytest``\n\n- Add a decorator as a short cut for ``use_cassette``\n\n- Fix bug where body bytes were not always encoded on Python 3.2+\n\n Fixed by @bboe\n\n0.4.2 - 2015-04-18\n------------------\n\n- Fix issue #58 reported by @bboe\n\n Multiple cookies were not being properly stored or replayed after being\n recorded.\n\n- @leighlondon converted ``__all__`` to a tuple\n\n0.4.1 - 2014-09-24\n------------------\n\n- Fix issue #39 reported by @buttscicles\n\n This bug did not properly parse the Set-Cookie header with multiple cookies\n when replaying a recorded response.\n\n0.4.0 - 2014-07-29\n------------------\n\n- Allow the user to pass placeholders to ``Betamax#use_cassette``.\n\n- Include Betamax's version number in cassettes\n\n0.3.2 - 2014-06-05\n------------------\n\n- Fix request and response bodies courtesy of @dgouldin\n\n0.3.1 - 2014-05-28\n------------------\n\n- Fix GitHub Issue #35 - Placeholders were not being properly applied to\n request bodies. This release fixes that so placeholders are now behave as\n expected with recorded request bodies.\n\n0.3.0 - 2014-05-23\n------------------\n\n- Add ``Betamax#start`` and ``Betamax#stop`` to allow users to start recording\n and stop without using a context-manager.\n\n- Add ``digest-auth`` matcher to help users match the right request when using\n requests' ``HTTPDigestAuth``.\n\n- Reorganize and refactor the cassettes, matchers, and serializers modules.\n\n- Refactor some portions of code a bit.\n\n- ``Cassette.cassette_name`` no longer is the relative path to the file in\n which the cassette is saved. To access that information use\n ``Cassette.cassette_path``. The ``cassette_name`` attribute is now the name\n that you pass to ``Betamax#use_cassette``.\n\n0.2.0 - 2014-04-12\n------------------\n\n- Fix bug where new interactions recorded under ``new_episodes`` or ``all``\n were not actually saved to disk.\n\n- Match URIs in a far more intelligent way.\n\n- Use the Session's original adapters when making new requests\n\n In the event the Session has a custom adapter mounted, e.g., the SSLAdapter\n in requests-toolbelt, then we should probably use that.\n\n- Add ``on_init`` hook to ``BaseMatcher`` so matcher authors can customize\n initialization\n\n- Add support for custom Serialization formats. See the docs for more info.\n\n- Add support for preserving exact body bytes.\n\n- Deprecate ``serialize`` keyword to ``Betamax#use_cassette`` in preference\n for ``serialize_with`` (to be more similar to VCR).\n\n0.1.6 - 2013-12-07\n------------------\n\n- Fix how global settings and per-invocation options are persisted and\n honored. (#10)\n\n- Support ``match_requests_on`` as a parameter sent to\n ``Betamax#use_cassette``. (No issue)\n\n0.1.5 - 2013-09-27\n------------------\n\n- Make sure what we pass to ``base64.b64decode`` is a bytes object\n\n0.1.4 - 2013-09-27\n------------------\n\n- Do not try to sanitize something that may not exist.\n\n0.1.3 - 2013-09-27\n------------------\n\n- Fix issue when response has a Content-Encoding of gzip and we need to\n preserve the original bytes of the message.\n\n0.1.2 - 2013-09-21\n------------------\n\n- Fix issues with how requests parses cookies out of responses\n\n- Fix unicode issues with ``Response#text`` (trying to use ``Response#json``\n raises exception because it cannot use string decoding on a unicode string)\n\n0.1.1 - 2013-09-19\n------------------\n\n- Fix issue where there is a unicode character not in ``range(128)``\n\n0.1.0 - 2013-09-17\n------------------\n\n- Initial Release\n\n- Support for VCR generated cassettes (JSON only)\n\n- Support for ``re_record_interval``\n\n- Support for the ``once``, ``all``, ``new_episodes``, ``all`` cassette modes\n\n- Support for filtering sensitive data\n\n- Support for the following methods of request matching:\n\n - Method\n\n - URI\n\n - Host\n\n - Path\n\n - Query String\n\n - Body\n\n - Headers\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sigmavirus24/betamax", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "betamax", "package_url": "https://pypi.org/project/betamax/", "platform": "", "project_url": "https://pypi.org/project/betamax/", "project_urls": { "Homepage": "https://github.com/sigmavirus24/betamax" }, "release_url": "https://pypi.org/project/betamax/0.8.1/", "requires_dist": [ "requests (>=2.0)" ], "requires_python": "", "summary": "A VCR imitation for python-requests", "version": "0.8.1" }, "last_serial": 3666948, "releases": { "0.0.0": [], "0.1.0": [ { "comment_text": "", "digests": { "md5": "404c1e18f3061c53ec21778f10fd93f3", "sha256": "abfffaca9d73ee061ef0e5c017ee16192c8af610a9f2e4ef8c81de4a1719c997" }, "downloads": -1, "filename": "betamax-0.1.0-py27-none-any.whl", "has_sig": false, "md5_digest": "404c1e18f3061c53ec21778f10fd93f3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14731, "upload_time": "2013-09-18T03:09:31", "url": "https://files.pythonhosted.org/packages/fa/4b/d737a97ac485e8a58a92830fcccd17c5b4d5b0e08399d74a091d1979f490/betamax-0.1.0-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7068fd7eff1cca18a2ecea03ba90d62a", "sha256": "5e5deab9ffd984964ff87d674f6626043061deac9a61e05831eebe9371d314e0" }, "downloads": -1, "filename": "betamax-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7068fd7eff1cca18a2ecea03ba90d62a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10653, "upload_time": "2013-09-18T03:09:28", "url": "https://files.pythonhosted.org/packages/a0/a9/9b1ef9382bd5541abdacaabc692c63c1e04a5315601a93d9e171284b25e3/betamax-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0fc627eada7a8cd8fc0e15d18900d1bc", "sha256": "92662697985744b0d1a19a154afd0297ef6b18b1e1ac5ac8d8c6b209c96102d9" }, "downloads": -1, "filename": "betamax-0.1.1-py27-none-any.whl", "has_sig": false, "md5_digest": "0fc627eada7a8cd8fc0e15d18900d1bc", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14831, "upload_time": "2013-09-20T02:11:50", "url": "https://files.pythonhosted.org/packages/83/45/f23425b0e7528096dcb76313d584902e570856427bf056c3986c64df4ad6/betamax-0.1.1-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c190874b4740d56683f3d46ab50fdff", "sha256": "7bc8ad94e70b47d33a7906e646a94620fca99b3270330465d7450838102642f9" }, "downloads": -1, "filename": "betamax-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6c190874b4740d56683f3d46ab50fdff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10711, "upload_time": "2013-09-20T02:11:45", "url": "https://files.pythonhosted.org/packages/cd/74/144ce50f602bbc8e976a6063a54b82e8d4e82ea7a84717678ddc9e0abb79/betamax-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "9708abe47c00d222333853af245e1473", "sha256": "71766c809576f3626277c6c9f3e6c7340c1940ce07ea44c82370ac11a820c707" }, "downloads": -1, "filename": "betamax-0.1.2-py27-none-any.whl", "has_sig": false, "md5_digest": "9708abe47c00d222333853af245e1473", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15023, "upload_time": "2013-09-21T19:52:57", "url": "https://files.pythonhosted.org/packages/bc/ad/a599064772593eb8e6c7455363a6c9ce439476fa3066b7ac942430b3a22c/betamax-0.1.2-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "471e0825481e76bfec24a64acde0ca85", "sha256": "f4d35ff163d59c0c76f610308222372a2200db9b89ccb97110f793bef910ccf6" }, "downloads": -1, "filename": "betamax-0.1.2.tar.gz", "has_sig": false, "md5_digest": "471e0825481e76bfec24a64acde0ca85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10732, "upload_time": "2013-09-21T19:52:55", "url": "https://files.pythonhosted.org/packages/a0/98/fe69c266015c4ce48130e4287417e3806cb1a4d90f321d59e7886bb5075c/betamax-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9800735ec5a95b125c6f3f5ee95162fb", "sha256": "648398388a55575be79749550989f85013e211a134877db675ecd79740e01df7" }, "downloads": -1, "filename": "betamax-0.1.3-py27-none-any.whl", "has_sig": false, "md5_digest": "9800735ec5a95b125c6f3f5ee95162fb", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15240, "upload_time": "2013-09-27T22:03:11", "url": "https://files.pythonhosted.org/packages/83/21/95b4357fc5661d686e28f87b959ef19581404fa9810a1b31c43a07aab242/betamax-0.1.3-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e3b83a42c19fc72aa41f91a291bc64a", "sha256": "ee2fceb8ec611a49cb35fa2f734f836b5773672bf56512420f725f58c0b2fef8" }, "downloads": -1, "filename": "betamax-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2e3b83a42c19fc72aa41f91a291bc64a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10901, "upload_time": "2013-09-27T22:03:07", "url": "https://files.pythonhosted.org/packages/0b/0b/0734f39467533a004b71e358af3d8dace791e3353c821ab1f37a3f812b9a/betamax-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "4ea5055a612f7ec944079dcfd87d2dad", "sha256": "54d275e1c66d128031356ee476c6f1c97a4f9d1348b64cbcb41879cdf4a326c4" }, "downloads": -1, "filename": "betamax-0.1.4-py27-none-any.whl", "has_sig": false, "md5_digest": "4ea5055a612f7ec944079dcfd87d2dad", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15313, "upload_time": "2013-09-28T01:49:12", "url": "https://files.pythonhosted.org/packages/a0/fb/c7619739b000f948a906e32fd11774dbbf612e5bbeb8a59746a4523495f7/betamax-0.1.4-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84c15d1a717345174b857773b94098e4", "sha256": "8d0c40b5077c6b61ef5d68154ed0d8da2b0c6d871c238825f7d84bec4fb325c5" }, "downloads": -1, "filename": "betamax-0.1.4.tar.gz", "has_sig": false, "md5_digest": "84c15d1a717345174b857773b94098e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11002, "upload_time": "2013-09-28T01:49:08", "url": "https://files.pythonhosted.org/packages/02/03/f9e5058841d1b03abd39ce3de0d87e488e1ba0759b9451f2d50bc8fa0df1/betamax-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "86d21b736b329d6fe6350ce753c8492d", "sha256": "6aec6d7491a412ba345c750cb5eda8c6bf167b41a1a02dc13d1d8d9260b66a18" }, "downloads": -1, "filename": "betamax-0.1.5-py27-none-any.whl", "has_sig": false, "md5_digest": "86d21b736b329d6fe6350ce753c8492d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15415, "upload_time": "2013-09-28T02:08:23", "url": "https://files.pythonhosted.org/packages/2e/8e/6ba02e37d477c0c2d0a7abe78200ca018989419affa50fa7ead6a02e1229/betamax-0.1.5-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0bd4b44a2470f1a49441a5a8f93ee770", "sha256": "d7980280eba8cdb8ea821726f170ae37f0a32da81996144e486d27b603c105ca" }, "downloads": -1, "filename": "betamax-0.1.5.tar.gz", "has_sig": false, "md5_digest": "0bd4b44a2470f1a49441a5a8f93ee770", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11061, "upload_time": "2013-09-28T02:08:20", "url": "https://files.pythonhosted.org/packages/23/25/a06c15955b5c313de271bbf3de97cc544a801c43ff9516d905a2b734aa80/betamax-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "f8a88b3eac9cd149f14809cd16646825", "sha256": "1b684d293676d847f894e7530817fca89f5f656ccdc26a934ff3f191ab713a8a" }, "downloads": -1, "filename": "betamax-0.1.6-py27-none-any.whl", "has_sig": false, "md5_digest": "f8a88b3eac9cd149f14809cd16646825", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16839, "upload_time": "2013-12-07T02:54:57", "url": "https://files.pythonhosted.org/packages/37/16/6e2e195b3f317416538dfabff19b69fd7713353e6a5c33552e73d2cb804e/betamax-0.1.6-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f985b09238886999d9e04f8363215840", "sha256": "f25eb5d44311fa2a7fb0040fcd492ccd4f5a72aa977ad30f05b230ca99bf0c1a" }, "downloads": -1, "filename": "betamax-0.1.6.tar.gz", "has_sig": false, "md5_digest": "f985b09238886999d9e04f8363215840", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11872, "upload_time": "2013-12-07T02:54:54", "url": "https://files.pythonhosted.org/packages/42/e1/573c3fee0f971215b2da8d65ac5d621824771f66c07c6c8b00898cd7506e/betamax-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c8d8e2f449a8c01ea58ad2a889fa89a4", "sha256": "8e5946a829a4819def7abd5571425526003e22052047adcad52d3c41de8bcfb9" }, "downloads": -1, "filename": "betamax-0.2.0-py27-none-any.whl", "has_sig": false, "md5_digest": "c8d8e2f449a8c01ea58ad2a889fa89a4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 20649, "upload_time": "2014-04-15T01:28:25", "url": "https://files.pythonhosted.org/packages/6a/e5/ed9dd8bc367f87f38de938e0923dafdbdbd7286ebf3e5ef439a819f47478/betamax-0.2.0-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e50136c6400f0ca70aad63c149e408a", "sha256": "10f23971c8481a04e8d9653f916d8b9e2feba004450ad99e39e5aa843a12db2f" }, "downloads": -1, "filename": "betamax-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0e50136c6400f0ca70aad63c149e408a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14655, "upload_time": "2014-04-15T01:28:23", "url": "https://files.pythonhosted.org/packages/3d/8a/c08c226f9ed8a86fd36f3a2c1e7622261356976a2a63ad3bfb284d0b302a/betamax-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9ffb0b50456817d134b92031127fdeff", "sha256": "9a578414e20a81aacad1468c832506a72cc14d46e65ca12422513dd8bc24efa9" }, "downloads": -1, "filename": "betamax-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "9ffb0b50456817d134b92031127fdeff", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 39059, "upload_time": "2014-05-24T01:23:57", "url": "https://files.pythonhosted.org/packages/f8/25/317f45538c1acdcfe5a1f4790d397672c4001d6b9e215b6b105b42b1fd05/betamax-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97ecef8a20ea4f699d2ac55476daeae1", "sha256": "358519505426cd0109d2248e6edc260312aafdb73f33210891d16fc19e6f048a" }, "downloads": -1, "filename": "betamax-0.3.0.tar.gz", "has_sig": false, "md5_digest": "97ecef8a20ea4f699d2ac55476daeae1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18913, "upload_time": "2014-05-24T01:23:54", "url": "https://files.pythonhosted.org/packages/a9/5d/bff9af34f3ee3bfba809efb8e79e2d06e33bbedcdaa1a110c28af3e66346/betamax-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "a00e592bd5b6a139fe75c278b00ae1fe", "sha256": "177fc083094ca53fc034029d51b226e6d1aebd6b24c63a1066c926aae9c6ba96" }, "downloads": -1, "filename": "betamax-0.3.1-py27-none-any.whl", "has_sig": false, "md5_digest": "a00e592bd5b6a139fe75c278b00ae1fe", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 36719, "upload_time": "2014-05-29T02:05:30", "url": "https://files.pythonhosted.org/packages/72/80/ce3f8f6532bab20aaacacfccdec2b202ee5b1b468be0d39c4ab973e9ddad/betamax-0.3.1-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e19e0b1ce78b604ce08f7df6ca10f650", "sha256": "d9c00a2b3e49d669ee2c470fca88177c7f4dafda2efc0ee2caa99cd6431e0d45" }, "downloads": -1, "filename": "betamax-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e19e0b1ce78b604ce08f7df6ca10f650", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18876, "upload_time": "2014-05-29T02:05:27", "url": "https://files.pythonhosted.org/packages/d8/08/88dea7a62acbe53e8a765f0cb2ceec53a6cc0d9291784ee1aa674a296081/betamax-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "7fe83cb5bfcfd34d338eecfd8c805d84", "sha256": "bab0ab360735bb00bbec32c8d8c462177de1c426b2cb64c825fe09b10a62a767" }, "downloads": -1, "filename": "betamax-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "7fe83cb5bfcfd34d338eecfd8c805d84", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 39404, "upload_time": "2014-06-06T01:59:28", "url": "https://files.pythonhosted.org/packages/72/59/6eede4b3c5d7438b4aa32ffb352db04ecafad94352bad9baae2e11605b92/betamax-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07917c9574f703daec06f5a6b55f8e7b", "sha256": "cd79ea989e24a7cb97fdab19a899629c41ba2dd3dd3c53b95514c870bce58c57" }, "downloads": -1, "filename": "betamax-0.3.2.tar.gz", "has_sig": false, "md5_digest": "07917c9574f703daec06f5a6b55f8e7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19114, "upload_time": "2014-06-06T01:59:25", "url": "https://files.pythonhosted.org/packages/26/73/44fe73e9642fd8ea25c13418240c729afe9fb4a7c37fa41e03713dfeec6d/betamax-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "01fe6335d81472c28f5abff201197940", "sha256": "095713362ed3697a81d263b0e92dfdad0d84a95026ea9f05cb5f57d1f5e8eccf" }, "downloads": -1, "filename": "betamax-0.4.0-py27-none-any.whl", "has_sig": false, "md5_digest": "01fe6335d81472c28f5abff201197940", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 32145, "upload_time": "2014-07-29T19:39:40", "url": "https://files.pythonhosted.org/packages/65/06/cac01066af0fbfd4986a140eb33fd9e0758a10c9e8a5741b06f2d1ca251e/betamax-0.4.0-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "581ba3b684790cabc0f7afde8b5bcc3d", "sha256": "98e58b843d6d42ecd9e325d5b467e0bbfd3e49d6d82346f335777425e9348e60" }, "downloads": -1, "filename": "betamax-0.4.0.tar.gz", "has_sig": false, "md5_digest": "581ba3b684790cabc0f7afde8b5bcc3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19167, "upload_time": "2014-07-29T19:39:36", "url": "https://files.pythonhosted.org/packages/d8/89/6330a90ba86cb277db27bb0e56bab39179306ad1805ef870c4eb76439260/betamax-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "002cc55355e2eb87478f9cf9452303a2", "sha256": "de3c88eb44bf74bad73fcc043b1eb3fd4fe58748c8a3331e6c0e79163e9ccf9f" }, "downloads": -1, "filename": "betamax-0.4.1-py27-none-any.whl", "has_sig": false, "md5_digest": "002cc55355e2eb87478f9cf9452303a2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 32332, "upload_time": "2014-09-25T02:14:23", "url": "https://files.pythonhosted.org/packages/46/04/67b47762e70125dbc55ebb56ae4460aa39535ad9ac0eaaa13edb974db5af/betamax-0.4.1-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2786b2026a37875d28f0fae3681225c1", "sha256": "d513e175718c71ac45b1ba4111e100e28aea0e257e23eb0dca2930d242ecda62" }, "downloads": -1, "filename": "betamax-0.4.1.tar.gz", "has_sig": false, "md5_digest": "2786b2026a37875d28f0fae3681225c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19294, "upload_time": "2014-09-25T02:14:20", "url": "https://files.pythonhosted.org/packages/92/79/e209769a875c15cd1479d50fff35cae902c79f037d26e1621e1c32822663/betamax-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "5740df8fab0d4295fd172a2bf2204ab1", "sha256": "0bc55ef76043ff0c8be102f1efce71ef72fadfd1ad3b519bae9aefd1dd278904" }, "downloads": -1, "filename": "betamax-0.4.2-py2-none-any.whl", "has_sig": false, "md5_digest": "5740df8fab0d4295fd172a2bf2204ab1", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 82270, "upload_time": "2015-04-18T20:08:18", "url": "https://files.pythonhosted.org/packages/b4/07/fca929f5aa86be31ceea0e5ce2157237d82f3b42d7f50aaf2ddf9e2d5c87/betamax-0.4.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6cc7f06d1842f6a77aff4816f46e8eb", "sha256": "9262eff8b3cf027006d92a6851dedcc8df1cad1ccaffa5c52f95432a1edefc72" }, "downloads": -1, "filename": "betamax-0.4.2.tar.gz", "has_sig": false, "md5_digest": "d6cc7f06d1842f6a77aff4816f46e8eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20041, "upload_time": "2015-04-18T20:08:21", "url": "https://files.pythonhosted.org/packages/b3/55/60faf06689223b419cbacfb3a6165bf1603ac9c16dcb442a9072bfe84269/betamax-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "bc16010cec068208889c53e5ec9c3486", "sha256": "260d84f082979d7af2b2a7470be0fe20fe674865a38c1c9cdfa9c0203f3bf17e" }, "downloads": -1, "filename": "betamax-0.5.0-py2-none-any.whl", "has_sig": false, "md5_digest": "bc16010cec068208889c53e5ec9c3486", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 38067, "upload_time": "2015-07-16T01:09:08", "url": "https://files.pythonhosted.org/packages/c3/34/1c599a3d6825f082e3822f081ddfcfac009ddc3e457e88e0331f12bd40ed/betamax-0.5.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ab501505dbaae20892c8372b9804099", "sha256": "582fcef349c091481a46b1f7b6a498014b735edaeb91722f5cc12ae28b62ec97" }, "downloads": -1, "filename": "betamax-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4ab501505dbaae20892c8372b9804099", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 38069, "upload_time": "2015-07-16T01:10:23", "url": "https://files.pythonhosted.org/packages/78/07/b2b1858db5b8875ac727155540abf7cc770415152b7d8329ee1e3ff81798/betamax-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "477727620e225fd19910878d29ad29c1", "sha256": "03510981c750e5ae98b08fc4e059ff6615a349e36f3687d999d60085ec296a75" }, "downloads": -1, "filename": "betamax-0.5.0.tar.gz", "has_sig": false, "md5_digest": "477727620e225fd19910878d29ad29c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22896, "upload_time": "2015-07-16T01:09:12", "url": "https://files.pythonhosted.org/packages/1d/36/0e00768b854b4af729f9b1b251ca40f326bd13d29afed2565a1bc1032fae/betamax-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "19ede82c294d5856ba9ede6a023851e5", "sha256": "eefefccb2a26916ca4afd7ed7e9d88d2c65973862c013e27d3e48ad41a7bfc92" }, "downloads": -1, "filename": "betamax-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "19ede82c294d5856ba9ede6a023851e5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 57419, "upload_time": "2015-10-24T19:48:34", "url": "https://files.pythonhosted.org/packages/9d/97/6f2f256b931e5d18cd8b825e117b0983e2498efe95ae005f520387f94bfa/betamax-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "349e69e1a9da664a8ab8c0f545e2e38f", "sha256": "864ecfea1df089ce166ca59040534f113a974d52bcb227b2143cddb8f28b9fbe" }, "downloads": -1, "filename": "betamax-0.5.1.tar.gz", "has_sig": false, "md5_digest": "349e69e1a9da664a8ab8c0f545e2e38f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25586, "upload_time": "2015-10-24T19:48:39", "url": "https://files.pythonhosted.org/packages/b9/9a/62a55461be31deea5dbdb9996809fb196449b30e3594fcd4a06c79f13e11/betamax-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "c4b0b173155c577633130cb8eb2a7a20", "sha256": "f1625824dcf8d820935dd1833d20d6bdac0b1e185556a99d126aa478968fe4dc" }, "downloads": -1, "filename": "betamax-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c4b0b173155c577633130cb8eb2a7a20", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35882, "upload_time": "2016-04-12T16:46:17", "url": "https://files.pythonhosted.org/packages/16/d8/a9f814747cee041752b106c2a54ed1ff55e6bb55531fe1ca87edbd7b2324/betamax-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f70c210d760f5962c03d83eca4ec18ea", "sha256": "9f870d9ba480509838f4eced464d6398ceee238221217a689b62ad254769846f" }, "downloads": -1, "filename": "betamax-0.6.0.tar.gz", "has_sig": false, "md5_digest": "f70c210d760f5962c03d83eca4ec18ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72311, "upload_time": "2016-04-12T16:46:24", "url": "https://files.pythonhosted.org/packages/dd/da/e4bb758d22cab7257a66aa1bf5128cfbd77d087d7fd9b1474c69d6c5c29f/betamax-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "2ce9691757603954768ecdb7448e2b22", "sha256": "fa6337b598b6af1d909d9b8152bf5e90be15d5a3a58329406f45f80ea04d9d05" }, "downloads": -1, "filename": "betamax-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2ce9691757603954768ecdb7448e2b22", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37165, "upload_time": "2016-04-29T19:36:16", "url": "https://files.pythonhosted.org/packages/56/59/8f3e0cc7f2ec70166aefdb9e694ef0daa466707e8d6d0e52e99bb68e7edc/betamax-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddb657a6e546c1aeec403b499f31ff44", "sha256": "1b006d854dc45d54b2db193fcb3eea8546acdece465edb7bf9247bcbda6cf485" }, "downloads": -1, "filename": "betamax-0.7.0.tar.gz", "has_sig": false, "md5_digest": "ddb657a6e546c1aeec403b499f31ff44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75780, "upload_time": "2016-04-29T19:36:23", "url": "https://files.pythonhosted.org/packages/cc/bd/4879257f4d7c44bb3f19b9d48c9b5e5d1f4ea6efab2d4da48c6bd55468ff/betamax-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "03dc2ed7fc6da9c5f4d0cbc09382b2c6", "sha256": "284c20c3b9c132c139d8b6ae73568cfa7c60bbe23858f6b5c0aa86a31160c32d" }, "downloads": -1, "filename": "betamax-0.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03dc2ed7fc6da9c5f4d0cbc09382b2c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37357, "upload_time": "2016-06-14T21:24:41", "url": "https://files.pythonhosted.org/packages/fd/a9/d9c428b6d526810b55a9d2b0cc17c25b9dc1f78a1884ccf27896f7f30b65/betamax-0.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3329a35418c3062f7cde6259bf634a33", "sha256": "2b7a6359bf14bf2e4a9a51145299145ad2140a2e6a9be4fb0efa72419b5a1a49" }, "downloads": -1, "filename": "betamax-0.7.1.tar.gz", "has_sig": false, "md5_digest": "3329a35418c3062f7cde6259bf634a33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75952, "upload_time": "2016-06-14T21:24:56", "url": "https://files.pythonhosted.org/packages/2e/64/d41ea7091c7bc80b2042e03109fed9947f073f67303fc94f4d777a1fa6d1/betamax-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "e471f7d1e59bd764cdbfb5fbdf847362", "sha256": "c99c3217517a0bd809cccff2ba89a0739cdc89cfc318b9b0c1b6cba1042cf241" }, "downloads": -1, "filename": "betamax-0.7.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e471f7d1e59bd764cdbfb5fbdf847362", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37547, "upload_time": "2016-08-04T14:17:44", "url": "https://files.pythonhosted.org/packages/4c/f7/dc395f7ab4c44e5167ab896f5323093dd4ed5cd90f4f93ba3e9541cbdc09/betamax-0.7.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c5120d878a4a32e65049e2136ff3dec", "sha256": "d070935a445aff6146a06fe0c7021c3e185eb3fe15d9ed968b85894014642057" }, "downloads": -1, "filename": "betamax-0.7.2.tar.gz", "has_sig": false, "md5_digest": "3c5120d878a4a32e65049e2136ff3dec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76346, "upload_time": "2016-08-04T14:17:47", "url": "https://files.pythonhosted.org/packages/3d/1b/d991daeea97e4e0b617295a4071332cc4bb38f60774de8d243e50cd54c69/betamax-0.7.2.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "bd6a50096fa1f0ad80bf614422c6df04", "sha256": "91d5f6ca6b03901df93f9c0c2ac7fe1a0ff557bd6f30124ec73cefae00fc14a2" }, "downloads": -1, "filename": "betamax-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd6a50096fa1f0ad80bf614422c6df04", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 38921, "upload_time": "2016-08-16T22:00:54", "url": "https://files.pythonhosted.org/packages/bb/b4/44719117c01d09c1cbc206f08669788ac83539e48743fdf54d011c68f1f5/betamax-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54b4078a847f8814bd3477d802215f80", "sha256": "82c480852a70a1bb57bd3f505107ffc293185e26fdaf45e538478e675fd9c8a1" }, "downloads": -1, "filename": "betamax-0.8.0.tar.gz", "has_sig": false, "md5_digest": "54b4078a847f8814bd3477d802215f80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78398, "upload_time": "2016-08-16T22:01:02", "url": "https://files.pythonhosted.org/packages/d4/69/e2f7a3d81758fbeff92241fac7e608c624eeb5642629f0132ded202f4c65/betamax-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "3f4cdd054344150ac9d9dd64e49d5ba2", "sha256": "aa5ad34cc8d018b35814fb0557d15c78ced9ac56fdc43ccacdb882aa7a5217c1" }, "downloads": -1, "filename": "betamax-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f4cdd054344150ac9d9dd64e49d5ba2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 39333, "upload_time": "2018-03-13T22:25:24", "url": "https://files.pythonhosted.org/packages/d1/54/820de0a06d938917103f7d91c024403b9ae521d74e1191fe6f91a70089c9/betamax-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8182d43a200fc126a3bf7555626f964", "sha256": "5bf004ceffccae881213fb722f34517166b84a34919b92ffc14d1dbd050b71c2" }, "downloads": -1, "filename": "betamax-0.8.1.tar.gz", "has_sig": false, "md5_digest": "b8182d43a200fc126a3bf7555626f964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77526, "upload_time": "2018-03-13T22:25:26", "url": "https://files.pythonhosted.org/packages/1b/bc/9df1643837a62481a32d515606fb2edcabb467e51b0c47797d3f56e21568/betamax-0.8.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f4cdd054344150ac9d9dd64e49d5ba2", "sha256": "aa5ad34cc8d018b35814fb0557d15c78ced9ac56fdc43ccacdb882aa7a5217c1" }, "downloads": -1, "filename": "betamax-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f4cdd054344150ac9d9dd64e49d5ba2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 39333, "upload_time": "2018-03-13T22:25:24", "url": "https://files.pythonhosted.org/packages/d1/54/820de0a06d938917103f7d91c024403b9ae521d74e1191fe6f91a70089c9/betamax-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8182d43a200fc126a3bf7555626f964", "sha256": "5bf004ceffccae881213fb722f34517166b84a34919b92ffc14d1dbd050b71c2" }, "downloads": -1, "filename": "betamax-0.8.1.tar.gz", "has_sig": false, "md5_digest": "b8182d43a200fc126a3bf7555626f964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77526, "upload_time": "2018-03-13T22:25:26", "url": "https://files.pythonhosted.org/packages/1b/bc/9df1643837a62481a32d515606fb2edcabb467e51b0c47797d3f56e21568/betamax-0.8.1.tar.gz" } ] }