{ "info": { "author": "Ivan Carvalho", "author_email": "ivan.carvalho@alumni.ubc.ca", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Build Tools" ], "description": "# SuSy API [![Python 3.5+](https://img.shields.io/badge/python-3.5+-blue.svg)](https://www.python.org/download/releases/3.5.0/) [![PyPI release](https://img.shields.io/pypi/v/susyapi.svg)](https://pypi.org/project/susyapi/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\nAn API to get data from [University of Campinas' Submission System (SuSy)](https://www.ic.unicamp.br/~susy/).\n\n## Install\n\nTo install the API, simply run: \n`pip install susyapi`\n\n## Usage\n\nThe main endpoints are the `get_sections`, `get_assignments` and `get_users` functions.\n\n```\nsusyapi.get_sections()\n\nFetch list of sections from SuSy's page\n\nArgs:\n url (str): The URL of SuSy's main page. If none is provided, the default one is used.\n\nReturns:\n sections (dict): A dictionary where the key is the section code and the value is the section URL.\n\nsusyapi.get_assignments()\n\nFetch list of assignments from a SuSy's section's page\n\nArgs:\n url (str): The URL of a SuSy's section's page.\n\nReturns:\n assignments (dict): A dictionary where the key is the assignment code and the value is a dictionary\n containing the assignment name, due date and a list of its groups.\n\nsusyapi.get_users()\n\nFetch list of users who completed the assignment from a SuSy's assignment's group page\n\nArgs:\n url (str or list): The URL (or list of URLs) of a SuSy's assignment's group page.\n\nReturns:\n completed_users (list): A list of the id of the users that completed the assignment.\n\n```\n\nExample:\n```Python\n>>> import susyapi\n>>> susyapi.get_sections()\n{'mc202def': 'https://susy.ic.unicamp.br:9999/mc202def',\n 'mc999': 'https://susy.ic.unicamp.br:9999/mc999',\n 'mo901a': 'https://susy.ic.unicamp.br:9999/mo901a'}\n>>> susyapi.get_assignments(\"https://susy.ic.unicamp.br:9999/mc999\")\n{'00': {'url': 'https://susy.ic.unicamp.br:9999/mc999/00',\n 'name': 'Contagem de linhas e caracteres ',\n 'due_date': datetime.datetime(2020, 12, 31, 23, 59, 59),\n 'groups': ['https://susy.ic.unicamp.br:9999/mc999/00/relatoA.html',\n 'https://susy.ic.unicamp.br:9999/mc999/00/relatoB.html']},\n '01': {'url': 'https://susy.ic.unicamp.br:9999/mc999/01',\n 'name': 'Contagem de linhas: sele\u00e7\u00e3o de processador ',\n 'due_date': datetime.datetime(2020, 12, 28, 23, 59, 59),\n 'groups': ['https://susy.ic.unicamp.br:9999/mc999/01/relatoA.html',\n 'https://susy.ic.unicamp.br:9999/mc999/01/relatoB.html']}}\n>>> susyapi.get_users(\"https://susy.ic.unicamp.br:9999/mc999/01/relatoA.html\")\n[\"visita\"]\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/IvanIsCoding/SuSyAPI", "keywords": "unicamp susy api", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "susyapi", "package_url": "https://pypi.org/project/susyapi/", "platform": "", "project_url": "https://pypi.org/project/susyapi/", "project_urls": { "Homepage": "https://github.com/IvanIsCoding/SuSyAPI" }, "release_url": "https://pypi.org/project/susyapi/0.1.1/", "requires_dist": [ "bs4", "requests" ], "requires_python": ">=3.5", "summary": "An API for getting information from University of Campinas' Submission System", "version": "0.1.1" }, "last_serial": 4862453, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "88f4dd0ada1df8e28af0b08ffa414d46", "sha256": "cc6aea315d55233cd51268f11c29318239d2b5c6e79a1d6a637abc7bdcb6bc03" }, "downloads": -1, "filename": "susyapi-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "88f4dd0ada1df8e28af0b08ffa414d46", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5378, "upload_time": "2019-02-24T19:43:00", "url": "https://files.pythonhosted.org/packages/83/db/33a6a85f429a72807025906aaddd3f56ea8ca5e65e9b46df266d78bc999f/susyapi-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52f2c56450cc3127e9b50e12318bc654", "sha256": "49486c90c2817976532b7dbcb1f4a41cfad08ee8fea20cc4b6c835dd5b8ebcab" }, "downloads": -1, "filename": "susyapi-0.1.tar.gz", "has_sig": false, "md5_digest": "52f2c56450cc3127e9b50e12318bc654", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5018, "upload_time": "2019-02-24T19:43:02", "url": "https://files.pythonhosted.org/packages/37/fb/86fe74422f4bd93fe876e76cadfa8e17d113edc89ec883df813c810dc0c1/susyapi-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6edbe2ce7145b656a1649e818796592f", "sha256": "8b4b4809f5ef3cc1b52320108d6623a7132df3e6c3d2dd5b0f17742bdaecf044" }, "downloads": -1, "filename": "susyapi-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6edbe2ce7145b656a1649e818796592f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5445, "upload_time": "2019-02-25T00:31:26", "url": "https://files.pythonhosted.org/packages/ed/e3/36f7c22e3296483905ef606acb67f918d196876163876e6321f94a63344e/susyapi-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1643e2350dca5f0502e50759b254874", "sha256": "4f35033447f096705ae11b6048f8550ba49b1a2b52d8ffa557cb2e086a4555a1" }, "downloads": -1, "filename": "susyapi-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d1643e2350dca5f0502e50759b254874", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5047, "upload_time": "2019-02-25T00:31:28", "url": "https://files.pythonhosted.org/packages/c7/09/49014c0d3c9618f48f6ed1a742c860f9ffd5a19ce74e1dcf18547d70245c/susyapi-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6edbe2ce7145b656a1649e818796592f", "sha256": "8b4b4809f5ef3cc1b52320108d6623a7132df3e6c3d2dd5b0f17742bdaecf044" }, "downloads": -1, "filename": "susyapi-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6edbe2ce7145b656a1649e818796592f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5445, "upload_time": "2019-02-25T00:31:26", "url": "https://files.pythonhosted.org/packages/ed/e3/36f7c22e3296483905ef606acb67f918d196876163876e6321f94a63344e/susyapi-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1643e2350dca5f0502e50759b254874", "sha256": "4f35033447f096705ae11b6048f8550ba49b1a2b52d8ffa557cb2e086a4555a1" }, "downloads": -1, "filename": "susyapi-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d1643e2350dca5f0502e50759b254874", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5047, "upload_time": "2019-02-25T00:31:28", "url": "https://files.pythonhosted.org/packages/c7/09/49014c0d3c9618f48f6ed1a742c860f9ffd5a19ce74e1dcf18547d70245c/susyapi-0.1.1.tar.gz" } ] }