{ "info": { "author": "Francis Bergin", "author_email": "me@francisbergin.com", "bugtrack_url": null, "classifiers": [], "description": "concordia-class-search\n======================\n\n.. image:: https://img.shields.io/pypi/v/concordia-class-search.svg\n :target: https://pypi.org/project/concordia-class-search\n\n.. image:: https://travis-ci.org/francisbergin/concordia-class-search.svg?branch=master\n :target: https://travis-ci.org/francisbergin/concordia-class-search\n\noverview\n--------\n\n``concordia-class-search`` is a project containing a Python module used to\ninteract with Concordia University `Class Search`_ to view classes and their\nstatus. It also contains a simple app to view this information from the command\nline.\n\nwarning\n-------\n\nThis project uses web scraping to get its data; when the target website is\nmodified or down, this library breaks. Please keep this in mind when using it.\n\nrequirements\n------------\n\n- ``Python 3.6``\n\ninstallation\n------------\n\n.. code:: console\n\n $ pip install concordia-class-search\n\nusage\n-----\n\nAs a Python module:\n\n.. code:: python\n\n import concordia_class_search\n\n terms = concordia_class_search.terms()\n careers = concordia_class_search.careers()\n subjects = concordia_class_search.subjects()\n classes = concordia_class_search.class_search(term=2171, career='ugrd', subject='comp', number=352)\n\nAs a command line application:\n\n.. code:: console\n\n $ ccs search -t 2172 -c ugrd -s comp -n 346\n COMP 346 - Operating Systems\n number section daytime room instructor dates term status\n -------- -------------- ------------------ ----------- ------------ ----------------------- --------- ---------\n 1764 DJ-X-LAB 13 Wk Th 7:45PM - 9:35PM TBA Staff 09/05/2017 - 12/04/2017 Fall 2017 Open\n 1765 DI-X-LAB 13 Wk Th 5:45PM - 7:35PM TBA Staff 09/05/2017 - 12/04/2017 Fall 2017 Wait List\n 1766 DDDB-TUT 13 Wk Tu 8:30PM - 9:20PM TBA Staff 09/05/2017 - 12/04/2017 Fall 2017 Open\n 1767 DDDA-TUT 13 Wk Tu 8:30PM - 9:20PM TBA Staff 09/05/2017 - 12/04/2017 Fall 2017 Open\n 1768 DD-LEC 13 Wk Tu 5:45PM - 8:15PM FG B050 SGW Staff 09/05/2017 - 12/04/2017 Fall 2017 Open\n\ndevelopment\n-----------\n\n.. code:: shell\n\n $ git clone https://github.com/fbergin/concordia-class-search.git && cd concordia-class-search\n $ python3 -m venv venv && source venv/bin/activate\n (venv) $ pip3 install -e .[dev]\n\ntesting\n-------\n\n.. code:: shell\n\n (venv) $ make tests\n\n.. _Class Search: https://campus.concordia.ca/psc/pscsprd/EMPLOYEE/HRMS/c/CU_EXT.CU_CLASS_SEARCH.GBL\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/francisbergin/concordia-class-search", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "concordia-class-search", "package_url": "https://pypi.org/project/concordia-class-search/", "platform": "", "project_url": "https://pypi.org/project/concordia-class-search/", "project_urls": { "Homepage": "https://github.com/francisbergin/concordia-class-search" }, "release_url": "https://pypi.org/project/concordia-class-search/1.2.1/", "requires_dist": [ "beautifulsoup4 (==4.7.1)", "requests (==2.21.0)", "tabulate (==0.8.3)", "coverage (==4.5.2) ; extra == 'dev'", "nose (==1.3.7) ; extra == 'dev'", "nose-timer (==0.7.4) ; extra == 'dev'", "twine (==1.13.0) ; extra == 'dev'", "vcrpy (==2.0.1) ; extra == 'dev'", "wheel (==0.33.1) ; extra == 'dev'" ], "requires_python": "", "summary": "Concordia Class Search Python module and command line tool", "version": "1.2.1" }, "last_serial": 4896229, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "7f718d7018cb8dd9c5cdd0c312501e41", "sha256": "0edab04a825fbe5894f841baf56efa07d67fd46c76b8efc1dc618637adfffd50" }, "downloads": -1, "filename": "concordia_class_search-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7f718d7018cb8dd9c5cdd0c312501e41", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11192, "upload_time": "2017-08-04T00:33:04", "url": "https://files.pythonhosted.org/packages/22/19/c535ec36f6f80ec21b4f450f8d9eee05e910cf1dc7ab76deafb55021d1fd/concordia_class_search-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6cedc97c97206c763f7602df4ba9f5c9", "sha256": "544fbd221bad228f2796727cf9910ef24e1993739ec9eef8d97923bd824ada15" }, "downloads": -1, "filename": "concordia-class-search-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6cedc97c97206c763f7602df4ba9f5c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7364, "upload_time": "2017-08-04T00:33:06", "url": "https://files.pythonhosted.org/packages/af/76/f4ebd0c985db9781bd785641fbdee24b6667ba2f7d8edc0a71f3b2a08e53/concordia-class-search-0.1.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "7dca747cdadfb673cff0498204525748", "sha256": "63a1a1f2c82d4db5f8b35f40426a5da1420b596b91739505db6d57f3aaf2cbf4" }, "downloads": -1, "filename": "concordia_class_search-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7dca747cdadfb673cff0498204525748", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10912, "upload_time": "2017-08-19T14:54:36", "url": "https://files.pythonhosted.org/packages/3f/c7/4aff8f224ff833a437dbe51d73be9481096dec429658ab8d077c455cd6ae/concordia_class_search-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89fbc87c85819f1b6102191e444af5fd", "sha256": "ee89c13de50d1f0b8d1d253db3f5a65cf59d1506efcb98890fa1a0f6f79daa6b" }, "downloads": -1, "filename": "concordia-class-search-1.0.0.tar.gz", "has_sig": false, "md5_digest": "89fbc87c85819f1b6102191e444af5fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7128, "upload_time": "2017-08-19T14:54:38", "url": "https://files.pythonhosted.org/packages/69/e0/149779ef2066f2b3218cd1c0811edb3b127b79abf122375031a14ccade41/concordia-class-search-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "613a0ea410e83c201286ba27abe2ab8d", "sha256": "0b31d872b676fd21b186be587b01882d2affaa0e0d45b085297f6207254db837" }, "downloads": -1, "filename": "concordia_class_search-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "613a0ea410e83c201286ba27abe2ab8d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10951, "upload_time": "2018-01-07T04:18:06", "url": "https://files.pythonhosted.org/packages/a5/00/a341c2f6109dda8097b9842bb5531c3b1d967e5ed8d23cdfce82694c5ec3/concordia_class_search-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cc840bcce3e2311d5e4261585811020", "sha256": "e7da85c179de183ed292d1a9b8d4b87aae140f6f82a4ce51eace8ff7f7c866df" }, "downloads": -1, "filename": "concordia-class-search-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8cc840bcce3e2311d5e4261585811020", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7135, "upload_time": "2018-01-07T04:18:07", "url": "https://files.pythonhosted.org/packages/35/90/fbe6168c7a846e322d499bd5fcd6151a0682878cdb72820c9538c4f48fa3/concordia-class-search-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "2acd577dd16552d172087a4b3d564c7d", "sha256": "6944d5bef5e39c345bfd81074fba438a247f040e520ead12eeefff458e29a950" }, "downloads": -1, "filename": "concordia_class_search-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2acd577dd16552d172087a4b3d564c7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10953, "upload_time": "2018-01-07T04:57:38", "url": "https://files.pythonhosted.org/packages/36/1c/70848d745d69f3badd8d2cea648aa23bb7d50c5dcd999cb1372af3585a5f/concordia_class_search-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fcf6d5092bae3d0b5243b4f4d09abc23", "sha256": "845b33544998be4c0aebe9c63fc9e4e8dbb10b1ac545e6a9f6ecdcb6a228a4b8" }, "downloads": -1, "filename": "concordia-class-search-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fcf6d5092bae3d0b5243b4f4d09abc23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7135, "upload_time": "2018-01-07T04:57:39", "url": "https://files.pythonhosted.org/packages/89/cc/bef061cf608c23e87563e29890a6f7b67d426faa0b08af51d14f3ded8fc2/concordia-class-search-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "fdd5ac371ff58a4a81c445e48a2ddb2d", "sha256": "10e8424a90087189449bed9eaa3d15fd75c9e1d710233dcae4a3fb616e3233bf" }, "downloads": -1, "filename": "concordia_class_search-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fdd5ac371ff58a4a81c445e48a2ddb2d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11161, "upload_time": "2018-04-02T18:18:29", "url": "https://files.pythonhosted.org/packages/39/b0/2cf8325e69fe18aa3dcbac44c8be652545efd667e5581cc452ab163ca756/concordia_class_search-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2c3df500ce88dbd0536e1f6f2d466eb", "sha256": "50c660dbb308287c258da0d64ca26508e983fd0680380ca1d50cc99ed438637a" }, "downloads": -1, "filename": "concordia-class-search-1.0.3.tar.gz", "has_sig": false, "md5_digest": "f2c3df500ce88dbd0536e1f6f2d466eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7253, "upload_time": "2018-04-02T18:18:30", "url": "https://files.pythonhosted.org/packages/82/be/a186ff4afab905f1459181bfa54e342b6b26bc9219546533b2051dc7dbe2/concordia-class-search-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "77cad98dd43257993245cf61eadc15af", "sha256": "7faca98b7194737088c9c8f49a672fdc23d065ec40414b88c7e063902518f7ae" }, "downloads": -1, "filename": "concordia_class_search-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "77cad98dd43257993245cf61eadc15af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11145, "upload_time": "2018-04-05T19:10:20", "url": "https://files.pythonhosted.org/packages/3e/34/d564d1eae56108fa99d063f07f3a8e29c400c5340179b44289e8a59f3d74/concordia_class_search-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00d81904ce9c3430a7dfc2557118e891", "sha256": "cf5811dd91e2b1d8a30fd87ba4b347ad7268abef335ec0784a811c2657bef401" }, "downloads": -1, "filename": "concordia-class-search-1.0.4.tar.gz", "has_sig": false, "md5_digest": "00d81904ce9c3430a7dfc2557118e891", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7246, "upload_time": "2018-04-05T19:10:21", "url": "https://files.pythonhosted.org/packages/c9/08/c261f4bff3f6bf4bb2aa665ec2b35f8998fef2e93efdb8a93993b3432d6e/concordia-class-search-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "0129e43d1ab2e0688db1dfe871a028a2", "sha256": "7da19bebfc29bcbb9fb61ccceac3073ad23bd524f17d1bb222a524b9175b51ae" }, "downloads": -1, "filename": "concordia_class_search-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0129e43d1ab2e0688db1dfe871a028a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10005, "upload_time": "2018-12-11T16:15:49", "url": "https://files.pythonhosted.org/packages/ee/83/66b0848ee7c0a3f15bdf643095aa4501ee85901603e1863acf702c5196f1/concordia_class_search-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c08ac348b77c278665111cc0f3681fcf", "sha256": "965bf6440dac0b9a916d71323b935419a87b7890eb5d049df517f4695decdf8e" }, "downloads": -1, "filename": "concordia-class-search-1.0.5.tar.gz", "has_sig": false, "md5_digest": "c08ac348b77c278665111cc0f3681fcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7133, "upload_time": "2018-12-11T16:15:51", "url": "https://files.pythonhosted.org/packages/1a/a1/a3dd9cab5f91d3305aa39a0a9d7a4d6f0a3da579644d523d2e182a813f5a/concordia-class-search-1.0.5.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e9afc93d4b97605eede8590525a14c45", "sha256": "bfbd47c8a37c8a923ce1e2a5673a09f28d701a1a7a02e392be5d7541a59e1534" }, "downloads": -1, "filename": "concordia_class_search-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e9afc93d4b97605eede8590525a14c45", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9997, "upload_time": "2018-12-15T22:50:17", "url": "https://files.pythonhosted.org/packages/29/4c/b13603682fceb41d5b07bed24142f42ee251849a7b139226731106163274/concordia_class_search-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8d0b9259e9f0bf34ab0dcdc8ad9bff4", "sha256": "53970de671a31dd49d93fd258bc5d124a1eb163962b5bbf60bffb5a70682267e" }, "downloads": -1, "filename": "concordia-class-search-1.1.0.tar.gz", "has_sig": false, "md5_digest": "f8d0b9259e9f0bf34ab0dcdc8ad9bff4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7135, "upload_time": "2018-12-15T22:50:18", "url": "https://files.pythonhosted.org/packages/17/0a/bab1e44ff97f8517e43d9e25dc96cdb32a62c6591c29b51f7b71403a553e/concordia-class-search-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "eab649968c90f038f81316574baa78bb", "sha256": "5aa94583b90c7eba4ee6d802779d228d7e18d952079c40d8c3ccbb5b26c75142" }, "downloads": -1, "filename": "concordia_class_search-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "eab649968c90f038f81316574baa78bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10022, "upload_time": "2018-12-20T04:15:40", "url": "https://files.pythonhosted.org/packages/05/41/350eb96bb82d21fd56fe70d556288388bfa6accde9f06d3ec10b128f29ba/concordia_class_search-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b705480482dab387f55ea929ba7af251", "sha256": "5423822914057d8b0072212533a5c77cd184ea3038957487923f0dc52339c9ca" }, "downloads": -1, "filename": "concordia-class-search-1.2.0.tar.gz", "has_sig": false, "md5_digest": "b705480482dab387f55ea929ba7af251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7142, "upload_time": "2018-12-20T04:15:42", "url": "https://files.pythonhosted.org/packages/07/6c/e332c51e9d03dcb9c0dccedcba2758876387720aa414fb16ae21579e37d0/concordia-class-search-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "cef9a74b7e09f02644774c4152656cc1", "sha256": "6e592923c777395f417de9ca11b7e450763729f8595a0c7743ea7a2bed4b71e4" }, "downloads": -1, "filename": "concordia_class_search-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cef9a74b7e09f02644774c4152656cc1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10018, "upload_time": "2019-03-04T21:23:10", "url": "https://files.pythonhosted.org/packages/fb/8c/a1c5bcbab4b1e8ee9bdfffa8ec1a1fe54c0ecadb6d8e4e2321bd531cdfc2/concordia_class_search-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f231984ea0949257e77a7df05892c642", "sha256": "b005eb6ba98de3a533cfab9f9b2d2e4191e7a4246c95437ec84a9d8e6e477a54" }, "downloads": -1, "filename": "concordia-class-search-1.2.1.tar.gz", "has_sig": false, "md5_digest": "f231984ea0949257e77a7df05892c642", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7139, "upload_time": "2019-03-04T21:23:13", "url": "https://files.pythonhosted.org/packages/28/d5/50b38f4903c951f30846f589b094fa6f2a92f4b4c256537562ae52a3e5b7/concordia-class-search-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cef9a74b7e09f02644774c4152656cc1", "sha256": "6e592923c777395f417de9ca11b7e450763729f8595a0c7743ea7a2bed4b71e4" }, "downloads": -1, "filename": "concordia_class_search-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cef9a74b7e09f02644774c4152656cc1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10018, "upload_time": "2019-03-04T21:23:10", "url": "https://files.pythonhosted.org/packages/fb/8c/a1c5bcbab4b1e8ee9bdfffa8ec1a1fe54c0ecadb6d8e4e2321bd531cdfc2/concordia_class_search-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f231984ea0949257e77a7df05892c642", "sha256": "b005eb6ba98de3a533cfab9f9b2d2e4191e7a4246c95437ec84a9d8e6e477a54" }, "downloads": -1, "filename": "concordia-class-search-1.2.1.tar.gz", "has_sig": false, "md5_digest": "f231984ea0949257e77a7df05892c642", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7139, "upload_time": "2019-03-04T21:23:13", "url": "https://files.pythonhosted.org/packages/28/d5/50b38f4903c951f30846f589b094fa6f2a92f4b4c256537562ae52a3e5b7/concordia-class-search-1.2.1.tar.gz" } ] }