{ "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.core", "package_url": "https://pypi.org/project/marbles.core/", "platform": "", "project_url": "https://pypi.org/project/marbles.core/", "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.core/0.10.0/", "requires_dist": [ "coverage; extra == 'dev'", "flake8; extra == 'dev'", "flake8-per-file-ignores; extra == 'dev'" ], "requires_python": ">=3.5,<3.8", "summary": "A unittest extension that provides additional information on test failure", "version": "0.10.0" }, "last_serial": 4303382, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "957f0be7256386c99baf3b34b5e05fcc", "sha256": "ec2262997be17594a71ef9ec884e70d4fec5c66233dd29fcb7aad2731e334ad8" }, "downloads": -1, "filename": "marbles.core-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "957f0be7256386c99baf3b34b5e05fcc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5,<3.8", "size": 22235, "upload_time": "2018-09-24T02:39:06", "url": "https://files.pythonhosted.org/packages/ec/61/a40b57f9b29a4f49d2628f757a4b39b91501ec670a542c52e9461fa20c81/marbles.core-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "502672ab56505641a1662c8fa7f89910", "sha256": "41c059f9cc8208d910dcfcaa7c8c1cb11a15c643f4f0a6285c269c5a2283c9c6" }, "downloads": -1, "filename": "marbles.core-0.10.0.tar.gz", "has_sig": false, "md5_digest": "502672ab56505641a1662c8fa7f89910", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<3.8", "size": 17410, "upload_time": "2018-09-24T02:39:10", "url": "https://files.pythonhosted.org/packages/de/81/f75c1a88e66403834a4c8c730d5f223f8a478f1175f02133324b20f3b391/marbles.core-0.10.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "8800eebf78fbad718a6c25d34ab20438", "sha256": "5dcb06ee3852284b6cb101a393ee68f2cb1a4a953032eae50ca7c3339df55219" }, "downloads": -1, "filename": "marbles.core-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8800eebf78fbad718a6c25d34ab20438", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20934, "upload_time": "2018-05-20T01:20:30", "url": "https://files.pythonhosted.org/packages/38/83/4612b0aae8636793761a78ab27bf8c6b9af5c7ab1a74ce9123dbf4521c42/marbles.core-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f00525389e5d90a48a89e67b10965bdc", "sha256": "2365de79c0fe8a2d0a95c797259bc4655f2c7115d4eaaaee81ecf47af23b268a" }, "downloads": -1, "filename": "marbles.core-0.9.1.tar.gz", "has_sig": false, "md5_digest": "f00525389e5d90a48a89e67b10965bdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14053, "upload_time": "2018-05-20T01:20:33", "url": "https://files.pythonhosted.org/packages/5c/a8/63137845837767e0417d31fea23426f734416d6642261787a0d418287d3b/marbles.core-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "90d1c37fad0305f68882ce219f80a95c", "sha256": "843115d643d98daad27be0428fa70a559b00578411c9161908abf4fcf29685ef" }, "downloads": -1, "filename": "marbles.core-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "90d1c37fad0305f68882ce219f80a95c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20934, "upload_time": "2018-05-20T01:40:50", "url": "https://files.pythonhosted.org/packages/03/8c/810b595813f991e1ea0107be0addfb10fca526aaf5c0e706e5dfa2595b83/marbles.core-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b40b31e0a0fea063b00548ca736e202", "sha256": "b4522d7caf54bf7563eac6d41236b03cedd087deff94539e19346d54e146e80b" }, "downloads": -1, "filename": "marbles.core-0.9.2.tar.gz", "has_sig": false, "md5_digest": "7b40b31e0a0fea063b00548ca736e202", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14057, "upload_time": "2018-05-20T01:40:53", "url": "https://files.pythonhosted.org/packages/36/1d/79b68181117eb8c824869fc343336b3db2b3d1e15dcbff024ebab6223d50/marbles.core-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "57951ed1deaa624bd16b996b6360eac7", "sha256": "edda0d8cd5bc82fcb3c9d064bdac87a0bd06b0cf006f8407e031c25f5db41f40" }, "downloads": -1, "filename": "marbles.core-0.9.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "57951ed1deaa624bd16b996b6360eac7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4,<3.7", "size": 22391, "upload_time": "2018-06-02T15:24:53", "url": "https://files.pythonhosted.org/packages/92/93/8f1a6a64789cf1b1d7611ecc4cc3709b9546bf8038c196c335cffd9f4fa2/marbles.core-0.9.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "462145370a73b313904557d1a8204b56", "sha256": "e550bbeb09c0874b6ab53b9a2c1e54cda11b8e3b89e6fc274be79797815ff647" }, "downloads": -1, "filename": "marbles.core-0.9.3.tar.gz", "has_sig": false, "md5_digest": "462145370a73b313904557d1a8204b56", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<3.7", "size": 16749, "upload_time": "2018-06-02T15:24:57", "url": "https://files.pythonhosted.org/packages/5e/13/83cf2a4b7b070410d50e6adc1dac2f7999774e63fa7c859af6ca14062887/marbles.core-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "ce5b48275dff76122c2e84731ad6e3a2", "sha256": "36b7468faf007a09ff78be6259ef5dcf69365fbb78303fa41f023b5da2088e3b" }, "downloads": -1, "filename": "marbles.core-0.9.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ce5b48275dff76122c2e84731ad6e3a2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4,<3.7", "size": 22423, "upload_time": "2018-06-03T23:08:06", "url": "https://files.pythonhosted.org/packages/c9/81/ac2501006da3b18fa79328209239a71c8632838a70611790bfb352d78aa1/marbles.core-0.9.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "61eeca4584036bcb5d56f303c31eb7b1", "sha256": "bdf3462e6387bb485256b072b52e5096e8350df4da3a8edc2c602aea232dc950" }, "downloads": -1, "filename": "marbles.core-0.9.4.tar.gz", "has_sig": false, "md5_digest": "61eeca4584036bcb5d56f303c31eb7b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<3.7", "size": 16113, "upload_time": "2018-06-03T23:08:10", "url": "https://files.pythonhosted.org/packages/0f/24/aab8a2eee14b505247bbb504fbd9a5cb0e9d2aee6f66060793407ab554af/marbles.core-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "c32786c7cddbfbd6bf846108b7389fca", "sha256": "c74a71b057c916f2ee04e4edd5f18341f77adf23c63653470cc94a9665f97dd1" }, "downloads": -1, "filename": "marbles.core-0.9.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c32786c7cddbfbd6bf846108b7389fca", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4,<3.7", "size": 22423, "upload_time": "2018-06-24T22:26:13", "url": "https://files.pythonhosted.org/packages/f3/f0/fa1606f3a3e2747a8e9fce3deb7483a5dbccf2b1bcee904e68d99cc52542/marbles.core-0.9.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d09d3031586e7b354e663e957e5baf1", "sha256": "8ad74933fd081e24f8ef959b43a210e16814e31ce11015b65ac72f99c3be5ff6" }, "downloads": -1, "filename": "marbles.core-0.9.5.tar.gz", "has_sig": false, "md5_digest": "3d09d3031586e7b354e663e957e5baf1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<3.7", "size": 16113, "upload_time": "2018-06-24T22:26:16", "url": "https://files.pythonhosted.org/packages/f2/08/6d2fd65d0482720dd5cacca83acc39b3440e0d7cf1943edca582f6ea5c6d/marbles.core-0.9.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "957f0be7256386c99baf3b34b5e05fcc", "sha256": "ec2262997be17594a71ef9ec884e70d4fec5c66233dd29fcb7aad2731e334ad8" }, "downloads": -1, "filename": "marbles.core-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "957f0be7256386c99baf3b34b5e05fcc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5,<3.8", "size": 22235, "upload_time": "2018-09-24T02:39:06", "url": "https://files.pythonhosted.org/packages/ec/61/a40b57f9b29a4f49d2628f757a4b39b91501ec670a542c52e9461fa20c81/marbles.core-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "502672ab56505641a1662c8fa7f89910", "sha256": "41c059f9cc8208d910dcfcaa7c8c1cb11a15c643f4f0a6285c269c5a2283c9c6" }, "downloads": -1, "filename": "marbles.core-0.10.0.tar.gz", "has_sig": false, "md5_digest": "502672ab56505641a1662c8fa7f89910", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<3.8", "size": 17410, "upload_time": "2018-09-24T02:39:10", "url": "https://files.pythonhosted.org/packages/de/81/f75c1a88e66403834a4c8c730d5f223f8a478f1175f02133324b20f3b391/marbles.core-0.10.0.tar.gz" } ] }