{ "info": { "author": "Dengwang Tang", "author_email": "dwtang@umich.edu", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Scarf\n\nScarf is a python library for solving stable matching problems with couples, where one application is the [National Resident Matching Program](https://en.wikipedia.org/wiki/National_Resident_Matching_Program). The package is named after Hebert Scarf, the inventor of Scarf's lemma and algorithm.\n\n## Features\n\n- Written in python3.\n- Solve for a near feasible stable matching given the preference of doctors and hospitals, and hospital capacities.\n- Generate random doctor hospital instances.\n- Accelerated with Numba. It is fast!\n\nAccepted input format:\n- Python Lists\n- JSON\n\nAlgorithms:\n- Scarf's algorithm with Iterative Rounding [[Nguyen and Vohra 2016]](https://web.ics.purdue.edu/~nguye161/e2sided.pdf)\n\n## Installation\n\n```\npip install scarfmatch\n```\n\n## Usage\n\n```\n import scarf\n single_pref = [[0, 1, 2], \n [1, 0]]\n couple_pref = [[(0, 0), (1, 1), (1, 0), (0, 1), (2, 2)],\n [(1, 1), (2, 2), (1, -1)]]\n hospital_pref = [0, (0, 1), 1, (1, 0), (0, 0), (1, 1)]\n hospital_cap = [2, 3, 1]\n\n S = scarf.create_instance(single_pref, couple_pref, hospital_pref, hospital_cap)\n sol = scarf.solve(S)\n```\n\n## Support\n\n## License\n\nReleased under MIT license\n\n```\nCopyright (c) 2019 Dengwang Tang \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": "https://github.com/dwtang/scarf/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "scarfmatch", "package_url": "https://pypi.org/project/scarfmatch/", "platform": "", "project_url": "https://pypi.org/project/scarfmatch/", "project_urls": { "Homepage": "https://github.com/dwtang/scarf/" }, "release_url": "https://pypi.org/project/scarfmatch/0.0.2/", "requires_dist": [ "numpy", "scipy", "numba" ], "requires_python": "", "summary": "A package for stable matching problems with couples", "version": "0.0.2" }, "last_serial": 5743903, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "507a0334424c89ca469a826174feb9c1", "sha256": "2b71df1d9a5a5f606a8cc121ca9e3abb9aebcb35f49e7642f7b44e75f2f51bd7" }, "downloads": -1, "filename": "scarfmatch-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "507a0334424c89ca469a826174feb9c1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18664, "upload_time": "2019-08-28T16:31:44", "url": "https://files.pythonhosted.org/packages/27/ad/c0f25e0533b939c485604602115e6357af4dc615d645d97d46e3aa884494/scarfmatch-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43eea7fb8267f1189a1f7ffb442dd77b", "sha256": "fa81de428d9e92c2a87f0e0b62c64fb7e7072ea33db20fc30244d1ec74cbaf08" }, "downloads": -1, "filename": "scarfmatch-0.0.1.tar.gz", "has_sig": false, "md5_digest": "43eea7fb8267f1189a1f7ffb442dd77b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16197, "upload_time": "2019-08-28T16:31:46", "url": "https://files.pythonhosted.org/packages/b4/b5/23be453b95d69e07aa4afa33e7dd6b8a5b496697adcc588eec46a8efdfa2/scarfmatch-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d20b2b04bed18185d6df003960ef2d87", "sha256": "1dac2fe73af677d94f27a45c891b60cadd56197678b0dd14fa7f1f05fc21e6cc" }, "downloads": -1, "filename": "scarfmatch-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d20b2b04bed18185d6df003960ef2d87", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18709, "upload_time": "2019-08-28T16:57:31", "url": "https://files.pythonhosted.org/packages/ca/52/be606f0546aaff4d89baa1e9e9143d641b29e424e88a09353902c554983d/scarfmatch-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5af7041da4ee4118f54047ef32b30bcf", "sha256": "b65476265d217727e9ef88614c19753bfabfcf20151acb9b7ac7b22df76ea201" }, "downloads": -1, "filename": "scarfmatch-0.0.2.tar.gz", "has_sig": false, "md5_digest": "5af7041da4ee4118f54047ef32b30bcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16312, "upload_time": "2019-08-28T16:57:33", "url": "https://files.pythonhosted.org/packages/f3/fa/e72cc49c56869049530a5750ff87413f4ce142cf9e86f1910a3089a080d5/scarfmatch-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d20b2b04bed18185d6df003960ef2d87", "sha256": "1dac2fe73af677d94f27a45c891b60cadd56197678b0dd14fa7f1f05fc21e6cc" }, "downloads": -1, "filename": "scarfmatch-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d20b2b04bed18185d6df003960ef2d87", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18709, "upload_time": "2019-08-28T16:57:31", "url": "https://files.pythonhosted.org/packages/ca/52/be606f0546aaff4d89baa1e9e9143d641b29e424e88a09353902c554983d/scarfmatch-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5af7041da4ee4118f54047ef32b30bcf", "sha256": "b65476265d217727e9ef88614c19753bfabfcf20151acb9b7ac7b22df76ea201" }, "downloads": -1, "filename": "scarfmatch-0.0.2.tar.gz", "has_sig": false, "md5_digest": "5af7041da4ee4118f54047ef32b30bcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16312, "upload_time": "2019-08-28T16:57:33", "url": "https://files.pythonhosted.org/packages/f3/fa/e72cc49c56869049530a5750ff87413f4ce142cf9e86f1910a3089a080d5/scarfmatch-0.0.2.tar.gz" } ] }