{ "info": { "author": "Philip Olson", "author_email": "philip.olson@pm.me", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "# All Purpose Set\n\n\n\n
\n\n\n\n**Table of Contents**\n\n- [What is it?](#what-is-it)\n- [Why create it?](#why-create-it)\n- [Simple usage](#simple-usage)\n- [See also](#see-also)\n- [Api](#api)\n- [Test](#test)\n\n\n\n
\n\n### What is it?\n\n- A set which doesn't require hashable contents\n\n
\n\n### Why create it?\n\n- I often have a need to store non-hashable contents in a set. For example\n storing a dict isn't possible with the builtin set.\n\n ```py\n # doesn't work\n someDict = { \"key\": \"value\" }\n someSet = { someDict }\n ```\n\n
\n\n### Simple usage\n\n```py\nfrom all_purpose_set import ApSet\n\nsomeDict = { \"key\": \"value\" }\nsomeSet = ApSet([someDict])\n\nprint(someDict in someSet) # prints True\n```\n\n
\n\n### See also\n\n- [All Purpose Dict](https://github.com/olsonpm/py_all-purpose-dict)\n\n
\n\n### Api\n\n*Note: This api is young and subject to change quite a bit. There also may be\nfunctionality present in the builtin set which this set doesn't cover. I'm\nwilling to add it so please just raise a github issue or PR with details.*\n\n#### class ApSet([a list])\n- all methods return `self` unless specified otherwise\n- iterates in the order of insertion\n- currently the internal methods implemented are\n - \\_\\_contains\\_\\_\n - \\_\\_iter\\_\\_\n - \\_\\_len\\_\\_\n\n##### add(something)\n\n##### clear()\n\n##### has(something) => bool\n- a function alternative to `key in aSet`\n\n##### remove(something)\n- raises a `KeyError` if the element doesn't exist\n\n
\n\n### Test\n\n```sh\n#\n# you must have poetry installed\n#\n$ poetry shell\n$ poetry install\n$ python runTests.py\n```\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/olsonpm/py_all-purpose-set", "keywords": "", "license": "", "maintainer": "Philip Olson", "maintainer_email": "philip.olson@pm.me", "name": "all-purpose-set", "package_url": "https://pypi.org/project/all-purpose-set/", "platform": "", "project_url": "https://pypi.org/project/all-purpose-set/", "project_urls": { "Homepage": "https://github.com/olsonpm/py_all-purpose-set", "Repository": "https://github.com/olsonpm/py_all-purpose-set" }, "release_url": "https://pypi.org/project/all-purpose-set/0.1.10/", "requires_dist": null, "requires_python": ">=3.7,<4.0", "summary": "A set that works with both hashable and non-hashable elements", "version": "0.1.10" }, "last_serial": 5289445, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "bef1a99f87d8004ce30484a49e71310a", "sha256": "281d6e995ada3a6e5908ff71304d4f42e1910c1950867ecd3ae227cc06ea2f8c" }, "downloads": -1, "filename": "all_purpose_set-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bef1a99f87d8004ce30484a49e71310a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 24904, "upload_time": "2019-01-21T04:55:09", "url": "https://files.pythonhosted.org/packages/a7/f0/f96b360cc218a291f09e184bb96e4595b8f8930cc8a04dd61513e8f87491/all_purpose_set-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b6cc2600e40959a5b7718e006e036af", "sha256": "db6cd3ba3b74e219aa15b5fb6684fa7d6a5d54d280c20baa95bf2644270c9607" }, "downloads": -1, "filename": "all_purpose_set-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8b6cc2600e40959a5b7718e006e036af", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 6369, "upload_time": "2019-01-21T04:55:11", "url": "https://files.pythonhosted.org/packages/0c/22/c63e256c6109cc6d47ff9edd311df92dccc61db60df6432c846f4b72769f/all_purpose_set-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d5d2e1e62c07abbd00edaa20aeb6817e", "sha256": "ac94989b3e9a4125c92e5325df13d0257342b804466495cd5814c2665a8f8cc9" }, "downloads": -1, "filename": "all_purpose_set-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d5d2e1e62c07abbd00edaa20aeb6817e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 26631, "upload_time": "2019-01-21T05:01:12", "url": "https://files.pythonhosted.org/packages/77/e2/5a6e9e41e8cdd13ced6c618e437e1912fa38d006fd310475b091581a4510/all_purpose_set-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5877436cd6d688c30bd0efdd872a51ec", "sha256": "3d6b7246cc4959693e532d0382ac621aa28099d8e13f060c3a91ef026033a157" }, "downloads": -1, "filename": "all_purpose_set-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5877436cd6d688c30bd0efdd872a51ec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 8799, "upload_time": "2019-01-21T05:01:14", "url": "https://files.pythonhosted.org/packages/f3/12/d0a54d0a4f87b841378f65950ccae699b0d55bb9aed44bdc8b6ceaf713ae/all_purpose_set-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "ec9bd4eb47c66508eebb73ba0355cb8c", "sha256": "6ea32c0ca5937e22753b4f2d9ac7633fff47c605095f0ff58ae076fc5297cb09" }, "downloads": -1, "filename": "all_purpose_set-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "ec9bd4eb47c66508eebb73ba0355cb8c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 208639, "upload_time": "2019-05-19T20:19:20", "url": "https://files.pythonhosted.org/packages/5f/fa/79ddcc203fe515cab78cc44b637257ca2a20d5e452129da453ae152225fb/all_purpose_set-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83e6254fba7867872aa9549c8112679c", "sha256": "abc26982d71973a1cd27c20eb1e889e228fe26804a5deeffab00ff3cd9dfd6d2" }, "downloads": -1, "filename": "all_purpose_set-0.1.10.tar.gz", "has_sig": false, "md5_digest": "83e6254fba7867872aa9549c8112679c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 178226, "upload_time": "2019-05-19T20:19:21", "url": "https://files.pythonhosted.org/packages/71/04/c14bf8be22f2febc64d34d2789aaad36f1c14012fc32d6059ddcb053a144/all_purpose_set-0.1.10.tar.gz" } ], "0.1.1a1": [ { "comment_text": "", "digests": { "md5": "6cb3696b48ebc1b3bcd9a7e4f095bac6", "sha256": "15339f29cb51afd9aeb2b90ea2d4a3d8a016012d5cadb07de766cc5d35f3c0e3" }, "downloads": -1, "filename": "all_purpose_set-0.1.1a1-py3-none-any.whl", "has_sig": false, "md5_digest": "6cb3696b48ebc1b3bcd9a7e4f095bac6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 24919, "upload_time": "2019-01-21T04:59:18", "url": "https://files.pythonhosted.org/packages/bc/44/7bd34bbb33f5e7889b1afc0d60b0830362b4f3cf35e8c38b2e4810a60de9/all_purpose_set-0.1.1a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "031ecce9e94f8567c2ebf8362d0b7f73", "sha256": "3644155375d6f587acd2cd6615d9e212a4d5585af14f6701a07f989654a5614f" }, "downloads": -1, "filename": "all_purpose_set-0.1.1a1.tar.gz", "has_sig": false, "md5_digest": "031ecce9e94f8567c2ebf8362d0b7f73", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 6371, "upload_time": "2019-01-21T04:59:19", "url": "https://files.pythonhosted.org/packages/2c/35/fba756d9e559a1d3ea3a3240674f935abc97ed0494cd0915f62141e539bb/all_purpose_set-0.1.1a1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "bb4106b26fe206195a768d81eff25a7b", "sha256": "c64742b8c82d36ca3a35be2ec7aaa7c4f61a6322c067123fe5a3ef9d340b8887" }, "downloads": -1, "filename": "all_purpose_set-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bb4106b26fe206195a768d81eff25a7b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 26642, "upload_time": "2019-01-21T06:36:13", "url": "https://files.pythonhosted.org/packages/58/95/344c0d041deedf46c880f788b7392bd27dc4d1e9b8e210ca26aa3e7dc24b/all_purpose_set-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56ed55615eb2b970dd982be2642d1455", "sha256": "8c642fd8bfa11fb068813317239eabc51226d014635c2629c1c45a9c8061a974" }, "downloads": -1, "filename": "all_purpose_set-0.1.2.tar.gz", "has_sig": false, "md5_digest": "56ed55615eb2b970dd982be2642d1455", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 8818, "upload_time": "2019-01-21T06:36:14", "url": "https://files.pythonhosted.org/packages/18/21/50f03844038039bedee12ebef2454dd7a0fe7890972120a32ef89d356b4a/all_purpose_set-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c7d38c29b954e97981ec229f0570e064", "sha256": "29b13dec5aa8f7e823fc8cb069ab25f92f28da064b8b05b8f5cc5679ee13f145" }, "downloads": -1, "filename": "all_purpose_set-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c7d38c29b954e97981ec229f0570e064", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 26643, "upload_time": "2019-01-21T06:38:25", "url": "https://files.pythonhosted.org/packages/6b/4d/f04523e8d4cac5c5eee372a67f76d0b0bd3a2963383567c31ecc26857db6/all_purpose_set-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "783db88057d6ff14135aa4fe4110c545", "sha256": "19a06fd4f74ace61ccf6a6b8727a02fc508f577bbe971db0f25b376bd465d478" }, "downloads": -1, "filename": "all_purpose_set-0.1.3.tar.gz", "has_sig": false, "md5_digest": "783db88057d6ff14135aa4fe4110c545", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 8812, "upload_time": "2019-01-21T06:38:26", "url": "https://files.pythonhosted.org/packages/6a/09/c016527e1f99a98d137cb4927c58d4cb338ff63e01eb1ae3caddedba8373/all_purpose_set-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "74916caeaff079ebb06b14f04b6143d9", "sha256": "90cf1e958fe313516de51a32b16a7a06f23e25dc7db816acfeddb73ea202bdfb" }, "downloads": -1, "filename": "all_purpose_set-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "74916caeaff079ebb06b14f04b6143d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 26689, "upload_time": "2019-01-21T06:55:19", "url": "https://files.pythonhosted.org/packages/34/2b/93f1880a3a98b89afe86bcdb0e087508d67e8e1e466fd845a28b06c1d55b/all_purpose_set-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "890b54172f2aafcb7716604f07866e89", "sha256": "6cda5387bf65a15cbec2cc916daaa6610a1ca8df92d3e898d532dc85a7dba05b" }, "downloads": -1, "filename": "all_purpose_set-0.1.4.tar.gz", "has_sig": false, "md5_digest": "890b54172f2aafcb7716604f07866e89", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 8829, "upload_time": "2019-01-21T06:55:20", "url": "https://files.pythonhosted.org/packages/86/45/cca2c1794de50da44f6848d5da529a52978f4822e4b0bc1d773cd94bc2e3/all_purpose_set-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "a105998d6da10352f46ccc8d0ec54271", "sha256": "89c08544a64b96e37e00c93cfe005f1562c0ad3b58a161bd28b06f1e60e77ab6" }, "downloads": -1, "filename": "all_purpose_set-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a105998d6da10352f46ccc8d0ec54271", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 26635, "upload_time": "2019-01-21T07:57:29", "url": "https://files.pythonhosted.org/packages/12/d9/3cbd932320456644efa57a4fb0dae4cde01e404b7a1591eb95cbf39c138c/all_purpose_set-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc89ced13cfcb39263381bfaea7609f7", "sha256": "8afcdf437a0267003112d11862fbdc4b8437c8fba5e4e98e9acf8e22ab175c92" }, "downloads": -1, "filename": "all_purpose_set-0.1.5.tar.gz", "has_sig": false, "md5_digest": "bc89ced13cfcb39263381bfaea7609f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 8719, "upload_time": "2019-01-21T07:57:30", "url": "https://files.pythonhosted.org/packages/89/ea/0e77b9c4b4ee5af563e89438a2c9c9b378ecece2c26d4accef23feec5b8a/all_purpose_set-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "021718c6c86683111580e6ddd8536ebc", "sha256": "b7b15f1b972ef15df6a64b0bc2ba3a19bc9a3f3ef5a9999aaabdcad25c3b5c8a" }, "downloads": -1, "filename": "all_purpose_set-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "021718c6c86683111580e6ddd8536ebc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 208215, "upload_time": "2019-05-19T19:04:56", "url": "https://files.pythonhosted.org/packages/33/cd/7fa5f8e4b1b16e9c7e08325361f7e193fbf6a01c5cd1dcea8f7e1a5905ff/all_purpose_set-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b6c8b74c641526e0a77e9055cbba898", "sha256": "e31d776b01cc65922d6c2070c45d2f281d6c6d0d78ca17d3b7030a2058585199" }, "downloads": -1, "filename": "all_purpose_set-0.1.6.tar.gz", "has_sig": false, "md5_digest": "4b6c8b74c641526e0a77e9055cbba898", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 178159, "upload_time": "2019-05-19T19:04:58", "url": "https://files.pythonhosted.org/packages/59/75/5c31ec540773bca16a2a356e4c0f813fe5c9da27d2ee87aa366b77c531b1/all_purpose_set-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "de2fe7ab1b7d26b8321eab37863ed897", "sha256": "44fbe044ab447e6e445d01d3dc4ceab733f1ea49d97c0759101b0bcdf6ae85e8" }, "downloads": -1, "filename": "all_purpose_set-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "de2fe7ab1b7d26b8321eab37863ed897", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 208214, "upload_time": "2019-05-19T19:10:29", "url": "https://files.pythonhosted.org/packages/0a/a4/b9fb046cb8f218bda47745e0632d796a293512b88d037b90aed6fa0fb8e5/all_purpose_set-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e30459401605c643b404da87d247e7d6", "sha256": "e794bc6bb666da84b0bbfe673344f9b45ea03dc4be9ad4f277b166341b26c7fc" }, "downloads": -1, "filename": "all_purpose_set-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e30459401605c643b404da87d247e7d6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 178173, "upload_time": "2019-05-19T19:10:31", "url": "https://files.pythonhosted.org/packages/06/c1/9129df08b7966f32b6f97e3c954b7ce1a1ac76a843fe610e5a4cbf3cc031/all_purpose_set-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "10dfe007c9238d14e89cc9f128cf4b67", "sha256": "93f0a9b8fcdd383e3f340f3f53c1d23c489b86a67e4dd8f2d510a9f7755b1489" }, "downloads": -1, "filename": "all_purpose_set-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "10dfe007c9238d14e89cc9f128cf4b67", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 208396, "upload_time": "2019-05-19T19:57:36", "url": "https://files.pythonhosted.org/packages/85/c7/87420a8c5fe0d12311d4e70eab6db9cc9d4282813457b1d5cb1db1a0e34b/all_purpose_set-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7923b77cd37e24beeec7a1de51a9b39e", "sha256": "87e50b10897c99c152254eacdc78ae3b180e9cb9fbb67c1c7cf7848f34248025" }, "downloads": -1, "filename": "all_purpose_set-0.1.8.tar.gz", "has_sig": false, "md5_digest": "7923b77cd37e24beeec7a1de51a9b39e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 178173, "upload_time": "2019-05-19T19:57:38", "url": "https://files.pythonhosted.org/packages/56/64/b80e7b8dc2b2b3653b2a6203a7cdebac142296e478cb1644354cf4d5701d/all_purpose_set-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "bee5bd7b8c72fa77d10d90614093910b", "sha256": "23ba6f7a943d1c95d713290cfadcd8cd760807babc68214917db6326bbb97ac3" }, "downloads": -1, "filename": "all_purpose_set-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "bee5bd7b8c72fa77d10d90614093910b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 208620, "upload_time": "2019-05-19T20:07:51", "url": "https://files.pythonhosted.org/packages/46/6d/6ea8c14743a28224c645301574cd62cdcda5b8b5650dd9530c38b11aedf6/all_purpose_set-0.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d6e53482c3771554ed6085c02b6c168", "sha256": "7fed22f4b3bb6ebeee88dffc2866ae68d51a69f46e68d41e457e0727fdfde45e" }, "downloads": -1, "filename": "all_purpose_set-0.1.9.tar.gz", "has_sig": false, "md5_digest": "7d6e53482c3771554ed6085c02b6c168", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 178214, "upload_time": "2019-05-19T20:07:52", "url": "https://files.pythonhosted.org/packages/28/75/4e520c989e0ef4c995c5fc1e8964160e6919b352a450853ce4742a40d2cc/all_purpose_set-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ec9bd4eb47c66508eebb73ba0355cb8c", "sha256": "6ea32c0ca5937e22753b4f2d9ac7633fff47c605095f0ff58ae076fc5297cb09" }, "downloads": -1, "filename": "all_purpose_set-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "ec9bd4eb47c66508eebb73ba0355cb8c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 208639, "upload_time": "2019-05-19T20:19:20", "url": "https://files.pythonhosted.org/packages/5f/fa/79ddcc203fe515cab78cc44b637257ca2a20d5e452129da453ae152225fb/all_purpose_set-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83e6254fba7867872aa9549c8112679c", "sha256": "abc26982d71973a1cd27c20eb1e889e228fe26804a5deeffab00ff3cd9dfd6d2" }, "downloads": -1, "filename": "all_purpose_set-0.1.10.tar.gz", "has_sig": false, "md5_digest": "83e6254fba7867872aa9549c8112679c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 178226, "upload_time": "2019-05-19T20:19:21", "url": "https://files.pythonhosted.org/packages/71/04/c14bf8be22f2febc64d34d2789aaad36f1c14012fc32d6059ddcb053a144/all_purpose_set-0.1.10.tar.gz" } ] }