{ "info": { "author": "Kieran Colford", "author_email": "colfordk@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "===================\nUWaterloo AddCourse\n===================\n\nThis python package allows one to easily interact with the University\nof Waterloo's QUEST_ system to easily add a course. It does so by\ncontinuously querying the QUEST_ servers to add you into the given\ncourse until it succeeds.\n\nBoth Python 2 and Python 3 are supported, although Python 3 support\nrequires ``2to3`` but that will be handled automatically by\n``setup.py`` on installation.\n\nInstall\n=======\n\nThere are currently two resources from which you can install UWaterloo\nAddCourse: the first is directly from the repository and the second is\nfrom PyPi_.\n\nThe Repository_\n---------------\n\nYou can install this package from source using::\n\n git clone https://github.com/kcolford/uwaterloo-addcourse.git\n cd uwaterloo-addcourse\n python setup.py install\n\nNote that when you install in this way, you will be getting the\ndevelopment version, not the official stable release (although it\nshould still work as documented).\n\nPyPi_\n-----\n\nUsing ``easy_install``, you just have to invoke::\n\n easy_install uwaterloo-addcourse\n\nYou can use ``pip`` to install this package with just::\n\n pip install uwaterloo-addcourse\n\nYou can also navigate to our `PyPi page`_ and choose one of the\ndownload links at the bottom.\n\nUsage\n=====\n\nThere are two ways to use this API: the command line and the python\ninterpreter. Note that when using the interpreter, you have more\ncontrol over the queries you would have when using the command line.\nAlthough the command line is far more user friendly.\n\nCommand Line\n------------\n\nTo add a class from the command line, simply invoke the helper script\nlike so::\n\n user@computer:~/$ addcourse\n Desired Course: cs246\n QUEST ID: jsmith\n Password: \n ...\n\nOptional command line arguments to ``addcourse`` are as follows\n\n -h, --help show this help message and exit\n --version show program's version number and exit\n -c COURSE, --course COURSE\n the course to try getting in to\n -u USERID, --userid USERID\n the userid to login as\n\n\nPython Interpreter\n------------------\n\nSimply write a script like so::\n\n #! /usr/bin/env python\n\n from addcourse import *\n\n addcourse('jsmith', 'password123', numbers('cs246'))\n\nNote that the call to ``numbers`` fetches a list of class numbers that\ncorrespond to the given course code (in this case ``'cs246'``). You\ncan then use a splicing or other list manipulations to delete classes\nyou don't want or add alternative classes that you do want. See\n``pydoc addcourse`` for more information.\n\nDevelopment\n===========\n\nDevelopment on UWaterloo AddCourse is relatively simple. We use\nGitHub_ and so all additions or improvements should be done through a\npull request. Improvements of any kind will be gladly accepted.\n\nOur current direction is looking into the following:\n\n- Extending the utility offered by the ``QuestBrowser`` class to then\n use for other purposes including:\n\n - A better user interface for using any feature of QUEST_.\n\n- Incorporating a javascript interpreter to allow us to easily\n function even after changes to QUEST_ are made.\n\n- Making asynchronous queries to QUEST_ to do multiple things at once\n instead of just waiting for each query to slowly complete. Current\n issues surrounding this include:\n\n - urllib is currently only synchronous, no asynchronous API is\n currently available at the time of this writing, possible\n solutions include:\n\n 1. Locating an asynchronous fork of urllib (possibly on PyPi_).\n 2. Rolling our own asynchronous urllib fork (we could host it\n separately on PyPi_).\n 3. Taking the source of urllib and refactoring it to only use the\n asynchronous IO interfaces instead of the synchronous ones\n (even just using **select** based IO can be a great\n improvement).\n 4. Using **threading** because although the GIL_ (Global\n Interpreter Lock) prevents speed ups of python code, it does\n allow switching from one execution context to another when a\n thread blocks on IO. This would effectively simulate option 3\n but with the select loop running in kernelspace rather than in\n application code.\n\n Of the aforementioned options, number 4 seems to be the most\n promising although introducing full threading is always a mixed\n bag of good and bad.\n\n - Refactoring will/may have to be done in order to improve thread\n safety.\n\n- Adding a command line option for a password. This is inherently\n unsafe as there are many distributions and installations of ``ps``\n that allow viewing of the command line arguments given to a process\n by other users. That being said, it does make it very inconvenient\n for a user who wants to script the command line invocations of\n ``addcourse`` as they have to sit there and type in their password\n each time the command runs.\n\n- We need to set up automated testing and incorporate continuous\n integration systems like travisCI_. Problems that interfere with\n this currently are:\n\n - We need a dummy QUEST_ login to test with because no one is going\n to leave their real QUEST_ user id and password in the repository\n for any one to steal and mess with. Also, the tests might mess up\n the account and that would be really bad if someone didn't get\n their degree because of a typo made in a pull request.\n\n- Finer control of progress messages and reports. Currently we just\n use python's ``print`` statement to output messages to the user, but\n we may want to move towards the ``logging`` module in the builtin\n library. Note that originally, that was what we used, but the\n logging module proved to difficult and unwieldy to continue with.\n \n Moving in this direction will allow us to control the verbosity of\n the API through setting the loglevel.\n\nLicense and Disclaimer\n======================\n\nCopyright (C) 2015 Kieran Colford\n\nThis file is part of UWaterloo-AddCourse.\n\nUWaterloo-AddCourse is free software: you can redistribute it and/or\nmodify it under the terms of the GNU General Public License as\npublished by the Free Software Foundation, either version 3 of the\nLicense, or (at your option) any later version.\n\nUWaterloo-AddCourse is distributed in the hope that it will be\nuseful, but WITHOUT ANY WARRANTY; without even the implied warranty\nof MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\nGeneral Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with UWaterloo-AddCourse. If not, see\n``_.\n\n\nCredits\n=======\n\n| Mark Petrick, for the support that inspired this project.\n\n.. _QUEST: https://uwaterloo.ca/quest/\n.. _PyPi: https://pypi.python.org/\n.. _Repository: https://github.com/kcolford/uwaterloo-addcourse\n.. _`PyPi page`: https://pypi.python.org/pypi/uwaterloo-addcourse \n.. _GitHub: https://github.com\n.. _GIL: https://wiki.python.org/moin/GlobalInterpreterLock\n.. _travisCI: https://travis-ci.org/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kcolford/uwaterloo-addcourse", "keywords": "uwaterloo,addcourse", "license": "GPLv3+", "maintainer": null, "maintainer_email": null, "name": "uwaterloo-addcourse", "package_url": "https://pypi.org/project/uwaterloo-addcourse/", "platform": "Any", "project_url": "https://pypi.org/project/uwaterloo-addcourse/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/kcolford/uwaterloo-addcourse" }, "release_url": "https://pypi.org/project/uwaterloo-addcourse/1.2.1/", "requires_dist": null, "requires_python": null, "summary": "Package for easily adding a course on UWaterloo's QUEST.", "version": "1.2.1" }, "last_serial": 1559631, "releases": { "0.0.1": [], "0.0.10": [ { "comment_text": "", "digests": { "md5": "58b489bb969e5d62e7f5a57e3c169268", "sha256": "e7c9d6a30733773f8c9b48f777d6752380d73baabafa64bf485622c74e861f87" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.10.tar.gz", "has_sig": false, "md5_digest": "58b489bb969e5d62e7f5a57e3c169268", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4238, "upload_time": "2015-04-24T19:02:17", "url": "https://files.pythonhosted.org/packages/7b/88/d8c370d34b57c2935b3d5fd55acfdb51b3cd80963b1b4723fd56cad7be1a/uwaterloo-addcourse-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "bbc020c314a25bd2d3b8d253513b8fd5", "sha256": "1c6e6dc4a2d15ea00cb01c245353bf579224994cf29949495557fc449ce0eedd" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.11.tar.gz", "has_sig": false, "md5_digest": "bbc020c314a25bd2d3b8d253513b8fd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4222, "upload_time": "2015-04-24T19:03:19", "url": "https://files.pythonhosted.org/packages/8e/91/3b7ddffa828de9eeae3aa7459535318927f702e89e17484a1f59d3f6ac2a/uwaterloo-addcourse-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "e828a2a7b9675d5fc25e3195c2dfad19", "sha256": "f0f7235829d6c40ef7ad6b97e5468d88525ed816b7ea20ba88d1b9f298b237a4" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.12.tar.gz", "has_sig": false, "md5_digest": "e828a2a7b9675d5fc25e3195c2dfad19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4229, "upload_time": "2015-04-24T19:06:40", "url": "https://files.pythonhosted.org/packages/c9/40/9d44cef8033825652cb365448d37d97d840d94628792b90bc22cae7a82fe/uwaterloo-addcourse-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "69afbec9630cd9bb8ecaf42ed806ae07", "sha256": "bdd126c2401ca69a93a057caab44d194818e57a1fdf0a615dc7ce230a3935051" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.13.tar.gz", "has_sig": false, "md5_digest": "69afbec9630cd9bb8ecaf42ed806ae07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4381, "upload_time": "2015-04-24T19:17:43", "url": "https://files.pythonhosted.org/packages/c8/e1/4703824c749249c23968fcf77d8b2a0c80a20c27fb1a019977639358efcc/uwaterloo-addcourse-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "bd6a3f1a81346584572d90ed69c12e33", "sha256": "c15c54d05d1008d7db7c5a1ce42a9076589a0e8538d5fb0c515346f5324a8402" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.14.tar.gz", "has_sig": false, "md5_digest": "bd6a3f1a81346584572d90ed69c12e33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4343, "upload_time": "2015-04-24T19:19:41", "url": "https://files.pythonhosted.org/packages/52/15/666df74a2059ab2ae8459365a17d80ba319484db0329f2fa8b131a2105e3/uwaterloo-addcourse-0.0.14.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "4d8d851d1767cee342ee1e474db0905b", "sha256": "c3f6b9232d71b3a58ac97d9abba15b4ce8595773bf2bc5141f2c52cd87cb4668" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.4.tar.gz", "has_sig": false, "md5_digest": "4d8d851d1767cee342ee1e474db0905b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 807, "upload_time": "2015-04-24T18:43:39", "url": "https://files.pythonhosted.org/packages/51/44/29fb8584293332bcff9d6e8ca8ab5102122b401ded507496a292c69e73c3/uwaterloo-addcourse-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "6c52f94f84544c9406c51aebc9dfb3d7", "sha256": "ff032d0dc736ebd1096420b09611a30d1fb20e736691e697627070b0f7b3abd5" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.5.tar.gz", "has_sig": false, "md5_digest": "6c52f94f84544c9406c51aebc9dfb3d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 826, "upload_time": "2015-04-24T18:46:54", "url": "https://files.pythonhosted.org/packages/7a/17/46bcbe5c2e4c3df9933a03c78517aadb81f1f9295e443ef5da5adb40d1b8/uwaterloo-addcourse-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "3cfad8b3808b49bd294afa79aca3b179", "sha256": "6c5e09c6bb00d14307fd7ad3fe51533bfe193144a09bd23ff5e5a5011f3fb906" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.6.tar.gz", "has_sig": false, "md5_digest": "3cfad8b3808b49bd294afa79aca3b179", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4330, "upload_time": "2015-04-24T18:51:37", "url": "https://files.pythonhosted.org/packages/f0/40/ed94ae0a6b2daf410a876eb682ec12aceca1e47ca041d395cd325c3b97bb/uwaterloo-addcourse-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "e686f4b9b65145499a15de8468a63e1e", "sha256": "eb7a0c1b368520b92acc42d343b272a8cdfb5bd6de619a026470de99a6821b91" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.7.tar.gz", "has_sig": false, "md5_digest": "e686f4b9b65145499a15de8468a63e1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4341, "upload_time": "2015-04-24T18:54:45", "url": "https://files.pythonhosted.org/packages/f8/ae/403c7ff938adf7c0c9a1cb75fc0b2404c43908cff66863b1d50d5a2a81f9/uwaterloo-addcourse-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "fbfeeaae0235ccfb710e3a0088a573c0", "sha256": "aa1a2f0089f86aae057514c509af4eae2b06d499fc695b818729fc4906565ad1" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.8.tar.gz", "has_sig": false, "md5_digest": "fbfeeaae0235ccfb710e3a0088a573c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4292, "upload_time": "2015-04-24T18:59:23", "url": "https://files.pythonhosted.org/packages/5a/cd/36d598d1f4f776478410c742941bc052b4173e31bb47d78e84c6d256c1ab/uwaterloo-addcourse-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "b8744aa791d6051b842bb0189e762727", "sha256": "7fe47f9dd9d553456aebd9ad2953f97598911978ad6be4d1ed302a4bace97d99" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.0.9.tar.gz", "has_sig": false, "md5_digest": "b8744aa791d6051b842bb0189e762727", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4283, "upload_time": "2015-04-24T18:59:56", "url": "https://files.pythonhosted.org/packages/85/4f/c8f183ddb37f2ffde7ae6b916901ec5a3afb8ec8c95bac9f5ea8ea13607c/uwaterloo-addcourse-0.0.9.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "80a56a0f41ded0dfac40485da9ad9eb3", "sha256": "7ae3f82ebb6b63ef315f3f980838e97017f5ab2393f44e0ebf232cab9d9fb173" }, "downloads": -1, "filename": "uwaterloo_addcourse-0.1.1-py2.7.egg", "has_sig": false, "md5_digest": "80a56a0f41ded0dfac40485da9ad9eb3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 9926, "upload_time": "2015-04-24T19:30:32", "url": "https://files.pythonhosted.org/packages/cb/19/2b9e8f79b668b537c499f0862b4b3ff38b132aa0fc2abd5c39c7fcf79baf/uwaterloo_addcourse-0.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "9e8585aeafe4e9195a51d45336e7a23e", "sha256": "7930832dbcb0ca064c0fbcd301297925d421fd67528d131b2d9ab112a83dda93" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9e8585aeafe4e9195a51d45336e7a23e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4357, "upload_time": "2015-04-24T19:30:36", "url": "https://files.pythonhosted.org/packages/97/04/dad584d04b308a86fe23c00921482597a188b0ced8b8bf34025ade69178b/uwaterloo-addcourse-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "built for Linux-3.13.0-45-generic-x86_64-with-glibc2.4", "digests": { "md5": "ace4b081daf5c55c4ebbb21f0df08904", "sha256": "6793c3eda1f9d4f5a0465a40c4443acfab1c0a767ce8d7af2a1ea35a260c4d70" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.1.2.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "ace4b081daf5c55c4ebbb21f0df08904", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 10104, "upload_time": "2015-04-26T15:27:09", "url": "https://files.pythonhosted.org/packages/9f/98/58659a09ff820ec1de86fa079769ce2a7a5120b3493d14b2bdf9586c9b40/uwaterloo-addcourse-0.1.2.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "82abcd3e84c619dcdbac3f674a707530", "sha256": "be0caed8411a1eac870672d1478232b0cd29d3fe36047b7aa5966c37478ef55d" }, "downloads": -1, "filename": "uwaterloo_addcourse-0.1.2-py2.7.egg", "has_sig": false, "md5_digest": "82abcd3e84c619dcdbac3f674a707530", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 17494, "upload_time": "2015-04-26T15:28:12", "url": "https://files.pythonhosted.org/packages/ac/8a/26cc341ac0589255d0839f442d72c004b573bf04439e1387a62417d82d27/uwaterloo_addcourse-0.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "083e4fdd92985b5aabb8514e34357129", "sha256": "b2ad0fd0550d0815d8018e8b1f0038d0c2c4c673566272f08a1616c828767462" }, "downloads": -1, "filename": "uwaterloo-addcourse-0.1.2.tar.gz", "has_sig": false, "md5_digest": "083e4fdd92985b5aabb8514e34357129", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5006, "upload_time": "2015-04-26T15:27:12", "url": "https://files.pythonhosted.org/packages/9e/48/2b329eac557e01bd4b3193e39a5a837539475030e966500f4e0c149d1d64/uwaterloo-addcourse-0.1.2.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "fdc31c0a3915283ecf6df12b1b2367d8", "sha256": "4728f24249a70c53ef404ef0abbf2a1ffb86cbfbdffcb96185a1a78a9d9d17a8" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.0.1-py2.7.egg", "has_sig": false, "md5_digest": "fdc31c0a3915283ecf6df12b1b2367d8", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 18615, "upload_time": "2015-04-26T17:16:31", "url": "https://files.pythonhosted.org/packages/dc/e2/d07b9121081c89d1e60566d809b374fde693635f22f682965bcb774874a2/uwaterloo_addcourse-1.0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "6fc46cd5113dcff0ce4dd7d354e6112d", "sha256": "e7cde0497b0bc94dd169692dd9c812b2aacb8b1c0329cdff1456e8c2fb7080ae" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.1.tar.gz", "has_sig": false, "md5_digest": "6fc46cd5113dcff0ce4dd7d354e6112d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5986, "upload_time": "2015-04-26T17:16:35", "url": "https://files.pythonhosted.org/packages/38/d4/1273035b2653b9565c8ceb41df8eae514c58bb515ea918ac50baa82d0ba9/uwaterloo-addcourse-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "4d9cf5c7ad208b1139eb3d9a2b1ad278", "sha256": "01a246040ff68f8913d109be3afa03a3ef1d5bbf41fe150a36b5edb91cba8857" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.0.2-py2.7.egg", "has_sig": false, "md5_digest": "4d9cf5c7ad208b1139eb3d9a2b1ad278", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 18789, "upload_time": "2015-04-26T17:56:38", "url": "https://files.pythonhosted.org/packages/2d/18/93458e13c95ca662c1d453bdac91ab3cdb914054cfcfd4b3500d2dcbe5d5/uwaterloo_addcourse-1.0.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "8ab3c5339206fea99a69befad75a9d02", "sha256": "c4fcca6b1da8ac61e37cae2e5258741e4c2015d82f5b7ea53cbfcb0a05352a32" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.2.tar.gz", "has_sig": false, "md5_digest": "8ab3c5339206fea99a69befad75a9d02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6292, "upload_time": "2015-04-26T17:56:41", "url": "https://files.pythonhosted.org/packages/19/c3/c647828fa2deab961ded5162b4359c274e9285f60298484e7206af897231/uwaterloo-addcourse-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "d9b545c1872d2641137467f314f5abf5", "sha256": "cb6ba6ecceb3b9c29feb7ca12c5f42a0ed2dc695bb1e924f4e88d57fdca8563f" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.0.3-py2.7.egg", "has_sig": false, "md5_digest": "d9b545c1872d2641137467f314f5abf5", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 18786, "upload_time": "2015-04-26T18:03:25", "url": "https://files.pythonhosted.org/packages/4b/47/0b1fc41d37c5be3e2afd82450ceda9fa47666a7ede66704d99a9156ff0c2/uwaterloo_addcourse-1.0.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "65c40c4a248760a31b21e7652e5e5d2f", "sha256": "223d8e09defa393f2e0ea346364284b2bce431d9a2033545e241281a17792e67" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.3.tar.gz", "has_sig": false, "md5_digest": "65c40c4a248760a31b21e7652e5e5d2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6294, "upload_time": "2015-04-26T18:03:28", "url": "https://files.pythonhosted.org/packages/a9/57/78c7e575737f3d082509eafd2967b8d4a270cc8f08d075163b5c839817d4/uwaterloo-addcourse-1.0.3.tar.gz" }, { "comment_text": "", "digests": { "md5": "f6f12e3316019fc25bc3d05e280d81ca", "sha256": "47d2a3cbe9998b1b706c8cc550b5e25e21d82021611c657a14646e383dabf373" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.3.win32.exe", "has_sig": false, "md5_digest": "f6f12e3316019fc25bc3d05e280d81ca", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 246197, "upload_time": "2015-04-27T02:39:29", "url": "https://files.pythonhosted.org/packages/11/b2/52adff5e31892b6b24cd4525ac6bf160207a8fc5f10189451aa9af6676f3/uwaterloo-addcourse-1.0.3.win32.exe" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "896255b91efb43a19a39c0d8d0b1e684", "sha256": "58745deb53be975f3bf6793d87cca0140107b0ba1effaddafbb13e9e3fe6d2fc" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.0.4-py2.7.egg", "has_sig": false, "md5_digest": "896255b91efb43a19a39c0d8d0b1e684", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 20096, "upload_time": "2015-04-27T03:21:47", "url": "https://files.pythonhosted.org/packages/93/4f/d2627f0d0d64ba7085f7caabe6e305a0849437df51cd87371f18516d9a41/uwaterloo_addcourse-1.0.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a4f47d15fd376420ffb0875dda053d83", "sha256": "ec17e28d00000a4e2f00b2851b483f8bfe5a7054497d9f8d6c92b91a942bdf36" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.0.4-py3.4.egg", "has_sig": false, "md5_digest": "a4f47d15fd376420ffb0875dda053d83", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 20893, "upload_time": "2015-04-27T03:21:50", "url": "https://files.pythonhosted.org/packages/a4/6a/ff03ddcb66cc541b5d1772f7d9bc46c07af05e50512960d5702a29cb7b2a/uwaterloo_addcourse-1.0.4-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "b28c71eb241581e1c7ca18d7df431c4e", "sha256": "173210c497226343d2b980b15bed1460b09c6040aee8c31c46aa95c99df0b6a5" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.4.tar.gz", "has_sig": false, "md5_digest": "b28c71eb241581e1c7ca18d7df431c4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19520, "upload_time": "2015-04-27T03:21:53", "url": "https://files.pythonhosted.org/packages/9c/de/1b1cb1cfabed0b52440d3ceb66fdc3ef6d120a31a0a721c32c0add0a9bf1/uwaterloo-addcourse-1.0.4.tar.gz" }, { "comment_text": "", "digests": { "md5": "49a5059613c707041bda6883e186dac8", "sha256": "d11641423cbd8bf72255f161fe9b7c576891cd3190253a996219315ee4387d0f" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.4.win32.exe", "has_sig": false, "md5_digest": "49a5059613c707041bda6883e186dac8", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 246198, "upload_time": "2015-04-27T03:31:28", "url": "https://files.pythonhosted.org/packages/84/c0/d394c3e8586fb11bf0f45738a860acb2e9ab5d7c56a7edab110991b40936/uwaterloo-addcourse-1.0.4.win32.exe" }, { "comment_text": "", "digests": { "md5": "9385477f240b9a22951f416f5aada40a", "sha256": "0b2540047e5698046a29f8c741f80a02500fcfeba46ccdb2be18754688d69db3" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.4.win32.msi", "has_sig": false, "md5_digest": "9385477f240b9a22951f416f5aada40a", "packagetype": "bdist_msi", "python_version": "any", "requires_python": null, "size": 245760, "upload_time": "2015-04-27T03:31:25", "url": "https://files.pythonhosted.org/packages/f6/d0/d819207e3d0cfac0f4085ee97ab65fa821a267b62ee8c0a89341d649fde7/uwaterloo-addcourse-1.0.4.win32.msi" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "d57fc07771085382e878bc37da780c15", "sha256": "fadd24cca70ea6cac8656c44eba0f64303e4ecb740ea757531abec6c9418e4c8" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.0.5-py2.7.egg", "has_sig": false, "md5_digest": "d57fc07771085382e878bc37da780c15", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 22516, "upload_time": "2015-04-27T15:09:05", "url": "https://files.pythonhosted.org/packages/2b/fd/8dd14e28ff3f2b58f813d930f5cd2c871238a8e6a8e8045b3c84810493e0/uwaterloo_addcourse-1.0.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7b8655a89fa08d1db1ab5b4106751f39", "sha256": "e92bda95bf891ff46645cee4924528a3ce2494f4e045f8122d937784da7e287e" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.0.5-py3.4.egg", "has_sig": false, "md5_digest": "7b8655a89fa08d1db1ab5b4106751f39", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 23334, "upload_time": "2015-04-27T15:09:08", "url": "https://files.pythonhosted.org/packages/7a/c8/3dc32cb9a5dd2a45263cbcb6504bfdc759414153fee02ed85a0df8eb1932/uwaterloo_addcourse-1.0.5-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "d9c519d9a04c2639b9895afda02ffb1f", "sha256": "012f9ab040da4d5e66de10323af32532dd9f60c79894d830e29e9ba7b0bbbab5" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.5.tar.gz", "has_sig": false, "md5_digest": "d9c519d9a04c2639b9895afda02ffb1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21310, "upload_time": "2015-04-27T15:09:01", "url": "https://files.pythonhosted.org/packages/11/4b/a8fb8731862dbbc22f9108c571b83f6180f7a30c183d055ffe0d6508ba81/uwaterloo-addcourse-1.0.5.tar.gz" }, { "comment_text": "", "digests": { "md5": "39bf675bea76a2d5c853f24648429c64", "sha256": "9b3b9cdc16ebafb1c11ab6eb6756a0f3b9be344d8181043953aedd208fb5cb5b" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.5.win32.exe", "has_sig": false, "md5_digest": "39bf675bea76a2d5c853f24648429c64", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 249685, "upload_time": "2015-04-27T15:10:59", "url": "https://files.pythonhosted.org/packages/00/87/b92c809c3e8cbbec8e5056c3b4e61de3bf8ea306481e484d6de78849b6ba/uwaterloo-addcourse-1.0.5.win32.exe" }, { "comment_text": "", "digests": { "md5": "d565264823503b2c28b1c0fde6c0410a", "sha256": "4da384c3bb0c712a156e49c8a6b38b7ec91fa7b8dc77f5fdcbc1ff99cf26958b" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.0.5.win32.msi", "has_sig": false, "md5_digest": "d565264823503b2c28b1c0fde6c0410a", "packagetype": "bdist_msi", "python_version": "any", "requires_python": null, "size": 262144, "upload_time": "2015-04-27T15:10:55", "url": "https://files.pythonhosted.org/packages/e4/b9/5680278e5d789468d1ec2e5b89a0ee403d4dec7e7de6c10db0b1f4257d43/uwaterloo-addcourse-1.0.5.win32.msi" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "00f5c38469bd1f3e0b4426238c8b85ca", "sha256": "ef54af02228499679a60b26a5161c250c841dc21b971e04e0a542995c95e1097" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.1.0-py2.7.egg", "has_sig": false, "md5_digest": "00f5c38469bd1f3e0b4426238c8b85ca", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 24633, "upload_time": "2015-05-05T18:04:08", "url": "https://files.pythonhosted.org/packages/d3/2d/7282ca4def3e66030ca3df4335c3f3342cf83d4352ff85b7e5e55bb7deda/uwaterloo_addcourse-1.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "75cf31243d1fbff92bf0cbd05fd3cc8f", "sha256": "2123b0293415c54730b4cc5d5137f44028b01c80fcfd21ada13140f7c815ce1e" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.1.0.tar.gz", "has_sig": false, "md5_digest": "75cf31243d1fbff92bf0cbd05fd3cc8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26893, "upload_time": "2015-05-05T18:04:05", "url": "https://files.pythonhosted.org/packages/11/d7/cf35642be3e53d73afb08b4f776b0388f3b044b8892d7b52d6a746510340/uwaterloo-addcourse-1.1.0.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "305c1b5dec9313570ae776198ca7aa99", "sha256": "6d958f5f0bd2e25696b0e84e2952051f83044bdb65fbd77a75ddeb78a871d6d7" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.1.2-py2.7.egg", "has_sig": false, "md5_digest": "305c1b5dec9313570ae776198ca7aa99", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 24635, "upload_time": "2015-05-23T16:31:01", "url": "https://files.pythonhosted.org/packages/8d/b7/f4c9cbfcd75ed1dc1ee7d7d180587cd8833549fdacb824bbd9fc02540a00/uwaterloo_addcourse-1.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "bd426a4da858d8454de8bdf657bb1972", "sha256": "0b04f1f0e11fa78e5489abca16a8a61c5b6b8d60487ae86d35ecf5399783cc81" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.1.2-py3.4.egg", "has_sig": false, "md5_digest": "bd426a4da858d8454de8bdf657bb1972", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 25475, "upload_time": "2015-05-23T16:31:05", "url": "https://files.pythonhosted.org/packages/4f/69/3d28b94f64b8e951b1e2386a08d39581f6f8942499e10a5f37dc9688b202/uwaterloo_addcourse-1.1.2-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "cb6d8fa5be942f420a38e86d03a2572e", "sha256": "1f768a53b41a1510dd96a4eefe807a0c870ef66d96c228900d6dc583bad01cff" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.1.2.tar.gz", "has_sig": false, "md5_digest": "cb6d8fa5be942f420a38e86d03a2572e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26897, "upload_time": "2015-05-23T16:30:57", "url": "https://files.pythonhosted.org/packages/25/5f/b2a9e4b8b1ea83097bd8df955dbb1d2e00a4cc124e8de277c51a80c018cd/uwaterloo-addcourse-1.1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "e6277bede3aff156d0d65650f4d12504", "sha256": "d1780f7744c60fd42301c35f1502133a00fbd1f43e0fbc7a4968741c042c479e" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.2.1-py2.7.egg", "has_sig": false, "md5_digest": "e6277bede3aff156d0d65650f4d12504", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 24661, "upload_time": "2015-05-23T16:42:11", "url": "https://files.pythonhosted.org/packages/40/b8/2d41ea03bc8d1d83729fce2f50fed2567530eead385937e7a8e158fc4ca4/uwaterloo_addcourse-1.2.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "aff5abe4622a20ade76f8a2fb33b8308", "sha256": "2f42b9d03ea4b33c0b31d615b743b17909491a7b943fbc9704d6a746259fb248" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.2.1-py3.4.egg", "has_sig": false, "md5_digest": "aff5abe4622a20ade76f8a2fb33b8308", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 25467, "upload_time": "2015-05-23T16:42:15", "url": "https://files.pythonhosted.org/packages/63/8f/dab8b798d97b3d23785d39c55f200b2c94e1b32ce823a4253c7c73da6144/uwaterloo_addcourse-1.2.1-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "8c564f8328bf4d7eb18af9e452231e57", "sha256": "49c8bfd488d19067d5f73fce304b2587b6d15319c8063d8d71eef3a1e12d86a4" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.2.1.tar.gz", "has_sig": false, "md5_digest": "8c564f8328bf4d7eb18af9e452231e57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32000, "upload_time": "2015-05-23T16:42:08", "url": "https://files.pythonhosted.org/packages/10/d8/3c3a67b30accf0aaf09f389c2925d1e7c27832657ab1c279acf8254d925b/uwaterloo-addcourse-1.2.1.tar.gz" } ], "v1.1.0": [ { "comment_text": "", "digests": { "md5": "3e9a30b5b07bf2072ebf262fc4e9675f", "sha256": "0c5e30bf1b781670feda1de63f4f175b1902d60a05c065fc31afdc97aff53525" }, "downloads": -1, "filename": "uwaterloo_addcourse-v1.1.0-py3.4.egg", "has_sig": false, "md5_digest": "3e9a30b5b07bf2072ebf262fc4e9675f", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 25444, "upload_time": "2015-05-05T18:04:12", "url": "https://files.pythonhosted.org/packages/83/1a/63eacaf869f9357981ece7e5fc814fe1345097faa15f4d68194ea4da4979/uwaterloo_addcourse-v1.1.0-py3.4.egg" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e6277bede3aff156d0d65650f4d12504", "sha256": "d1780f7744c60fd42301c35f1502133a00fbd1f43e0fbc7a4968741c042c479e" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.2.1-py2.7.egg", "has_sig": false, "md5_digest": "e6277bede3aff156d0d65650f4d12504", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 24661, "upload_time": "2015-05-23T16:42:11", "url": "https://files.pythonhosted.org/packages/40/b8/2d41ea03bc8d1d83729fce2f50fed2567530eead385937e7a8e158fc4ca4/uwaterloo_addcourse-1.2.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "aff5abe4622a20ade76f8a2fb33b8308", "sha256": "2f42b9d03ea4b33c0b31d615b743b17909491a7b943fbc9704d6a746259fb248" }, "downloads": -1, "filename": "uwaterloo_addcourse-1.2.1-py3.4.egg", "has_sig": false, "md5_digest": "aff5abe4622a20ade76f8a2fb33b8308", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 25467, "upload_time": "2015-05-23T16:42:15", "url": "https://files.pythonhosted.org/packages/63/8f/dab8b798d97b3d23785d39c55f200b2c94e1b32ce823a4253c7c73da6144/uwaterloo_addcourse-1.2.1-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "8c564f8328bf4d7eb18af9e452231e57", "sha256": "49c8bfd488d19067d5f73fce304b2587b6d15319c8063d8d71eef3a1e12d86a4" }, "downloads": -1, "filename": "uwaterloo-addcourse-1.2.1.tar.gz", "has_sig": false, "md5_digest": "8c564f8328bf4d7eb18af9e452231e57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32000, "upload_time": "2015-05-23T16:42:08", "url": "https://files.pythonhosted.org/packages/10/d8/3c3a67b30accf0aaf09f389c2925d1e7c27832657ab1c279acf8254d925b/uwaterloo-addcourse-1.2.1.tar.gz" } ] }