{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. image:: https://raw.githubusercontent.com/ClearcodeHQ/matchbox/master/logo.png\n :width: 100px\n :height: 150px\n\nmatchbox\n========\n\n.. image:: https://img.shields.io/pypi/v/matchbox.svg\n :target: https://pypi.python.org/pypi/matchbox/\n :alt: Latest PyPI version\n\n.. image:: https://readthedocs.org/projects/matchbox/badge/?version=v1.0.0\n :target: http://matchbox.readthedocs.org/en/v1.0.0/\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/wheel/matchbox.svg\n :target: https://pypi.python.org/pypi/matchbox/\n :alt: Wheel Status\n\n.. image:: https://img.shields.io/pypi/pyversions/matchbox.svg\n :target: https://pypi.python.org/pypi/matchbox/\n :alt: Supported Python Versions\n\n.. image:: https://img.shields.io/pypi/l/matchbox.svg\n :target: https://pypi.python.org/pypi/matchbox/\n :alt: License\n\nPackage status\n--------------\n\n.. image:: https://travis-ci.org/ClearcodeHQ/matchbox.svg?branch=v1.0.0\n :target: https://travis-ci.org/ClearcodeHQ/matchbox\n :alt: Tests\n\n.. image:: https://coveralls.io/repos/ClearcodeHQ/matchbox/badge.png?branch=v1.0.0\n :target: https://coveralls.io/r/ClearcodeHQ/matchbox?branch=v1.0.0\n :alt: Coverage Status\n\nMatchbox is a simple python library designed to make selecting object, or object's set based on\n required characteristics quick operation. No iterating, and no value checking on actual objects,\n just select and operations on dictionaries.\n\n\nPackage resources\n-----------------\n\n* Bug tracker: https://github.com/ClearcodeHQ/matchbox/issues\n* Documentation: http://matchbox.readthedocs.org/\n* Benchmarks: http://clearcodehq.github.io/matchbox/\n\n\nCHANGELOG\n=========\n\n1.1.1\n----------\n\nMisc\n++++\n\n- Run tests on python 3.10\n\n1.1.0\n----------\n\nFeature\n+++++++\n\n- Add support for python 3.9\n- Replace NamedTuple usage with dataclass for the Trait class\n- Support `PEP 561 `_\n\n1.0.0\n----------\n\n- [enhancement] support only python 3.7 and up\n- [enhancement] Add type hints\n- small code enhancement during adding matching entities to boxes\n- remove method - ability to remove entity from already built box\n- fix license information\n\n0.3.0\n----------\n\n- added short glossary\n- updated docs to reflect naming changes\n- rewritten usage\n- renamed various object's usages and index_object to entity [thanks Michael Sweeney]\n- renamed characteristics_value and value references to traits, as in Characteristic's trait. [thanks Michael Sweeney]\n- renamed MatchBox.not_matching method into MatchBox.mismatch - signature remained the same.\n- only None and empty list will be treated as a value not used for matching\n- added repr method to box\n- renamed exclude_unknown to mismatch_unknown to clarify set's meaning\n- Extracted indexing logic from MatchBox to a base class.\n\n0.2.0\n----------\n\n- extended tests to cover python 3.5\n- merge MultiMatchBox into MatchBox - now anyone extending MatchBoxes will be able to work with value extractors rather than re-implementing MatchBoxes.\n\n0.1.0\n----------\n\n- MatchBox - single value based Matching Box\n- MultiMatchBox - multivalue based Matching Box\n- package structure\n- documentation\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/ClearcodeHQ/matchbox", "keywords": "index,match,set,hashmap", "license": "LGPLv3+", "maintainer": "Grzegorz \u015aliwi\u0144ski", "maintainer_email": "fizyk+pypi@fizyk.net.pl", "name": "matchbox", "package_url": "https://pypi.org/project/matchbox/", "platform": "", "project_url": "https://pypi.org/project/matchbox/", "project_urls": { "Homepage": "https://github.com/ClearcodeHQ/matchbox" }, "release_url": "https://pypi.org/project/matchbox/1.1.1/", "requires_dist": [ "sphinx ; extra == 'docs'", "pytest ; extra == 'tests'", "pytest-cov ; extra == 'tests'", "pytest-benchmark ; extra == 'tests'" ], "requires_python": ">=3.7", "summary": "Abstraction layer for creating hash maps to speed up extracting subsets out of objects in collection", "version": "1.1.1", "yanked": false, "yanked_reason": null }, "last_serial": 12766902, "releases": { "0.0.0": [], "0.1.0": [ { "comment_text": "", "digests": { "md5": "91b11649509c2262db088b12a65f9c94", "sha256": "50fe38ac84dd214017b0f55b2c674b3997d8aadb321b24d7b6af72312970faa2" }, "downloads": -1, "filename": "matchbox-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91b11649509c2262db088b12a65f9c94", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 7884, "upload_time": "2015-09-18T20:10:46", "upload_time_iso_8601": "2015-09-18T20:10:46.046378Z", "url": "https://files.pythonhosted.org/packages/18/f0/45ab6fe089156c529f4b56790ae7b63abcf0973a73e928a94cd2b8961097/matchbox-0.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "174107de7445e954136913ccb7137ec4", "sha256": "abfbcf608918dd853e749182cc1a2b51cd2071961bfb58ce2bf12a95d995a974" }, "downloads": -1, "filename": "matchbox-0.1.0.tar.gz", "has_sig": false, "md5_digest": "174107de7445e954136913ccb7137ec4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12952, "upload_time": "2015-09-18T20:10:31", "upload_time_iso_8601": "2015-09-18T20:10:31.333023Z", "url": "https://files.pythonhosted.org/packages/6b/08/26542e82616df6020ffda69bcff39bf3c1b38eb50add4b15bbf716fc437a/matchbox-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9ff2483d58f6a92d01a9cdec94443f58", "sha256": "12cea2d62d05cfdbef172d2250d7e5b067e91a87e373cfaa0364f026988a2f22" }, "downloads": -1, "filename": "matchbox-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9ff2483d58f6a92d01a9cdec94443f58", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7136, "upload_time": "2015-10-19T10:24:43", "upload_time_iso_8601": "2015-10-19T10:24:43.642432Z", "url": "https://files.pythonhosted.org/packages/09/97/f2f896ffb71031627d3f062a887fe67e138c0ac6e4048c4482df8c07fc2f/matchbox-0.2.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bc59c0598e8611b0b91968abf420a317", "sha256": "e39490795bbcab03395abf06bc23e9c0acc2e23a71ec627c8554df5b40270c1f" }, "downloads": -1, "filename": "matchbox-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bc59c0598e8611b0b91968abf420a317", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12744, "upload_time": "2015-10-19T10:24:47", "upload_time_iso_8601": "2015-10-19T10:24:47.347892Z", "url": "https://files.pythonhosted.org/packages/b0/9a/297e7d270ef6c768a268e5268527337b52d1d5516374f6bc5b286c10ed95/matchbox-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "473221d4fe78eb99168d2057e0ad4e82", "sha256": "f7820957bfd5ba176d59659a024b7006895f69b38980a11bce288aab856d0eb6" }, "downloads": -1, "filename": "matchbox-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "473221d4fe78eb99168d2057e0ad4e82", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9406, "upload_time": "2016-02-11T20:58:05", "upload_time_iso_8601": "2016-02-11T20:58:05.238627Z", "url": "https://files.pythonhosted.org/packages/e9/86/b437b9232e9703b83032ba294c5bcfc9b5aa57ebcee8eed1c827b44f2acd/matchbox-0.3.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "eed4d9fd219d38e0c1d7fad416732751", "sha256": "87c73aef77e4a68d18a22c88181b8b39824a1e5f22545d7ae2b7d4c2f4a02a6f" }, "downloads": -1, "filename": "matchbox-0.3.0.tar.gz", "has_sig": false, "md5_digest": "eed4d9fd219d38e0c1d7fad416732751", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15485, "upload_time": "2016-02-11T20:58:17", "upload_time_iso_8601": "2016-02-11T20:58:17.949785Z", "url": "https://files.pythonhosted.org/packages/57/7a/39468e5cf3728973074f545e9287e359edeb0807f59133d754b633517b1a/matchbox-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "0d5d46712b7b67f6fa7af9e2f3838766", "sha256": "d0fd3d386f915e4a47ff210bd507244610917c561c330220d2f00958f084732f" }, "downloads": -1, "filename": "matchbox-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0d5d46712b7b67f6fa7af9e2f3838766", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 10946, "upload_time": "2019-10-25T13:01:25", "upload_time_iso_8601": "2019-10-25T13:01:25.380938Z", "url": "https://files.pythonhosted.org/packages/78/f2/20b41fadb12e55acf0287aaf7125a9c67a79c51d59db266295653adc95e6/matchbox-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "0236baf241cbc09351ed70c71ab2432e", "sha256": "41536430297461fe8136e0f8712615f7d348d83fbbeb972b23105f68f76f1299" }, "downloads": -1, "filename": "matchbox-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0236baf241cbc09351ed70c71ab2432e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11097, "upload_time": "2021-06-08T14:45:06", "upload_time_iso_8601": "2021-06-08T14:45:06.575789Z", "url": "https://files.pythonhosted.org/packages/cf/f1/bd1f755914ccf32b5cc650ce19ce71ad9a3802c6ef50e5d88856e53c67f8/matchbox-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f9485dbd165bb25bed125435823ee85c", "sha256": "485e461fc9041892fcc629bb06117362f607ed88b1ce9accb3b5759fa22c0cc7" }, "downloads": -1, "filename": "matchbox-1.1.0.tar.gz", "has_sig": false, "md5_digest": "f9485dbd165bb25bed125435823ee85c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 20089, "upload_time": "2021-06-08T14:45:07", "upload_time_iso_8601": "2021-06-08T14:45:07.770426Z", "url": "https://files.pythonhosted.org/packages/4f/88/0046b685c09b9e8bb0769ff4cf40df7c73a8bad5b617fc5a62fc4748fc26/matchbox-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "7dae0646b0d3d71d463d78cdbbcdcb5b", "sha256": "6f68a9878bdc1dbf20ac7d583a62a27b02a73d2ca8fea2beda7987bc4994fbe5" }, "downloads": -1, "filename": "matchbox-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7dae0646b0d3d71d463d78cdbbcdcb5b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11142, "upload_time": "2022-02-02T15:59:12", "upload_time_iso_8601": "2022-02-02T15:59:12.293711Z", "url": "https://files.pythonhosted.org/packages/0a/e4/c7c292893214d3bbee1b4dbd84db451033e714b7e6d17a24d4979598581a/matchbox-1.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "36f740f28179c3be794e2e454410c66e", "sha256": "fffbce03cefa8cf4ba16af07975bf6cb4bd5f1a07ef14a77cfaa5d9199fd3ebf" }, "downloads": -1, "filename": "matchbox-1.1.1.tar.gz", "has_sig": false, "md5_digest": "36f740f28179c3be794e2e454410c66e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 20179, "upload_time": "2022-02-02T15:59:13", "upload_time_iso_8601": "2022-02-02T15:59:13.696070Z", "url": "https://files.pythonhosted.org/packages/64/1a/0b574fdbab071a196afece15613696a4e09ec6f1f648f8d4c3b6f3852225/matchbox-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7dae0646b0d3d71d463d78cdbbcdcb5b", "sha256": "6f68a9878bdc1dbf20ac7d583a62a27b02a73d2ca8fea2beda7987bc4994fbe5" }, "downloads": -1, "filename": "matchbox-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7dae0646b0d3d71d463d78cdbbcdcb5b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11142, "upload_time": "2022-02-02T15:59:12", "upload_time_iso_8601": "2022-02-02T15:59:12.293711Z", "url": "https://files.pythonhosted.org/packages/0a/e4/c7c292893214d3bbee1b4dbd84db451033e714b7e6d17a24d4979598581a/matchbox-1.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "36f740f28179c3be794e2e454410c66e", "sha256": "fffbce03cefa8cf4ba16af07975bf6cb4bd5f1a07ef14a77cfaa5d9199fd3ebf" }, "downloads": -1, "filename": "matchbox-1.1.1.tar.gz", "has_sig": false, "md5_digest": "36f740f28179c3be794e2e454410c66e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 20179, "upload_time": "2022-02-02T15:59:13", "upload_time_iso_8601": "2022-02-02T15:59:13.696070Z", "url": "https://files.pythonhosted.org/packages/64/1a/0b574fdbab071a196afece15613696a4e09ec6f1f648f8d4c3b6f3852225/matchbox-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }