{ "info": { "author": "Mike Thornton", "author_email": "six8@devdetails.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "==========\nAnticipate\n==========\n\n.. image:: https://secure.travis-ci.org/six8/anticipate.png\n :target: http://travis-ci.org/six8/anticipate\n :alt: Build Status\n\n\nExpect the unexpected, but get what you want.\n\n::\n\n @anticipate(int)\n def get_int():\n return '1'\n\n assert get_int() == 1\n\n @anticipate(str)\n def get_str():\n return 22\n\n assert get_str() == '22'\n\n @anticipate([str])\n def get_strs(*args):\n return args\n\n assert list(get_strs(1, 2, 3)) == ['1', '2', '3']\n\nWorks much better with your own objects or with `SpringField `_\n\n=========\nChangelog\n=========\n\n0.9.0\n=====\n\n* Dropped support for Python 2.6, added support for Python 3.7.\n* Cleaned up code formatting\n\nBug Fixes\n---------\n\n* Fixed issue that prevented use of an adaptable object (has an\n ``adapt`` method) as an anticipated list of type.\n\n0.8.0\n=====\n\n* Change so that anticipating an iterable using ``[type]`` will always\n return a list instead of generator\n* Added ``anticipate_input_factory`` to make it easier to implement\n input handlers that need to inject values or handle input errors\n differently\n* Made it so you can use any object that implements ``adapt`` as an\n anticipate type so you can use `SpringField`_ fields as input types\n* Improved error messages\n* Split anticipate input and output handling into separate functions to\n make it easier to intercept input or output handling\n* Check that the params being anticipated exist in the function\n signature\n\n\n.. _SpringField: https://github.com/six8/springfield\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "http://github.com/six8/anticipate", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/six8/anticipate", "keywords": "packaging", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "anticipate", "package_url": "https://pypi.org/project/anticipate/", "platform": "", "project_url": "https://pypi.org/project/anticipate/", "project_urls": { "Download": "http://github.com/six8/anticipate", "Homepage": "http://github.com/six8/anticipate" }, "release_url": "https://pypi.org/project/anticipate/0.9.1/", "requires_dist": [ "future (==0.17.1)", "pytest ; extra == 'test'" ], "requires_python": "", "summary": "A type checking and adapting library", "version": "0.9.1" }, "last_serial": 5243377, "releases": { "0.7.3": [ { "comment_text": "", "digests": { "md5": "e55506e7507904b52cb5df09ed6ac711", "sha256": "bcb6562479ea0594a5fd961c075be5ddcced9ea8cae2e85001ec51f6f14bde69" }, "downloads": -1, "filename": "anticipate-0.7.3.tar.gz", "has_sig": false, "md5_digest": "e55506e7507904b52cb5df09ed6ac711", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10779, "upload_time": "2014-04-21T22:06:49", "url": "https://files.pythonhosted.org/packages/0a/27/8a488df5cce5f3ad52fa4fecb82029c33f9af719bb3c73f4fffe321abb1b/anticipate-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "f999c92e39e007f4093a0f536f025af2", "sha256": "f8f4a1b7e75da3e921a0486d3add6f8d85ca11682663a10e7169024f23140ac8" }, "downloads": -1, "filename": "anticipate-0.7.4.tar.gz", "has_sig": false, "md5_digest": "f999c92e39e007f4093a0f536f025af2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5641, "upload_time": "2012-11-17T18:08:23", "url": "https://files.pythonhosted.org/packages/6c/56/15f09360a65a16d45a7ab5bda6a2d4a551efa94923af3ae30638f424d007/anticipate-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "f852c6413f1d1057201a93391ad5b587", "sha256": "922cb6c37de51c023c58fbef44825ecad37109a3514f1a7ab18d8a08dd22de4e" }, "downloads": -1, "filename": "anticipate-0.7.5.tar.gz", "has_sig": false, "md5_digest": "f852c6413f1d1057201a93391ad5b587", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5714, "upload_time": "2014-01-03T10:03:49", "url": "https://files.pythonhosted.org/packages/67/ff/4e4dbff5695c809f7c1d2890b68e32a33db569b0f3b029c659959e3f6e5d/anticipate-0.7.5.tar.gz" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "defa2fca75aee956c3c459d7c64c47ef", "sha256": "50781ec79d189cc9470ed61b32b234c167c5c0f392b006de285310eeb618d398" }, "downloads": -1, "filename": "anticipate-0.7.6.tar.gz", "has_sig": false, "md5_digest": "defa2fca75aee956c3c459d7c64c47ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5620, "upload_time": "2014-12-11T23:03:16", "url": "https://files.pythonhosted.org/packages/90/af/73fad246cf51586e880fec90bc8dad6f1dff71f31938b094cc3e25b94dd4/anticipate-0.7.6.tar.gz" } ], "0.7.7": [ { "comment_text": "", "digests": { "md5": "eb783d110356b498ff6e55b7cca6f11d", "sha256": "c57f82d93ff0b5feca13479081934887d25ce5a084bf63c35dfb848a1a5009bd" }, "downloads": -1, "filename": "anticipate-0.7.7.tar.gz", "has_sig": false, "md5_digest": "eb783d110356b498ff6e55b7cca6f11d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6128, "upload_time": "2014-12-12T21:16:36", "url": "https://files.pythonhosted.org/packages/99/f9/751a434d6173734a035c19e56abdb5a55c2d53021e81a41f6e4b384c474a/anticipate-0.7.7.tar.gz" } ], "0.7.8": [ { "comment_text": "", "digests": { "md5": "663c390c1dbd3ab8affbf0f822cf1f1c", "sha256": "a235c588dd08bb3da857ac12a4c44feb7c43f5f94ceb44bfe11584ec135ca245" }, "downloads": -1, "filename": "anticipate-0.7.8.tar.gz", "has_sig": false, "md5_digest": "663c390c1dbd3ab8affbf0f822cf1f1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6724, "upload_time": "2015-07-11T05:22:43", "url": "https://files.pythonhosted.org/packages/c7/08/3aec3e6de637253069063435ef388adf20049dee13d877be8670ff1394ce/anticipate-0.7.8.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "83f626b5316d67f561d25bbb903738e8", "sha256": "b703bf7020a4827c8ada6a495a9d1d13f747483e47e06fa0dc69d365fdc77b18" }, "downloads": -1, "filename": "anticipate-0.8.0.tar.gz", "has_sig": false, "md5_digest": "83f626b5316d67f561d25bbb903738e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8159, "upload_time": "2015-12-01T03:18:11", "url": "https://files.pythonhosted.org/packages/cd/a5/6441dae81699ee69c759c43f38679f36c5701eabc3df3682a99d9190a308/anticipate-0.8.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "1e2d7076e0853b3bdb40ac8512baa25f", "sha256": "890f09cb730a8200fb5ea9ccc4bad256e5efc0245fd43f50d02f6d600e53c5c9" }, "downloads": -1, "filename": "anticipate-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1e2d7076e0853b3bdb40ac8512baa25f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7856, "upload_time": "2019-05-08T15:05:25", "url": "https://files.pythonhosted.org/packages/3b/8d/8accc695ae0314b1615861424fb42148cd5635f7e773ccf572ffd610e5e8/anticipate-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "898fb0cb4df7b61b6480922c3e435a62", "sha256": "591c4312a55ba177754d7c13b718c5bdd3f834ed1ff572b53fa886ac7fd5b8f3" }, "downloads": -1, "filename": "anticipate-0.9.1.tar.gz", "has_sig": false, "md5_digest": "898fb0cb4df7b61b6480922c3e435a62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10083, "upload_time": "2019-05-08T15:05:27", "url": "https://files.pythonhosted.org/packages/de/ca/e2ba302ba20253352d7750b693d0cca2134e18cb50c5cb03b46fe28a3779/anticipate-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1e2d7076e0853b3bdb40ac8512baa25f", "sha256": "890f09cb730a8200fb5ea9ccc4bad256e5efc0245fd43f50d02f6d600e53c5c9" }, "downloads": -1, "filename": "anticipate-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1e2d7076e0853b3bdb40ac8512baa25f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7856, "upload_time": "2019-05-08T15:05:25", "url": "https://files.pythonhosted.org/packages/3b/8d/8accc695ae0314b1615861424fb42148cd5635f7e773ccf572ffd610e5e8/anticipate-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "898fb0cb4df7b61b6480922c3e435a62", "sha256": "591c4312a55ba177754d7c13b718c5bdd3f834ed1ff572b53fa886ac7fd5b8f3" }, "downloads": -1, "filename": "anticipate-0.9.1.tar.gz", "has_sig": false, "md5_digest": "898fb0cb4df7b61b6480922c3e435a62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10083, "upload_time": "2019-05-08T15:05:27", "url": "https://files.pythonhosted.org/packages/de/ca/e2ba302ba20253352d7750b693d0cca2134e18cb50c5cb03b46fe28a3779/anticipate-0.9.1.tar.gz" } ] }