{ "info": { "author": "Jane Adams, Leif Walsh", "author_email": "jane@twosigma.com, leif@twosigma.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Financial and Insurance Industry", "Intended Audience :: Healthcare Industry", "Intended Audience :: Information Technology", "Intended Audience :: Manufacturing", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Documentation", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Testing" ], "description": ".. image:: marbles.svg\n :height: 150px\n :width: 150px\n :align: right\n\n=======\nmarbles\n=======\n\n.. image:: https://img.shields.io/pypi/v/marbles.svg\n :target: https://pypi.python.org/pypi/marbles\n\n.. image:: https://img.shields.io/travis/twosigma/marbles.svg\n :target: https://travis-ci.org/twosigma/marbles\n\n.. image:: https://readthedocs.org/projects/marbles/badge/?version=latest\n :target: https://marbles.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://codecov.io/gh/twosigma/marbles/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/twosigma/marbles\n\nRead better test failures.\n\n* Free software: MIT license\n* Documentation: https://marbles.readthedocs.io\n\nOverview\n--------\n\n`marbles` is a Python `unittest` extension that allows test authors to write\nricher tests that expose more information on test failure to help you debug\nfailing tests faster.\n\n* Treat test failures as documentation\n* Contextualize failures without digging through test code\n and dropping debugging statements everywhere\n* Write clearer, more explicit tests\n\nFeatures\n--------\n\n* Drop-in `unittest` replacement\n* Information-rich failure messages\n\n * The full statement that failed (instead of just the last line)\n * Local variables in scope at the time the test failed\n * Optional annotation provided by the test author with details about the test\n * Ability to toggle traceback\n\n* Semantically-rich assertion methods\n* Assertion logging\n\nDemo\n----\n\nYou can run the example tests provided to see what a `marbles` failure message\nlooks like\n\n.. image:: getting_started.png\n\nYou can also run your existing `unittest` tests with `marbles`\n\n.. code-block:: bash\n\n python -m marbles test_module.py\n\nInstalling\n----------\n\n.. code-block:: bash\n\n pip install marbles\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/twosigma/marbles", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "marbles.mixins", "package_url": "https://pypi.org/project/marbles.mixins/", "platform": "", "project_url": "https://pypi.org/project/marbles.mixins/", "project_urls": { "Documentation": "https://marbles.readthedocs.io", "Homepage": "https://github.com/twosigma/marbles", "Source": "https://github.com/twosigma/marbles", "Tracker": "https://github.com/twosigma/marbles/issues" }, "release_url": "https://pypi.org/project/marbles.mixins/0.10.0/", "requires_dist": [ "pandas (<0.24,>=0.19.1)", "coverage; extra == 'dev'", "flake8; extra == 'dev'", "flake8-per-file-ignores; extra == 'dev'" ], "requires_python": "", "summary": "Semantically-rich assertions for use in marbles and unittest test cases", "version": "0.10.0" }, "last_serial": 4303383, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "f8f52f99b60c4a7dd90bbb397ca7e77c", "sha256": "947b59ae6fdc0be098e33b54c7ac556e1bf0147412706021843727c11e80ac72" }, "downloads": -1, "filename": "marbles.mixins-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8f52f99b60c4a7dd90bbb397ca7e77c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14219, "upload_time": "2018-09-24T02:39:07", "url": "https://files.pythonhosted.org/packages/ae/9f/3a1053f741af5b7d2fdf24eb14420670432b3b1b4873eee45cdf48ab27d2/marbles.mixins-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b6840d6c00d6d3b5a7c645d236a8359", "sha256": "d8fd3034429ebec5fef1b91e790937c656db3c7143135a92f7ae0a054e5979af" }, "downloads": -1, "filename": "marbles.mixins-0.10.0.tar.gz", "has_sig": false, "md5_digest": "9b6840d6c00d6d3b5a7c645d236a8359", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13351, "upload_time": "2018-09-24T02:39:11", "url": "https://files.pythonhosted.org/packages/74/60/aebf3dc51e983d7239f434d77187a0c9986894773f203ba4a8ff33d1b046/marbles.mixins-0.10.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "4da3c221986f56e3d2340b978bfee9b9", "sha256": "82fac23730c3ba78ca11434f2fde1df3fe4bb1a21eec07b7a0618e28207a251f" }, "downloads": -1, "filename": "marbles.mixins-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4da3c221986f56e3d2340b978bfee9b9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13097, "upload_time": "2018-05-20T01:20:31", "url": "https://files.pythonhosted.org/packages/71/33/2c6cbaa8158cd68b82f30fa940a5a91b6aaf715828694267ff5826760bc8/marbles.mixins-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d698295dd730185158b6257d31bf1e3a", "sha256": "83229b9f655dcea4c422897d84dca6b195217283198771f3430d8eba76b4edab" }, "downloads": -1, "filename": "marbles.mixins-0.9.1.tar.gz", "has_sig": false, "md5_digest": "d698295dd730185158b6257d31bf1e3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10673, "upload_time": "2018-05-20T01:20:34", "url": "https://files.pythonhosted.org/packages/ce/95/b2f093dd6d40a0aec69aafb709a6bf7c56d9c0f677580a80c0e0d20c95ff/marbles.mixins-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "d960a5ea8864f4198b49aeb0bf27645f", "sha256": "ae74b870b30f35cde0f344c571feb18e57e36d1d7acebc2ad08a2267a8717ada" }, "downloads": -1, "filename": "marbles.mixins-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d960a5ea8864f4198b49aeb0bf27645f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13097, "upload_time": "2018-05-20T01:40:51", "url": "https://files.pythonhosted.org/packages/ae/9e/b98697264f218634d68c5d0f0008e7589ad04042c47b368777a6bb7fca00/marbles.mixins-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5f25c444e878a0f7bc72e768becaade", "sha256": "7517c40046ac7b2bdfe51a9cd7b08f946bd24cdf4e4ae49586d77a1195f65533" }, "downloads": -1, "filename": "marbles.mixins-0.9.2.tar.gz", "has_sig": false, "md5_digest": "c5f25c444e878a0f7bc72e768becaade", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10676, "upload_time": "2018-05-20T01:40:54", "url": "https://files.pythonhosted.org/packages/0f/2c/70901ec927363f74adf472f245a03136e60aa0fbd5ee83e85cf5cef96f2b/marbles.mixins-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "fd029187dfedd3566f52c68afb138ed9", "sha256": "dbc2f77fdd12c94641695eae37c5051df0ed2dc89f9cad22942ea361055d0ff3" }, "downloads": -1, "filename": "marbles.mixins-0.9.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd029187dfedd3566f52c68afb138ed9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14442, "upload_time": "2018-06-02T15:24:54", "url": "https://files.pythonhosted.org/packages/51/19/fdfd8198f78d03a8014b11ccbbe1a418507fedd11d3f492012f7d5363883/marbles.mixins-0.9.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fef1614ff21767517dcbce0da8e176d9", "sha256": "5885263b540f403eae18944988e4a31996f41446307301bdb3dbd8f5f4291708" }, "downloads": -1, "filename": "marbles.mixins-0.9.3.tar.gz", "has_sig": false, "md5_digest": "fef1614ff21767517dcbce0da8e176d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13466, "upload_time": "2018-06-02T15:24:58", "url": "https://files.pythonhosted.org/packages/45/da/f414c940c57b198b1e19aa1b4572b43a299a728580c24fb9b2c02aa2de13/marbles.mixins-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "45ebf57f9e39bf93916078e0de7ea972", "sha256": "3ef440f1e02d24df8b4546409c875a663e52dc4218df35cbaca985537455f80b" }, "downloads": -1, "filename": "marbles.mixins-0.9.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "45ebf57f9e39bf93916078e0de7ea972", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14476, "upload_time": "2018-06-03T23:08:07", "url": "https://files.pythonhosted.org/packages/2f/b4/97e945e5570f3bcedaf17cfa01ca1a0b8c750075c04f2487af849a70a638/marbles.mixins-0.9.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "51a9e45e791d1ae64311b6450dec0131", "sha256": "e6cddfe4ef2082e643aec89ebdc36cab539d97edee0044fe81b8e8009f59f325" }, "downloads": -1, "filename": "marbles.mixins-0.9.4.tar.gz", "has_sig": false, "md5_digest": "51a9e45e791d1ae64311b6450dec0131", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13916, "upload_time": "2018-06-03T23:08:10", "url": "https://files.pythonhosted.org/packages/b4/df/81abcac05a9976903da94e4c1c5d46dc1f24d4fef15a8ad9efdc8f795117/marbles.mixins-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "624cc216dae3fdc6168618fe00a9cf78", "sha256": "aa00bf9db0de28c2bee045c3f067b1bc4c7e06b38ca41b8c81c49831b23858b8" }, "downloads": -1, "filename": "marbles.mixins-0.9.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "624cc216dae3fdc6168618fe00a9cf78", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14474, "upload_time": "2018-06-24T22:26:14", "url": "https://files.pythonhosted.org/packages/6d/06/dc9e57f1730938833ef14fb2769086c04c25ab3f2ada76967b0a2a45ba28/marbles.mixins-0.9.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d45e1b08ebe21cf636734ffc2853d908", "sha256": "8ccc01b292f44ebbaa2e38d7bd3bd14dd69eab756d310e1acd3c606bdfbc770f" }, "downloads": -1, "filename": "marbles.mixins-0.9.5.tar.gz", "has_sig": false, "md5_digest": "d45e1b08ebe21cf636734ffc2853d908", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13915, "upload_time": "2018-06-24T22:26:17", "url": "https://files.pythonhosted.org/packages/4f/6c/d8b4d4463a9359c4c293a5a08c4291a3ba6a6d1f8fa549ab1d11af6bb2e2/marbles.mixins-0.9.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f8f52f99b60c4a7dd90bbb397ca7e77c", "sha256": "947b59ae6fdc0be098e33b54c7ac556e1bf0147412706021843727c11e80ac72" }, "downloads": -1, "filename": "marbles.mixins-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8f52f99b60c4a7dd90bbb397ca7e77c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14219, "upload_time": "2018-09-24T02:39:07", "url": "https://files.pythonhosted.org/packages/ae/9f/3a1053f741af5b7d2fdf24eb14420670432b3b1b4873eee45cdf48ab27d2/marbles.mixins-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b6840d6c00d6d3b5a7c645d236a8359", "sha256": "d8fd3034429ebec5fef1b91e790937c656db3c7143135a92f7ae0a054e5979af" }, "downloads": -1, "filename": "marbles.mixins-0.10.0.tar.gz", "has_sig": false, "md5_digest": "9b6840d6c00d6d3b5a7c645d236a8359", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13351, "upload_time": "2018-09-24T02:39:11", "url": "https://files.pythonhosted.org/packages/74/60/aebf3dc51e983d7239f434d77187a0c9986894773f203ba4a8ff33d1b046/marbles.mixins-0.10.0.tar.gz" } ] }