{ "info": { "author": "Lukasz Balcerzak", "author_email": "lukaszbalcerzak@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Pytest" ], "description": "# pytest-dictsdiff\n\n\n## Installation\n\n $ pip install pytest-dictsdiff\n\n## Usage\n\n\nAt your test use `dicts_are_same` fixture and use it to compare two\nobjects:\n\n```python\n\ndef test_dicts(dicts_are_same):\n dict1 = {'a': 1, 'b': 2, 'c': {'d': 4, 'e': 5}}\n dict2 = {'a': 100, 'f': 2, 'c': {'d': 400, 'g': 5}}\n assert dicts_are_same(dict1, dict2)\n```\n\nOr compare objects using direct function call:\n\n```python\nfrom pytest_dictsdiff import check_objects\n\n\ndef test_dicts():\n dict1 = {'a': 1, 'b': 2, 'c': {'d': 4, 'e': 5}}\n dict2 = {'a': 100, 'f': 2, 'c': {'d': 400, 'g': 5}}\n assert check_objects(dict1, dict2)\n```\n\n## Todos\n\n- [ ] Use `pprint` instead of `json` when showing objects (currently it would fail\n if data would contain any non-json-serializable objects)\n\n\n## Example\n\nSave following snippet as `dicts.py` and run `pytest dicts.py`.\n\n```python\nfrom collections import OrderedDict\n\n\nRESULT = OrderedDict({\n \"cell\": \"(056)-022-8631\",\n \"dob\": {\n \"age\": 44,\n \"date\": \"1983-11-04T01:21:14Z\"\n },\n \"email\": \"zeyneb.elfring@example.com\",\n \"gender\": \"female\",\n \"id\": {\n \"name\": \"BSN\",\n \"value\": \"36180866\"\n },\n \"location\": {\n \"city\": \"tholen\",\n \"coordinates\": {\n \"latitude\": \"46.8823\",\n \"longitude\": \"175.8856\"\n },\n \"postcode\": 64504,\n \"state\": \"groningen\",\n \"street\": \"2074 adriaen van ostadelaan\",\n \"timezone\": {\n \"description\": \"Adelaide, Darwin\",\n \"offset\": \"+9:30\"\n }\n },\n \"login\": {\n \"md5\": \"bafe8cf9d37806a7b13edc218d5ff762\",\n \"password\": \"ontario\",\n \"salt\": \"QVBKgEjy\",\n \"sha1\": \"cacef09ff61072d1c55732963766fa84e919aa7a\",\n \"sha256\": \"cc86af47aedbdbb1de73ff10484996fe9785c47c0fc191b7c67eaf71e0782300\",\n \"username\": \"smallgorilla897\",\n \"uuid\": \"37e30c59-bc79-4172-aac6-e2c640e165fa\"\n },\n \"name\": {\n \"first\": \"zeyneb\",\n \"last\": \"elfring\",\n \"title\": \"mrs\"\n },\n \"nat\": \"NL\",\n \"phone\": \"(209)-143-9697\",\n \"picture\": {\n \"large\": \"https://randomuser.me/api/portraits/women/37.jpg\",\n \"medium\": \"https://randomuser.me/api/portraits/med/women/37.jpg\",\n \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/37.jpg\"\n },\n \"registered\": {\n \"age\": 3,\n \"date\": \"2014-12-07T06:54:14Z\"\n }\n})\n\nEXPECTED_DATA = {\n \"cell\": \"(056)-022-8631\",\n \"dob\": {\n \"age\": 34,\n \"date\": \"1953-11-04T01:21:04Z\"\n },\n \"email\": \"zeyneb.elfring@example.com\",\n \"gender\": \"female\",\n \"id\": {\n \"name\": \"BSN\",\n \"value\": \"36180866\"\n },\n \"location\": {\n \"city\": \"Tholen\",\n \"coordinates\": {\n \"latitude\": \"46.8823\",\n \"longitude\": \"175.8856\"\n },\n \"postcode\": 64509,\n \"state\": \"groningen\",\n \"street\": \"2074 adriaen van ostadelaan\",\n \"timezone\": {\n \"description\": \"Adelaide, Darwin\",\n \"offset\": \"+9:30\"\n }\n },\n \"login\": {\n \"md5\": \"bafe8cf9d37806a7b13edc218d5ff762\",\n \"password\": \"ontario\",\n \"salt\": \"QVBKgEjy\",\n \"sha1\": \"cacef09ff61072d1c55732963766fa84e919aa7a\",\n \"sha256\": \"cc86af47aedbdbb1de73ff10484996fe9785c47c0fc191b7c67eaf71e0782300\",\n \"username\": \"smallgorilla897\",\n \"uuid\": \"37e30c59-bc79-4172-aac6-e2c640e165fa\"\n },\n \"name\": {\n \"first\": \"Zeyneb\",\n \"last\": \"Elfring\",\n \"title\": \"mrs\"\n },\n \"nat\": \"NL\",\n \"phone\": \"(209)-143-9697\",\n \"picture\": {\n \"large\": \"https://randomuser.me/api/portraits/women/37.jpg\",\n \"medium\": \"https://randomuser.me/api/portraits/med/women/37.jpg\",\n \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/37.jpg\"\n },\n \"registered\": {\n \"age\": 3,\n \"date\": \"2014-12-07T06:54:14Z\"\n }\n}\n\n\ndef test_compare_dicts(dicts_are_same):\n assert dicts_are_same(RESULT, EXPECTED_DATA)\n\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pytest-dictsdiff", "package_url": "https://pypi.org/project/pytest-dictsdiff/", "platform": "", "project_url": "https://pypi.org/project/pytest-dictsdiff/", "project_urls": null, "release_url": "https://pypi.org/project/pytest-dictsdiff/0.5.8/", "requires_dist": [ "dictdiffer" ], "requires_python": "", "summary": "", "version": "0.5.8" }, "last_serial": 5589026, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "b860428ddf1b0c190cfd61bf14435218", "sha256": "dbde5cb6d6fe61c8293e3f5c6ae427a6b6d88039c48a08898768ee5791e796cc" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.tar.gz", "has_sig": false, "md5_digest": "b860428ddf1b0c190cfd61bf14435218", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2498, "upload_time": "2018-06-19T07:52:07", "url": "https://files.pythonhosted.org/packages/b7/69/fec76a53e852480748192d7ee1f463c7fa035be4a7faf83e400c4d1f0087/pytest-dictsdiff-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "06eff1052ec701ced552c9391e27ec71", "sha256": "8a726d25bbcf712a250e6b9f9c41686ec57efb6cdb7823a20561f207e965f159" }, "downloads": -1, "filename": "pytest_dictsdiff-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "06eff1052ec701ced552c9391e27ec71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5091, "upload_time": "2018-06-19T07:59:49", "url": "https://files.pythonhosted.org/packages/c0/52/a93b65c222f28d02d218a1aaa3b38f511a536a151bbc5ec020d1790c8ad2/pytest_dictsdiff-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dbc9b8abe4f46c458f098d0478817d95", "sha256": "4f71ab32859f8f5eff54a1e690f201d5e89b418bb911a606d72fd2ef0b9fc8e8" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.1.tar.gz", "has_sig": false, "md5_digest": "dbc9b8abe4f46c458f098d0478817d95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2892, "upload_time": "2018-06-19T07:54:11", "url": "https://files.pythonhosted.org/packages/d4/00/d619b8612ff9713df204949c0302f45c5dad2ca770a95ddbe17b72e3cede/pytest-dictsdiff-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "aae5ed1dfe7a529c6aa1e238ca1d2712", "sha256": "fcf0b3736965aae941d2fe0f19dcf96dfa30b52e14c2eb57359032f24fad016e" }, "downloads": -1, "filename": "pytest_dictsdiff-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "aae5ed1dfe7a529c6aa1e238ca1d2712", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5091, "upload_time": "2018-06-19T08:00:28", "url": "https://files.pythonhosted.org/packages/8a/c4/9e4c09a19e33b7fee69436fe6e83a6792158e7df53207b6fdf9d0ecd81f9/pytest_dictsdiff-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "673ce2dd84570929d42308c48f36c8d1", "sha256": "8dc120630b1257f1dd07ab652f484441f3fae9a38e0fa1d5f150dbafd5a187bc" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.2.tar.gz", "has_sig": false, "md5_digest": "673ce2dd84570929d42308c48f36c8d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2926, "upload_time": "2018-06-19T08:00:29", "url": "https://files.pythonhosted.org/packages/e5/a9/a2e7b604c8df20e2127dabdb81233bbb6a58e2fba1d63d7b5bec472a42b6/pytest-dictsdiff-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "4a0afce512a3efa3350b6e66ed035332", "sha256": "afc629f14e3dbdfccfd5f8b9c6448c8861a6667896d1eeae613c179fe6b59aad" }, "downloads": -1, "filename": "pytest_dictsdiff-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4a0afce512a3efa3350b6e66ed035332", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3209, "upload_time": "2018-06-19T08:03:38", "url": "https://files.pythonhosted.org/packages/46/d0/489f1f7cb9661217704b6ca46200c30d836432995d44d8c269f0dca38712/pytest_dictsdiff-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f48bc0542f43d816a87822199ec85af", "sha256": "e57521f1594bdff5f313edf3517d19994d2d433b049473e83526f1fab715406c" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.3.tar.gz", "has_sig": false, "md5_digest": "2f48bc0542f43d816a87822199ec85af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2921, "upload_time": "2018-06-19T08:03:40", "url": "https://files.pythonhosted.org/packages/8a/df/fcfcfe76ad716cf89292279bff3008b12d69455bce6f41ab6045799d9cac/pytest-dictsdiff-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "aa553474c1587d09d6205fedd1a3ef3c", "sha256": "282394a18bb6b65f6b2a15c3a09f46f5bad3355aa8b1fb22e550854ac4611339" }, "downloads": -1, "filename": "pytest_dictsdiff-0.5.4-py3-none-any.whl", "has_sig": false, "md5_digest": "aa553474c1587d09d6205fedd1a3ef3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3209, "upload_time": "2018-06-19T08:04:25", "url": "https://files.pythonhosted.org/packages/25/f7/aa21ecf65524e3214d1dbe0fb0a0251c68b6688d44a279339ca55a8f401e/pytest_dictsdiff-0.5.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c33d505aeabd19491928e6602e034728", "sha256": "daf530bebe2057555f197c0f77b9b4fddbb28e58f1366c9d0999a13e7cdd1919" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.4.tar.gz", "has_sig": false, "md5_digest": "c33d505aeabd19491928e6602e034728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2930, "upload_time": "2018-06-19T08:04:26", "url": "https://files.pythonhosted.org/packages/c7/76/c8cccd14c37e14c3da25ca02dd05adfd6cd054807022a8af8f6b67860572/pytest-dictsdiff-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "fd790139b26313cab4a4686e7a642d4d", "sha256": "68964d017f694c412a9e510ce24d7d0695b1b067c54d8cdf346d21d09a7599f9" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.5.tar.gz", "has_sig": false, "md5_digest": "fd790139b26313cab4a4686e7a642d4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2986, "upload_time": "2018-08-14T17:53:12", "url": "https://files.pythonhosted.org/packages/f4/14/289f25df130d6c620e441c489c492864a27ca2cb9e7353d64b2287eb2f1e/pytest-dictsdiff-0.5.5.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "5b1e07d17a3cc9d7f56cc3464a8634f5", "sha256": "5a3e319d98712c15b1014aab5d261cfffb58516b5131be5f0256b22016d186fe" }, "downloads": -1, "filename": "pytest_dictsdiff-0.5.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5b1e07d17a3cc9d7f56cc3464a8634f5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3327, "upload_time": "2019-07-26T12:44:41", "url": "https://files.pythonhosted.org/packages/09/eb/f988bb4d896a8af560ac8f81b3afc3730b3b7c85718e645b298b7338c202/pytest_dictsdiff-0.5.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7454191d4a5c29cbb0c905c055f6ee64", "sha256": "3ae48c58f22046c5467454ab9955d38e55a9422d9e802b33b2a49dc504e286ca" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.6.tar.gz", "has_sig": false, "md5_digest": "7454191d4a5c29cbb0c905c055f6ee64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3023, "upload_time": "2018-08-14T17:58:53", "url": "https://files.pythonhosted.org/packages/81/fa/1a04661396d3bf09e89d08a2039481b44c9dd9ca00a547972bb5a0850c0b/pytest-dictsdiff-0.5.6.tar.gz" } ], "0.5.7": [ { "comment_text": "", "digests": { "md5": "a61a7d28594d863136555773a17816e9", "sha256": "6ff9335e1469b0a7c9e260b7a1a48bc497497e81972a0460aba043505a14b163" }, "downloads": -1, "filename": "pytest_dictsdiff-0.5.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a61a7d28594d863136555773a17816e9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3327, "upload_time": "2019-07-26T12:53:55", "url": "https://files.pythonhosted.org/packages/17/7d/d8fd3f05dedfb330a32de23975e81d44a301723faca0d8b12440346ff329/pytest_dictsdiff-0.5.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a3a07d7a9485c5551545455e6f1349c", "sha256": "77b6412ec3425a21ff145f1fdee0fed22842af2a9bd0402d32416888889e182e" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.7.tar.gz", "has_sig": false, "md5_digest": "9a3a07d7a9485c5551545455e6f1349c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3026, "upload_time": "2019-07-26T12:53:56", "url": "https://files.pythonhosted.org/packages/be/a6/97b7902cb6133ce5af52e6fd3bbe2c5fa1d50921513948cecc49ddd499b0/pytest-dictsdiff-0.5.7.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "86e2941c74fcee5df3b1ae15f2083bc9", "sha256": "8e3f4247a3610b67ddd32d2fbe31e955e55460f7b44974f31eacf0d8c326b84f" }, "downloads": -1, "filename": "pytest_dictsdiff-0.5.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86e2941c74fcee5df3b1ae15f2083bc9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3395, "upload_time": "2019-07-26T13:21:15", "url": "https://files.pythonhosted.org/packages/ab/65/d0266d41ca95602ec2b2c055c158c9cce615871f254b801df41cb9a42878/pytest_dictsdiff-0.5.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b0a300661f930ab7c26878c44f1d7d6", "sha256": "3fca5c706232ab723ab2a06b41c195a6abf1f0df56fb3bf67d6bc83a305dd659" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.8.tar.gz", "has_sig": false, "md5_digest": "6b0a300661f930ab7c26878c44f1d7d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3097, "upload_time": "2019-07-26T13:21:17", "url": "https://files.pythonhosted.org/packages/c0/0c/09d1386308ad7edc2993a8aee8981a76603058c756db50d16cb4cdfe45e4/pytest-dictsdiff-0.5.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "86e2941c74fcee5df3b1ae15f2083bc9", "sha256": "8e3f4247a3610b67ddd32d2fbe31e955e55460f7b44974f31eacf0d8c326b84f" }, "downloads": -1, "filename": "pytest_dictsdiff-0.5.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86e2941c74fcee5df3b1ae15f2083bc9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3395, "upload_time": "2019-07-26T13:21:15", "url": "https://files.pythonhosted.org/packages/ab/65/d0266d41ca95602ec2b2c055c158c9cce615871f254b801df41cb9a42878/pytest_dictsdiff-0.5.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b0a300661f930ab7c26878c44f1d7d6", "sha256": "3fca5c706232ab723ab2a06b41c195a6abf1f0df56fb3bf67d6bc83a305dd659" }, "downloads": -1, "filename": "pytest-dictsdiff-0.5.8.tar.gz", "has_sig": false, "md5_digest": "6b0a300661f930ab7c26878c44f1d7d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3097, "upload_time": "2019-07-26T13:21:17", "url": "https://files.pythonhosted.org/packages/c0/0c/09d1386308ad7edc2993a8aee8981a76603058c756db50d16cb4cdfe45e4/pytest-dictsdiff-0.5.8.tar.gz" } ] }