{ "info": { "author": "Imre Szak\u00e1l (imreszakal.com)", "author_email": "imre.szakal@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.7", "Topic :: Office/Business :: Scheduling" ], "description": "# Volunteer workshift scheduler for a helpline\nCode written in Python finds the best possible schedule for volunteers while incorporating constrains and special requirements using **[CP-SAT Solver](https://developers.google.com/optimization/cp/cp_solver)** (Constraint Programming - boolean SATisfiability problem Solver).\n\nJava version is in development.\n\n### The problem\nArranging volunteers for a helpline service for the period of one month.\n\nThere are three types of work that could be done on the same day:\n- Phone shift: Every day.\n- Chat shift: Mondays and Wednesdays.\n- Observer shift: Any day.\n\n### Constraints:\nProperties of each volunteer:\n- Available days.\n- Function: doing phone, chat, both or observation for training purposes.\n- Maximum amount of weekend shifts.\n- Whether their shifts have to be on separate weeks.\n- Whether they welcome observers.\n- Whether they want to work alone.\n- Whether they cannot yet work alone.\n- List of people they do not want to work with.\n\nEach volunteer has to have 4 days between their shifts.\n\n### Priorities:\n1. Have minimum one volunteer for each day.\n2. Fill chat shifts.\n3. Have a second volunteer even on phone days.\n4. Employ observers on days when there is only phone shift.\n\n### Objective:\n Maximize filled shifts.\n\n
\n\n## Installation\n\nRequires 64-bit Python 3.7\n\npip install helpline-scheduler\n\n## Usage\n1. Select your language in config.py: EN/HU/CN\n\n Alternatively you can create your XX language extension by creating the corresponding data_XX.csv and language_XX.py files.\n2. Export corresponding data/data_XX.csv file into a spreadsheet, fill in your data, then export back into this file.\n3. Execute the program from its directory:\n\npython schedule.py\n\n## Output\n\n1. Prints results into the terminal and saves it into schedule_YYYY_MM____YYYYMMDD_hhmm.txt.\n2. Saves results into schedule_YYYY_MM____YYYYMMDD_hhmm.csv which can be conveniently imported into a spreadsheet.\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/imreszakal/volunteer-scheduler", "keywords": "schedule scheduling helpline workshift ortools", "license": "", "maintainer": "", "maintainer_email": "", "name": "volunteer-scheduler", "package_url": "https://pypi.org/project/volunteer-scheduler/", "platform": "", "project_url": "https://pypi.org/project/volunteer-scheduler/", "project_urls": { "Bug Reports": "https://github.com/imreszakal/volunteer-scheduler/issues", "Funding": "https://PayPal.Me/imreszakal", "Homepage": "https://github.com/imreszakal/volunteer-scheduler", "Source": "https://github.com/imreszakal/volunteer-scheduler" }, "release_url": "https://pypi.org/project/volunteer-scheduler/2019.5.9/", "requires_dist": [ "ortools" ], "requires_python": ">=3.5", "summary": "Volunteer workshift scheduler", "version": "2019.5.9" }, "last_serial": 5248870, "releases": { "2019.4.10": [ { "comment_text": "", "digests": { "md5": "5525a208ef1a03a8908d6838b2adaf8c", "sha256": "a13ba49307c50350f7a445799e1c17c3f9cc4021d4dbfef6278b9ea7ff8bc4e5" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.10-py3-none-any.whl", "has_sig": false, "md5_digest": "5525a208ef1a03a8908d6838b2adaf8c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25335, "upload_time": "2019-04-10T10:24:52", "url": "https://files.pythonhosted.org/packages/1e/ee/ba21daebe52968b8a98d0f6fd62e2bb09fd2840c030ca93256196b123f7d/volunteer_scheduler-2019.4.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eea540cf03d076c238cb4c33aaa6d4b8", "sha256": "f8297609fe3413d65ca5fa68e7ee72cff9ae2b8c338f8a489b62604369374ddf" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.10.tar.gz", "has_sig": false, "md5_digest": "eea540cf03d076c238cb4c33aaa6d4b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12622, "upload_time": "2019-04-10T10:24:53", "url": "https://files.pythonhosted.org/packages/56/42/8eff2e67b5fd6addda69b93c9f8bad5441b6f2b66d3ceac4fbfc1cb0b243/volunteer-scheduler-2019.4.10.tar.gz" } ], "2019.4.12": [ { "comment_text": "", "digests": { "md5": "2e3fa52166c65da1427cedf985275162", "sha256": "8ce212dea2d0eeed67af753a06b89a3e36b7b45ff69e8b673b9c40e29b5acae2" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.12-py3-none-any.whl", "has_sig": false, "md5_digest": "2e3fa52166c65da1427cedf985275162", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25131, "upload_time": "2019-04-12T13:31:04", "url": "https://files.pythonhosted.org/packages/65/9a/a2d2a48e3619e662007bbc275bc88c3c7c4ea6ac294316d0e60f6d427fff/volunteer_scheduler-2019.4.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b2ef0d464c978b677d3151600680956", "sha256": "e7f77ad498f7ee4927e4dddcb7360f51b9c4cc49fa1c5a104b34757041897924" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.12.tar.gz", "has_sig": false, "md5_digest": "5b2ef0d464c978b677d3151600680956", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12452, "upload_time": "2019-04-12T13:31:06", "url": "https://files.pythonhosted.org/packages/90/0a/1086e1bcc7b0dd7ac225b654a36f1d41ab832a629368fc1549250bd66cd8/volunteer-scheduler-2019.4.12.tar.gz" } ], "2019.4.14": [ { "comment_text": "", "digests": { "md5": "ec96eee7e1ae520f4d1483269fa3660a", "sha256": "38662e98257b1b873f592d632b34ed8600c58650984f33cd47f86ba6f4d761e5" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.14-py3-none-any.whl", "has_sig": false, "md5_digest": "ec96eee7e1ae520f4d1483269fa3660a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25330, "upload_time": "2019-04-14T09:31:29", "url": "https://files.pythonhosted.org/packages/5b/b7/94cb52c49a36d623c4ede206ff5e86edcb903736a8ba9224f7fb8fb8df0b/volunteer_scheduler-2019.4.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5ca8f85f48bc4013dfaada5b12d32a8", "sha256": "adace4f1dcd081ab9df7ac0abde4df26dbe7a2e84bec223f7a1974f6abd48c59" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.14.tar.gz", "has_sig": false, "md5_digest": "c5ca8f85f48bc4013dfaada5b12d32a8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12607, "upload_time": "2019-04-14T09:31:31", "url": "https://files.pythonhosted.org/packages/13/a8/d19eb77cbc6c33002a504026fadeb8e48372531f010a04d4b1c58e80ac87/volunteer-scheduler-2019.4.14.tar.gz" } ], "2019.4.14.post0": [ { "comment_text": "", "digests": { "md5": "e51c5f1e0a0daa8a07d0cafdc5bc2424", "sha256": "7fc36d9cba8974a90741acd9c493e94035806a65e03547a0b2b02eafc87612ae" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.14.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "e51c5f1e0a0daa8a07d0cafdc5bc2424", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25214, "upload_time": "2019-04-14T14:44:45", "url": "https://files.pythonhosted.org/packages/a3/f1/2efe482407466620a2d64517649b5e29a2b24b866375048d35f0ca0d02ae/volunteer_scheduler-2019.4.14.post0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c5cdc3e989554ee00ef257cfd235d88", "sha256": "64d0dcbfe9d19a8a1bb1f5e86d36e5c90062cbf10ebfb8787d06626b3f412ceb" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.14.post0.tar.gz", "has_sig": false, "md5_digest": "4c5cdc3e989554ee00ef257cfd235d88", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12442, "upload_time": "2019-04-14T14:44:46", "url": "https://files.pythonhosted.org/packages/7f/96/eecbc518e8900aefc67b266c7865cf92e87cd36797ba7f30fd841f508ca4/volunteer-scheduler-2019.4.14.post0.tar.gz" } ], "2019.4.14.post2": [ { "comment_text": "", "digests": { "md5": "e3b73046329973bc619eb2ed130676d7", "sha256": "461a4dfa7f85596009d0c7ea86e98c55c3e9054f556487f8dbf69add2d81ba47" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.14.post2-py3-none-any.whl", "has_sig": false, "md5_digest": "e3b73046329973bc619eb2ed130676d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25092, "upload_time": "2019-04-14T15:35:41", "url": "https://files.pythonhosted.org/packages/0e/06/9d37815850dd465dfe9c64125226146bef23a615308e0d7d67c854a5b09c/volunteer_scheduler-2019.4.14.post2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "318753e57cdf97ce48b3d1a2c003af73", "sha256": "a32d2d0b6415e9b06699f35f9618be4eed52c0c4d90b4b0d5073b3ce964d2a7d" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.14.post2.tar.gz", "has_sig": false, "md5_digest": "318753e57cdf97ce48b3d1a2c003af73", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12329, "upload_time": "2019-04-14T15:35:42", "url": "https://files.pythonhosted.org/packages/ee/0a/75676353280947c9fe0767068aea20af79ddc69dcfcccb545f8f262bd082/volunteer-scheduler-2019.4.14.post2.tar.gz" } ], "2019.4.14.post3": [ { "comment_text": "", "digests": { "md5": "603ba4382ebaaedb52706a5499deaa89", "sha256": "39236c5ce1967cc4dbae34253ebb5182de107c900e32a47f5867fcc664aee724" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.14.post3-py3-none-any.whl", "has_sig": false, "md5_digest": "603ba4382ebaaedb52706a5499deaa89", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25148, "upload_time": "2019-04-14T16:19:40", "url": "https://files.pythonhosted.org/packages/91/cf/5a8403a3f1fb0ffd5a3852135874d7a3cb699be271e6acaa61832148f5cf/volunteer_scheduler-2019.4.14.post3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e574c03abdf6af00c118e4a2f4977057", "sha256": "5a5017cedfce8c7880b2f0ed8b669d9f85d7af3085b6d817172a83ff0305c6ea" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.14.post3.tar.gz", "has_sig": false, "md5_digest": "e574c03abdf6af00c118e4a2f4977057", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12377, "upload_time": "2019-04-14T16:19:42", "url": "https://files.pythonhosted.org/packages/46/b9/9b6d4146490cb9ca304711042c6ef114c6f4847644886855251dbba2ca90/volunteer-scheduler-2019.4.14.post3.tar.gz" } ], "2019.4.14.post4": [ { "comment_text": "", "digests": { "md5": "a1ca209c910021b6cafa297603728fd6", "sha256": "5fd1678db4cba9d15576a267837b9294a61252ef350c4c81098548dcc1880a1c" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.14.post4-py3-none-any.whl", "has_sig": false, "md5_digest": "a1ca209c910021b6cafa297603728fd6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25067, "upload_time": "2019-04-14T16:29:43", "url": "https://files.pythonhosted.org/packages/74/96/1f74615c0db769b2c019e0d2c275188a3b0333728f575faee01b408e918a/volunteer_scheduler-2019.4.14.post4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e95ab536af606af4932938a7b1a2488f", "sha256": "60779d965180a5154b72e7efaac4f412f924be475cbde190fe5f133180ee1bf3" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.14.post4.tar.gz", "has_sig": false, "md5_digest": "e95ab536af606af4932938a7b1a2488f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12311, "upload_time": "2019-04-14T16:29:44", "url": "https://files.pythonhosted.org/packages/e6/48/170e6abf05e970769f1fd9317a6c7687dea2e99959635a8ffb4c5c9a03e3/volunteer-scheduler-2019.4.14.post4.tar.gz" } ], "2019.4.15": [ { "comment_text": "", "digests": { "md5": "6a7aff2a94d113aac699827ab9108d76", "sha256": "34af5ffd4b5fa323c5e220dc0036f2c875398b18f8a53e11dc0ff083a80bda06" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.15-py3-none-any.whl", "has_sig": false, "md5_digest": "6a7aff2a94d113aac699827ab9108d76", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 24887, "upload_time": "2019-04-15T08:02:10", "url": "https://files.pythonhosted.org/packages/04/c9/c2519403ddb705c568843fa41170555989bb3db59e3a7224e769382f7d29/volunteer_scheduler-2019.4.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca4e6272ba57de404a6c2227e6cf9d5e", "sha256": "c3570c9e1da1a757566d2f89379e82f358e7d5ec289afc4f13f12e7a58d111a9" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.15.tar.gz", "has_sig": false, "md5_digest": "ca4e6272ba57de404a6c2227e6cf9d5e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12194, "upload_time": "2019-04-15T08:02:12", "url": "https://files.pythonhosted.org/packages/8b/3d/1a91b755897814e2c4d93981e0d0afb9efea9a6573062c3d6fc708347c3e/volunteer-scheduler-2019.4.15.tar.gz" } ], "2019.4.15.post0": [ { "comment_text": "", "digests": { "md5": "6633eee4eb3072db4d6cfd9aa4ae393e", "sha256": "c45180b373b3c54b5b4375f327c7f54c1795193a6c18002c9b246e559d99fbe4" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.15.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "6633eee4eb3072db4d6cfd9aa4ae393e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 24966, "upload_time": "2019-04-15T10:48:53", "url": "https://files.pythonhosted.org/packages/6a/ea/5154113e99d24d829cc997a8e81f2a9356723533f61daecf9d08d0b39338/volunteer_scheduler-2019.4.15.post0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f7b806eb0efc90d912dd4b21ecd67c9", "sha256": "02db4498c5d20f9af497f5a9a5557e8f6b846b93033397e397a1d8a608736abd" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.15.post0.tar.gz", "has_sig": false, "md5_digest": "5f7b806eb0efc90d912dd4b21ecd67c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12225, "upload_time": "2019-04-15T10:48:55", "url": "https://files.pythonhosted.org/packages/5f/89/1bc6b074f881145e5f35dca68e0932335c55d6f122593daa8aa9463cb0c8/volunteer-scheduler-2019.4.15.post0.tar.gz" } ], "2019.4.23": [ { "comment_text": "", "digests": { "md5": "54117d6bdf1fd973574f708ffb77abd6", "sha256": "8432188d63ddf3a82e11d8559cf9b767f13c382740bc6fcfdf4a003b5c70b799" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.23-py3-none-any.whl", "has_sig": false, "md5_digest": "54117d6bdf1fd973574f708ffb77abd6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25160, "upload_time": "2019-04-23T21:00:03", "url": "https://files.pythonhosted.org/packages/5a/d2/e9d277cc4421916e040d008f7527626adc1eff016a499457726130561913/volunteer_scheduler-2019.4.23-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a7150d5bcdde0c53d5ffee6c811e67a", "sha256": "bddaba628b6fcd2d5a6b1ecd5e11294834194ffd18f3a5607bdc39ff043726f6" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.23.tar.gz", "has_sig": false, "md5_digest": "5a7150d5bcdde0c53d5ffee6c811e67a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12471, "upload_time": "2019-04-23T21:00:05", "url": "https://files.pythonhosted.org/packages/87/a5/bc1f30fb1b7dc70d44df7e31fe17dcc4b1b85f05b3d4cc734c018844d0ad/volunteer-scheduler-2019.4.23.tar.gz" } ], "2019.4.25": [ { "comment_text": "", "digests": { "md5": "2133954ca8256c5655dc282867ba5f4c", "sha256": "1a82b3344587e1f6084ff5bed3d42104abf32a34439268746d951e99cb0a0178" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.25-py3-none-any.whl", "has_sig": false, "md5_digest": "2133954ca8256c5655dc282867ba5f4c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25315, "upload_time": "2019-04-25T14:05:40", "url": "https://files.pythonhosted.org/packages/0e/ef/1f33cca5c6d23bf308be4ae09ca94022a314f6ac040dec2533791fc436b0/volunteer_scheduler-2019.4.25-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee2f0c775aec6bc3aa5d4c6863f4e03f", "sha256": "a1e06e1581cc49a39eee8b5777657bebda0112242d5c55248c9285caca623b00" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.25.tar.gz", "has_sig": false, "md5_digest": "ee2f0c775aec6bc3aa5d4c6863f4e03f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12695, "upload_time": "2019-04-25T14:05:42", "url": "https://files.pythonhosted.org/packages/d1/a3/a4ba5cd47fb617f474c916f5f7919e1930bf007922664d9e2bdf19e01d97/volunteer-scheduler-2019.4.25.tar.gz" } ], "2019.4.26": [ { "comment_text": "", "digests": { "md5": "6d7f9b5b89fefd18d8a4af5e1264e72b", "sha256": "b6af40f7b07aa2378c522fdad1d36e5f139e2dcfe1b25e5135babc6fb32c6037" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.26-py3-none-any.whl", "has_sig": false, "md5_digest": "6d7f9b5b89fefd18d8a4af5e1264e72b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25719, "upload_time": "2019-04-26T20:06:51", "url": "https://files.pythonhosted.org/packages/32/ed/92eef3bd37f0962d800efb9243bc424520efe7e7b6f5e912996d01fbbff5/volunteer_scheduler-2019.4.26-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42e66705e20e8bc7209a21c33b60768e", "sha256": "ff53ed9dab64295ffe8ae0db5c893a4f0b74fdaedf999f45436a597ea1c9c4b8" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.26.tar.gz", "has_sig": false, "md5_digest": "42e66705e20e8bc7209a21c33b60768e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13086, "upload_time": "2019-04-26T20:06:54", "url": "https://files.pythonhosted.org/packages/44/d2/03dafb4aa81e1116edd65e01cd63ae8d468d85a9c6ba2858d26df0681d57/volunteer-scheduler-2019.4.26.tar.gz" } ], "2019.4.28": [ { "comment_text": "", "digests": { "md5": "244475639a2d8732ad0f505a79d528c4", "sha256": "75ef6003700ab62183fbb562b2625154aebb9989731212cbffcef3abeebe75bd" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.28-py3-none-any.whl", "has_sig": false, "md5_digest": "244475639a2d8732ad0f505a79d528c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25693, "upload_time": "2019-04-28T13:39:59", "url": "https://files.pythonhosted.org/packages/42/63/2f17211e5e1ca220c28699aafa516dce21302d1b68299e9efc3eaa42abb3/volunteer_scheduler-2019.4.28-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af73af7268022abc3ee0b6d3336cb2fc", "sha256": "a4c3c8c92912b033285b1220d8b084294c3ad4dabe9755c8d10f43692b3189bb" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.28.tar.gz", "has_sig": false, "md5_digest": "af73af7268022abc3ee0b6d3336cb2fc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13039, "upload_time": "2019-04-28T13:40:03", "url": "https://files.pythonhosted.org/packages/ca/0f/090f8bb7607dd1763840a677a1d0d85ab7e9aefedd888cdcfea6c94b6fc0/volunteer-scheduler-2019.4.28.tar.gz" } ], "2019.4.9": [ { "comment_text": "", "digests": { "md5": "170e22506cd20cc0ea84fd47658675cf", "sha256": "f78d3b31921a3d971dd825ce54917c968504e887cef10e561621ebe27df85075" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.9-py3-none-any.whl", "has_sig": false, "md5_digest": "170e22506cd20cc0ea84fd47658675cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25176, "upload_time": "2019-04-08T19:30:23", "url": "https://files.pythonhosted.org/packages/c4/59/c15c403c6e95519b96c8babea26a8b0edfc6f3a8e3a7d9b3d7b50f78db2b/volunteer_scheduler-2019.4.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16ad612b77be28d51c628348090b6d33", "sha256": "8c4da2ce682c2c5b189c5c082dc271449ea3754019982ec40f9b8329e84111a9" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.9.tar.gz", "has_sig": false, "md5_digest": "16ad612b77be28d51c628348090b6d33", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12478, "upload_time": "2019-04-08T19:30:26", "url": "https://files.pythonhosted.org/packages/1b/f4/c648d1c3c282cbdd9f18b920458bced444702b14e2d1cd69494c9c7eac29/volunteer-scheduler-2019.4.9.tar.gz" } ], "2019.4.9.post0": [ { "comment_text": "", "digests": { "md5": "eb8acea85272c6df74abdba8c963b591", "sha256": "f3f3d29a6d81477ae5d94f73cb8478c251fc5438c4ae2da6618f9d8ccb249063" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.9.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "eb8acea85272c6df74abdba8c963b591", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25248, "upload_time": "2019-04-08T19:37:02", "url": "https://files.pythonhosted.org/packages/cc/bd/2e914244bb0b8c452ab7b9d2c492021cc3b2ac0e4090be0c3c5af57c5254/volunteer_scheduler-2019.4.9.post0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72f210e283568469d976a0999d89ef6c", "sha256": "828ddb86381df249e8139e5e9f414b432b68b5ba82f135f3fd3925ed40c50b8d" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.9.post0.tar.gz", "has_sig": false, "md5_digest": "72f210e283568469d976a0999d89ef6c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12481, "upload_time": "2019-04-08T19:37:03", "url": "https://files.pythonhosted.org/packages/55/01/fdd286635b08c1f91d4af0a16b102f9d3c5a63da7776345074a94c037e69/volunteer-scheduler-2019.4.9.post0.tar.gz" } ], "2019.4.9.post2": [ { "comment_text": "", "digests": { "md5": "935b488e8201979707506617f491b0ce", "sha256": "ff7d01bfef6ab780b52b595b98c9bbc4fe80e01f9980e5e688ef60d30ff034e4" }, "downloads": -1, "filename": "volunteer_scheduler-2019.4.9.post2-py3-none-any.whl", "has_sig": false, "md5_digest": "935b488e8201979707506617f491b0ce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25426, "upload_time": "2019-04-09T18:01:38", "url": "https://files.pythonhosted.org/packages/fe/b8/f9b074559494b1e4c5877b493264afd12cfe372af4e2ae48685b36c52d7f/volunteer_scheduler-2019.4.9.post2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e4a7ea964ecee0a03099bb2e8c0ae5a", "sha256": "11acad54b01523a3b378b64c3ff1ce3a0e5f4e4d6d712daff9920adda6cf7942" }, "downloads": -1, "filename": "volunteer-scheduler-2019.4.9.post2.tar.gz", "has_sig": false, "md5_digest": "0e4a7ea964ecee0a03099bb2e8c0ae5a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12655, "upload_time": "2019-04-09T18:01:39", "url": "https://files.pythonhosted.org/packages/10/5d/0c11af669c4f2d6a025f3cc165d27db49cd869f436286f2f5484503c3da1/volunteer-scheduler-2019.4.9.post2.tar.gz" } ], "2019.5.1": [ { "comment_text": "", "digests": { "md5": "0ee9c0a1159b903a33fc19de4cf773e3", "sha256": "f00ce2b7fb6efa1875e604732833912df3fa0444695ddfb7017dad6ce8bbe07f" }, "downloads": -1, "filename": "volunteer_scheduler-2019.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0ee9c0a1159b903a33fc19de4cf773e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25631, "upload_time": "2019-05-01T07:15:10", "url": "https://files.pythonhosted.org/packages/a4/3c/85f66d6b1d41169f490c8be004866598696e9bc7ff035509b7fdd49db427/volunteer_scheduler-2019.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0b1b7ee525d839699cd19da3bbfd753", "sha256": "eefb6d15e1f162f2ea2dcd3f34d6175a1dc33445073d1766d97d6bab962c1569" }, "downloads": -1, "filename": "volunteer-scheduler-2019.5.1.tar.gz", "has_sig": false, "md5_digest": "d0b1b7ee525d839699cd19da3bbfd753", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13039, "upload_time": "2019-05-01T07:15:11", "url": "https://files.pythonhosted.org/packages/8c/6b/643d113d794b81c673d583a8caa2ebeb52a13353dc8aa3e487d6f28d2608/volunteer-scheduler-2019.5.1.tar.gz" } ], "2019.5.9": [ { "comment_text": "", "digests": { "md5": "3df0624d263ab751143407b117533a4f", "sha256": "2621dd1337d9280b9dc6170b7768a0aa5191d165ae9cfb9e37df8ac3765adf8d" }, "downloads": -1, "filename": "volunteer_scheduler-2019.5.9-py3-none-any.whl", "has_sig": false, "md5_digest": "3df0624d263ab751143407b117533a4f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25627, "upload_time": "2019-05-09T18:47:12", "url": "https://files.pythonhosted.org/packages/0c/a5/c90f69fe3d21fdd3507bec905cfcde2ce6b3f5b8aac1271b7f6ebd51ac03/volunteer_scheduler-2019.5.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "395cfa70f99fc27be8d33a8a5f0bb855", "sha256": "b579c0c654c90251f609fc04e90f4328ff205c462d4f1e9c986c2645a9f5e4ee" }, "downloads": -1, "filename": "volunteer-scheduler-2019.5.9.tar.gz", "has_sig": false, "md5_digest": "395cfa70f99fc27be8d33a8a5f0bb855", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13035, "upload_time": "2019-05-09T18:47:14", "url": "https://files.pythonhosted.org/packages/d3/80/871b55105ed9ca4e71286628890f76b5b7a10e8c0e92efc5c801610f8321/volunteer-scheduler-2019.5.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3df0624d263ab751143407b117533a4f", "sha256": "2621dd1337d9280b9dc6170b7768a0aa5191d165ae9cfb9e37df8ac3765adf8d" }, "downloads": -1, "filename": "volunteer_scheduler-2019.5.9-py3-none-any.whl", "has_sig": false, "md5_digest": "3df0624d263ab751143407b117533a4f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25627, "upload_time": "2019-05-09T18:47:12", "url": "https://files.pythonhosted.org/packages/0c/a5/c90f69fe3d21fdd3507bec905cfcde2ce6b3f5b8aac1271b7f6ebd51ac03/volunteer_scheduler-2019.5.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "395cfa70f99fc27be8d33a8a5f0bb855", "sha256": "b579c0c654c90251f609fc04e90f4328ff205c462d4f1e9c986c2645a9f5e4ee" }, "downloads": -1, "filename": "volunteer-scheduler-2019.5.9.tar.gz", "has_sig": false, "md5_digest": "395cfa70f99fc27be8d33a8a5f0bb855", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13035, "upload_time": "2019-05-09T18:47:14", "url": "https://files.pythonhosted.org/packages/d3/80/871b55105ed9ca4e71286628890f76b5b7a10e8c0e92efc5c801610f8321/volunteer-scheduler-2019.5.9.tar.gz" } ] }