{ "info": { "author": "Christian Haselgrove", "author_email": "christian.haselgrove@umassmed.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries" ], "description": ".. See file COPYING distributed with python-hypothesis for copyright and \n license.\n\nPython package for Hypothesis (http://hypothes.is)\n==================================================\n\nThis package provides python bindings to the Hypothesis API.\n\nLow-level access\n----------------\n\nThe api submodule is a low-level implementation of the `Hypothesis API`_. \n\n.. _Hypothesis API: http://h.readthedocs.io/en/latest/api/\n\nThe contents of this module reflect the REST nature of the API:\n\n- API calls are made by functions.\n- Input and output data are uninterpreted data (e.g. JSON strings, not \n objects resulting from interpreting the JSON).\n- Argument checking is minimal and most exceptions will come when the API \n returns an error (APIError is raised if the server does not return 200).\n- The ``auth`` argument is always given first (except to ``root()``, which \n does not take authorization). ``auth`` can currently be None or a string \n containing a developer token.\n\nExamples:\n\n >>> h_annot.api.read(None, '53LMZGVCEemN4zOvm3oFEQ')\n u'{\"updated\": \"2019-04-22T21:09:23.352503+00:00\", \"group\": \"__world__\", ...\n\n >>> h_annot.api.read(None, 'bogusannotationid')\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"h_annot/api.py\", line 39, in read\n raise APIError(r)\n h_annot.exceptions.APIError: API call returned 404 (Not Found): not_found\n\nHigh-level access\n-----------------\n\nThe Annotation class is an object abstraction of an annotation. Use the ``load()`` class method to get an annotation from its ID:\n\n >>> annot = h_annot.Annotation.load('53LMZGVCEemN4zOvm3oFEQ')\n >>> annot.text\n u\"I'm imagining!!!\"\n\nExceptions are more pythonic:\n\n >>> h_annot.Annotation.load('somebogusannotid')\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"h_annot/annotation.py\", line 97, in load\n raise KeyError('annotation ID %s not found' % annot_id)\n KeyError: 'annotation ID somebogusannotid not found'\n\nThe Annotation constructor should not be called directly.\n\nSome attributes can be updated; to do so, set the authentication token using the ``h_annot.auth()`` context manager:\n\n >>> with h_annot.auth(authentication_token):\n ... annot.text = 'new text'\n\nAnnotations don't have an inherent concept of authentication, so the previous way of declaring authentication to annotations:\n\n >>> annot = h_annot.Annotation.load('someannotationid', 'somedevelkey')\n >>> annot.text = 'new text'\n\nis deprecated.\n\nTags are accessed and changed through the ``tags`` attribute. This attribute acts like a case-insensitive set (like Hypothesis itself treats tags).\n\n >>> print annot.tags\n TagSet(objectives, interwebs)\n\n >>> for tag in annot.tags:\n ... print tag\n objectives\n interwebs\n\n >>> with h_annot.auth(authentication_token):\n ... annot.tags = ['all', 'new', 'tags']\n ... annot.tags.add('and one more')\n ... annot.tags.remove('new')\n\nSearching via ``Annotation.search()`` is deprecated. This search just wrapped the results of ``api.search()`` in Annotation constructors, so ``api.search()`` should now be used for searches that used ``Annotation.search()``. For a high-level search interface, use ``h_annot.search()``. This takes keyword arguments ``uri``, ``user``, ``tags``, and ``text``. Note that ``tags`` are joined by AND and separate words in ``text`` are joined by OR, which is the behavior of the `Hypothesis search API`_. ``h_annot.search()`` respects the authentication set by the ``h_annot.auth()`` context manager.\n\n.. _Hypothesis search API: https://h.readthedocs.io/en/latest/api-reference/#tag/annotations/paths/~1search/get\n\n``h_annot.search()`` returns a ``SearchResults`` instance. ``SearchResults`` instances respond properly to ``len()``, and iteration will result in annotations:\n\n >>> results = h_annot.search()\n 800765\n >>> len(results)\n >>> for annotation in results:\n ... print(annotation)\n ... break\n \n\nThe ``SearchResults`` object will load more results as needed from Hypothesis, but with a one second delay before each subsequent query to avoid rapid repeated hits to Hypothesis if something easily done and seemingly innocuous like ``list(h_annot.search())`` is done.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chaselgrove/python-hypothesis", "keywords": "", "license": "BSD license", "maintainer": "", "maintainer_email": "", "name": "python-hypothesis", "package_url": "https://pypi.org/project/python-hypothesis/", "platform": "", "project_url": "https://pypi.org/project/python-hypothesis/", "project_urls": { "Homepage": "https://github.com/chaselgrove/python-hypothesis" }, "release_url": "https://pypi.org/project/python-hypothesis/0.4.1/", "requires_dist": [ "requests", "python-dateutil", "six" ], "requires_python": "", "summary": "Python library for the Hypothes.is API", "version": "0.4.1" }, "last_serial": 5218811, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9ce58e4b9e20389436ea90a43beebb8e", "sha256": "81cd1bc5b71bafe170df86721ef0511dc5f74c96071ef89d04917ea0e52c4020" }, "downloads": -1, "filename": "python-hypothesis-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9ce58e4b9e20389436ea90a43beebb8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4699, "upload_time": "2016-09-02T21:04:33", "url": "https://files.pythonhosted.org/packages/ef/2c/a5c40ea07d077d2a37eb355aee99757ce7e27ab4181dd5e7782249171ad9/python-hypothesis-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "1f71bd0359a0366f00b90e7698cf94e5", "sha256": "18fd253417535b97c52467856c4d0d8de01032494136bb08716fe943218f1754" }, "downloads": -1, "filename": "python-hypothesis-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1f71bd0359a0366f00b90e7698cf94e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5186, "upload_time": "2018-02-13T19:52:07", "url": "https://files.pythonhosted.org/packages/eb/69/2a635363313d1824519e3f5daec8b4473cfa73b056b4389a005c7771b8e3/python-hypothesis-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b0ab051a49c7cc23705deed490c30ee6", "sha256": "f864e0197003121fb32402731e530408dc91bab94e8ddfa8dad3bcce9111200d" }, "downloads": -1, "filename": "python-hypothesis-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b0ab051a49c7cc23705deed490c30ee6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5341, "upload_time": "2018-08-21T15:26:47", "url": "https://files.pythonhosted.org/packages/0e/72/e34f6b1b94d30ee827db140c0be86eae1b49d74d003d162778ea222e717b/python-hypothesis-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b7930ae771573f49cceb47657c20b66b", "sha256": "5b1ba84b80c374fd595b9380b7e95d255069f07bed35530882133a592d2617d9" }, "downloads": -1, "filename": "python_hypothesis-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "b7930ae771573f49cceb47657c20b66b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6303, "upload_time": "2019-02-20T20:14:00", "url": "https://files.pythonhosted.org/packages/89/08/7328c6d0538053047bb9911d68bc1187ce58da530ed76bfdd0a430b18012/python_hypothesis-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "622022bf3fbf81205d38a4b85159a4cb", "sha256": "0c766e3830ef56ab467287b31ebb9cc10fa926e6c474540d1b627c1077f61079" }, "downloads": -1, "filename": "python_hypothesis-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "622022bf3fbf81205d38a4b85159a4cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6301, "upload_time": "2019-02-21T21:22:47", "url": "https://files.pythonhosted.org/packages/e9/0c/05c08cb5fa9cbb69914f6a6f33f794a80488a6609ae6d4a0c476023230b3/python_hypothesis-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b55d1118958c7e76907277de73f89213", "sha256": "bdf78baf27d645bfc0682cedc44728872307365de9d5c56fdd12759e13597dd5" }, "downloads": -1, "filename": "python-hypothesis-0.2.1.tar.gz", "has_sig": false, "md5_digest": "b55d1118958c7e76907277de73f89213", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5390, "upload_time": "2019-02-20T20:14:02", "url": "https://files.pythonhosted.org/packages/b0/32/7e10d5a3c4feae733a148cb78f3952e0e52b7b21c923020f3441185ec033/python-hypothesis-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "27f77fe0bc5214b58e5781367946ec9b", "sha256": "b9e37a0ba7133d56add99df4d679ca0a6dfba78122ac5f85f6253bc965bd5c22" }, "downloads": -1, "filename": "python_hypothesis-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "27f77fe0bc5214b58e5781367946ec9b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7345, "upload_time": "2019-03-05T20:47:53", "url": "https://files.pythonhosted.org/packages/7f/f9/d2f205b1ebd825f261822e6ebbc9475347147813ed13d709a6e7c82f5a45/python_hypothesis-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d35129d46460b1bc760900fb72aa75ac", "sha256": "bad69e46b3729a997d106f9b59adfb8eb9085d1d279e779f79f9777873513b73" }, "downloads": -1, "filename": "python_hypothesis-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d35129d46460b1bc760900fb72aa75ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7344, "upload_time": "2019-03-05T20:47:54", "url": "https://files.pythonhosted.org/packages/0c/eb/d2e2d53e0933d59f4f805c81f014c6cb775a22f380fccfc9fa4f48d6da54/python_hypothesis-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48847da9c813440755840ea4ed6be82f", "sha256": "5ba9dbd9323edb845e250da0154327b91f2018825bacb8bd5047914140799286" }, "downloads": -1, "filename": "python-hypothesis-0.3.0.tar.gz", "has_sig": false, "md5_digest": "48847da9c813440755840ea4ed6be82f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6179, "upload_time": "2019-03-05T20:47:56", "url": "https://files.pythonhosted.org/packages/a4/08/99fe632e98e5b7a6ad7e1cf8447c860bfc995591aedf49386f40b68b7a33/python-hypothesis-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f44de0c15cfb494f1f82f240549fd6fc", "sha256": "194206fbdcdce050c5d612608a5eef34b7d365d85df411036ccbd2ab239e81fd" }, "downloads": -1, "filename": "python_hypothesis-0.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f44de0c15cfb494f1f82f240549fd6fc", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8335, "upload_time": "2019-04-30T15:06:19", "url": "https://files.pythonhosted.org/packages/02/a7/9ddc712c6f214e7e5dfee8e89dff6a74116a7177f5ebecfd5eec9a77cd64/python_hypothesis-0.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6e3f31168ceac88e3494a51b1873fcd", "sha256": "e45f72036fbc36138bb7e675a92d3b5ccd2cf802bd910edeb5c377838ade74e0" }, "downloads": -1, "filename": "python_hypothesis-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c6e3f31168ceac88e3494a51b1873fcd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8334, "upload_time": "2019-04-30T15:06:22", "url": "https://files.pythonhosted.org/packages/07/20/0dd5ed5f48240e36f2ca83087b599b0714b8087a12e325e1b23de7adeaa8/python_hypothesis-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3fc2f01906fc2a547301343bd663246a", "sha256": "fa979fa7ec6c035c885857fea853ba1b0890b3d1c61dbb434db7721b0096b000" }, "downloads": -1, "filename": "python-hypothesis-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3fc2f01906fc2a547301343bd663246a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8297, "upload_time": "2019-04-30T15:06:25", "url": "https://files.pythonhosted.org/packages/1a/12/771f59aae7fb29a7aa2c8b38b0018c8ee5d4881a6f6521ec19b153e079b7/python-hypothesis-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "45ff01bb0064732201e155bd9e5a1cde", "sha256": "bb3619e14c2b47b62fd0cae4b02b9e7cb7fae0975c2aed0993fc895d0f036272" }, "downloads": -1, "filename": "python_hypothesis-0.4.1-py2-none-any.whl", "has_sig": false, "md5_digest": "45ff01bb0064732201e155bd9e5a1cde", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9037, "upload_time": "2019-05-02T18:59:18", "url": "https://files.pythonhosted.org/packages/1a/ea/3fe0fe53bf27d938a8d24d8883643ffee6f1331a7850afbf18268dfa56c3/python_hypothesis-0.4.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0cac03887d76f802697f27422d81a5e", "sha256": "54748a827e6e86fc2bd65c66ac201731024656151ee7d535f008a120993761bd" }, "downloads": -1, "filename": "python_hypothesis-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b0cac03887d76f802697f27422d81a5e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9035, "upload_time": "2019-05-02T18:59:19", "url": "https://files.pythonhosted.org/packages/ed/7d/2592bab18c8ad46a545cde5eb34c53fe1186514cc89ec31e25a56d8ceb4f/python_hypothesis-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc0033cbd3ce16ef519e326794f94d02", "sha256": "75b67a6360057a9731b54340af7263a843127d03b925f38a371280cc1a0ed8db" }, "downloads": -1, "filename": "python-hypothesis-0.4.1.tar.gz", "has_sig": false, "md5_digest": "dc0033cbd3ce16ef519e326794f94d02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9304, "upload_time": "2019-05-02T18:59:21", "url": "https://files.pythonhosted.org/packages/9f/1d/e52e925606fae91fb315da8a8bb12ab8b283fc67b379a2eded5f6cc552e4/python-hypothesis-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "45ff01bb0064732201e155bd9e5a1cde", "sha256": "bb3619e14c2b47b62fd0cae4b02b9e7cb7fae0975c2aed0993fc895d0f036272" }, "downloads": -1, "filename": "python_hypothesis-0.4.1-py2-none-any.whl", "has_sig": false, "md5_digest": "45ff01bb0064732201e155bd9e5a1cde", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9037, "upload_time": "2019-05-02T18:59:18", "url": "https://files.pythonhosted.org/packages/1a/ea/3fe0fe53bf27d938a8d24d8883643ffee6f1331a7850afbf18268dfa56c3/python_hypothesis-0.4.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0cac03887d76f802697f27422d81a5e", "sha256": "54748a827e6e86fc2bd65c66ac201731024656151ee7d535f008a120993761bd" }, "downloads": -1, "filename": "python_hypothesis-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b0cac03887d76f802697f27422d81a5e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9035, "upload_time": "2019-05-02T18:59:19", "url": "https://files.pythonhosted.org/packages/ed/7d/2592bab18c8ad46a545cde5eb34c53fe1186514cc89ec31e25a56d8ceb4f/python_hypothesis-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc0033cbd3ce16ef519e326794f94d02", "sha256": "75b67a6360057a9731b54340af7263a843127d03b925f38a371280cc1a0ed8db" }, "downloads": -1, "filename": "python-hypothesis-0.4.1.tar.gz", "has_sig": false, "md5_digest": "dc0033cbd3ce16ef519e326794f94d02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9304, "upload_time": "2019-05-02T18:59:21", "url": "https://files.pythonhosted.org/packages/9f/1d/e52e925606fae91fb315da8a8bb12ab8b283fc67b379a2eded5f6cc552e4/python-hypothesis-0.4.1.tar.gz" } ] }