{ "info": { "author": "edX", "author_email": "oscm@edx.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "edx-bulk-grades\n=============================\n\n|pypi-badge| |travis-badge| |codecov-badge| |doc-badge| |pyversions-badge|\n|license-badge|\n\nSupport for bulk scoring and grading. This adds models and an API for reading and modifying\nscores and grades in bulk.\n\nOverview\n---------\n\nThe ``README.rst`` file should then provide an overview of the code in this\nrepository, including the main components and useful entry points for starting\nto understand the code in more detail.\nedx-bulk-grades is a library that runs under lms. It uses the configuration settings defined in lms as well.\nIn order to use, the library must be installed into edx-platform.\n\nUsing with Docker Devstack\n--------------------------\nPrerequisite: Have your Open edX https://github.com/edx/devstack properly installed.\nNote: When you see \"from inside the lms\" below, it means that you've run ``make lms-shell`` from your devstack directory\nand are on a command prompt inside the LMS container.\n\n1. | Clone this repo into ``../src/`` directory (relative to your \"devstack\" repo location). This will mount the directory\n | in a way that is accessible to the lms container.\n\n2. From inside the lms, uninstall bulk-grades and reinstall your local copy. You can just copy the following line::\n\n pip uninstall edx-bulk-grades -y; pip install -e /edx/src/edx-bulk-grades\n\n3. Now, get your bulk-grades development environment set up::\n\n cd /edx/src/edx-bulk-grades\n virtualenv edx-bulk-grades-env\n source edx-bulk-grades-env/bin/activate\n make requirements\n\nMaking Code Changes\n-------------------\n\n1. | After checking out a new branch, increment ``__version__`` by the smallest possible value located in ``bulk_grades/__init__.py``.\n | This will allow edx-platform to pick up the new version.\n\n2. | Once a branch has been merged, it is necessary to make a release on github, specifying the new version from\n | ``__version__`` set above.\n\n3. In order for platform to use the newest version of bulk-grades, it is necessary to run the::\n\n $ make upgrade\n\nfrom docker shell of edx-platform. This will increment the version of edx-bulk-grades to the correct one.\n\n4. Once the code from step 3 is merged, this will trigger deployment of the correct versions of edx platform and bulk-grades.\n\nUnit Testing\n------------\nmock_apps folder: Since bulk_grades depends on platform during actual runtime, for unit tests, we need to mock various\nendpoints and calls. To this end, they are mocked in the mock_apps folder.\n\nSince edx-bulk grades runs under platform, it is necessary to connect to platform docker::\n\n $ make lms-shell\n\nfollowed by::\n\n $ cd /edx/src/edx-bulk-grades\n make test\n\nThis will run the unit tests and code coverage numbers\n\nLicense\n-------\n\nThe code in this repository is licensed under the AGPL 3.0 unless\notherwise noted.\n\nPlease see ``LICENSE.txt`` for details.\n\nHow To Contribute\n-----------------\n\nContributions are very welcome.\n\nPlease read `How To Contribute `_ for details.\n\nEven though they were written with ``edx-platform`` in mind, the guidelines\nshould be followed for Open edX code in general.\n\nThe pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you\ncan find it at `PULL_REQUEST_TEMPLATE.md `_.\n\nThe issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you\ncan find it at `ISSUE_TEMPLATE.md `_.\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@edx.org.\n\nGetting Help\n------------\n\nHave a question about this repository, or about Open edX in general? Please\nrefer to this `list of resources`_ if you need any assistance.\n\n.. _list of resources: https://open.edx.org/getting-help\n\n\n.. |pypi-badge| image:: https://img.shields.io/pypi/v/edx-bulk-grades.svg\n :target: https://pypi.python.org/pypi/edx-bulk-grades/\n :alt: PyPI\n\n.. |travis-badge| image:: https://travis-ci.org/edx/edx-bulk-grades.svg?branch=master\n :target: https://travis-ci.org/edx/edx-bulk-grades\n :alt: Travis\n\n.. |codecov-badge| image:: http://codecov.io/github/edx/edx-bulk-grades/coverage.svg?branch=master\n :target: http://codecov.io/github/edx/edx-bulk-grades?branch=master\n :alt: Codecov\n\n.. |doc-badge| image:: https://readthedocs.org/projects/edx-bulk-grades/badge/?version=latest\n :target: http://edx-bulk-grades.readthedocs.io/en/latest/\n :alt: Documentation\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/edx-bulk-grades.svg\n :target: https://pypi.python.org/pypi/edx-bulk-grades/\n :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/edx/edx-bulk-grades.svg\n :target: https://github.com/edx/edx-bulk-grades/blob/master/LICENSE.txt\n :alt: License\n\n\nChange Log\n----------\n\n..\n All enhancements and patches to bulk_grades will be documented\n in this file. It adheres to the structure of http://keepachangelog.com/ ,\n but in reStructuredText instead of Markdown (for ease of incorporation into\n Sphinx documentation and the PyPI description).\n\n This project adheres to Semantic Versioning (http://semver.org/).\n\n.. There should always be an \"Unreleased\" section for changes pending release.\n\nUnreleased\n~~~~~~~~~~\n*\n\n[0.6.4] - 2019-09-24\n~~~~~~~~~~~~~~~~~~~~~\n* ``GradeCSVProcessor.save()`` should return something.\n\n[0.6.3] - 2019-09-24\n~~~~~~~~~~~~~~~~~~~~~\n* Upgrade super-csv to 0.9.4, make sure to pass ``user_id`` to GradeCSVProcessor.__init__().\n\n[0.6.2] - 2019-09-23\n~~~~~~~~~~~~~~~~~~~~~\n* Upgrade super-csv to 0.9.3\n\n[0.6.1] - 2019-09-17\n~~~~~~~~~~~~~~~~~~~~~\n* Call grades api with `comment` when doing bulk upload\n* Add `user_id` field to GradeCSVProcessor to fix bulk_upload history entries\n\n[0.6.0] - 2019-09-10\n~~~~~~~~~~~~~~~~~~~~~\n* Prevent Grade and Intervention CSV processors from producing duplicate columns.\n\n[0.5.10] - 2019-09-06\n~~~~~~~~~~~~~~~~~~~~~\n* Prevent user from setting negative grades\n\n[0.5.9] - 2019-08-28\n~~~~~~~~~~~~~~~~~~~~\n* Make intervention report display either grade override if exists or original grade.\n\n[0.5.8] - 2019-08-26\n~~~~~~~~~~~~~~~~~~~~\n* Make intervention masters track nly. Some clan up.\n\n[0.5.3] - 2019-08-16\n~~~~~~~~~~~~~~~~~~~~\n* Add support for filters to Interventions CSV report endpoint, mirroring bulk management filters\n\n[0.5.2] - 2019-08-15\n~~~~~~~~~~~~~~~~~~~~\n* Bring datasource for grade information inline with what the rest of gradebook uses\n\n[0.4.4] - 2019-08-13\n~~~~~~~~~~~~~~~~~~~~\nAdd ability to filter by course grade, provided as a percentage to the endpoint.\n\n[0.4.3] - 2019-08-12\n~~~~~~~~~~~~~~~~~~~~\nAdd ability to filter by subsection grade, provided as a percentage to the endpoint\n\n[0.4.1] - 2019-08-01\n~~~~~~~~~~~~~~~~~~~~\nAdded ability to filter by subsection & assignment grading type for bulk management CSV downloads.\n\n[0.1.4] - 2019-07-02\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAdded an endpoint for this history of bulk management operations on grade overrides.\n\n[0.1.0] - 2019-05-24\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* First release on PyPI.\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/edx/edx-bulk-grades", "keywords": "Django edx", "license": "AGPL 3.0", "maintainer": "", "maintainer_email": "", "name": "edx-bulk-grades", "package_url": "https://pypi.org/project/edx-bulk-grades/", "platform": "", "project_url": "https://pypi.org/project/edx-bulk-grades/", "project_urls": { "Homepage": "https://github.com/edx/edx-bulk-grades" }, "release_url": "https://pypi.org/project/edx-bulk-grades/0.6.4/", "requires_dist": [ "edx-opaque-keys", "django-model-utils", "Django (<2.0,>=1.11)", "requests", "slumber", "super-csv" ], "requires_python": "", "summary": "Support for bulk scoring and grading", "version": "0.6.4" }, "last_serial": 5881782, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "ea170782648d4c561cfbd33debac8d50", "sha256": "affabdc576c30f38400b787c1c53bf3a63c604bd34d98f9af7dc3057573254fe" }, "downloads": -1, "filename": "edx_bulk_grades-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ea170782648d4c561cfbd33debac8d50", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22865, "upload_time": "2019-06-11T03:03:09", "url": "https://files.pythonhosted.org/packages/59/07/8183dc595a49b634f30772c40af9c0ff97ab335e96fa6956ce639b2dfec9/edx_bulk_grades-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c0c080d063cb337543724a87924c5a6", "sha256": "18252003048efd1480f8f02ada72045df90bbbf7b41b6edaf09661a0b5236903" }, "downloads": -1, "filename": "edx-bulk-grades-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5c0c080d063cb337543724a87924c5a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23007, "upload_time": "2019-06-11T03:03:11", "url": "https://files.pythonhosted.org/packages/e3/32/00351f2fe4df9857e1f7343725dc4ef620871321a298cb1a1d0d4d651c37/edx-bulk-grades-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "0a670c3fd602dc94f5f686aa2b01e1f7", "sha256": "e5b9fc732feed6a7145ccc7bdc7bb9ae8708467ca7c4c136f35cf71b3f2f32bf" }, "downloads": -1, "filename": "edx_bulk_grades-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a670c3fd602dc94f5f686aa2b01e1f7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22984, "upload_time": "2019-07-01T12:34:22", "url": "https://files.pythonhosted.org/packages/97/f4/1126d352bfda5a75f64b2929a1d793d44e512772fbd2ac3b1a5ed3bfbec4/edx_bulk_grades-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "295f7cf59bdfb4bca4b7ef18f8962da8", "sha256": "df90b57b3f3a1d02344dcb6efd3ae7bfbbe5cd400b5a7489e22e5621e36fdf25" }, "downloads": -1, "filename": "edx-bulk-grades-0.1.2.tar.gz", "has_sig": false, "md5_digest": "295f7cf59bdfb4bca4b7ef18f8962da8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23140, "upload_time": "2019-07-01T12:34:23", "url": "https://files.pythonhosted.org/packages/b3/ad/2a093a9501d6ba1ee2e35fee257f50d34c2d6a3fc6bce1d0bf2ffe42dc9e/edx-bulk-grades-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ef01b176d368c6324b50633ddbb75bf9", "sha256": "4f180fa3f7c493382df3648c02be5f9501fcbf7efdefe6528ef454ebfc2fc88b" }, "downloads": -1, "filename": "edx_bulk_grades-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ef01b176d368c6324b50633ddbb75bf9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22985, "upload_time": "2019-07-02T17:21:26", "url": "https://files.pythonhosted.org/packages/66/dc/70ef4168ea471c5e6c0a984d495fa318a20ef41cea9bbae667799192fe8a/edx_bulk_grades-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01382ef0bfc1049c7cdeade9e0ea24be", "sha256": "50af3edeccdb0ce45514cdd6198e7703fc987195a92eb3a56f327fd1a369909d" }, "downloads": -1, "filename": "edx-bulk-grades-0.1.3.tar.gz", "has_sig": false, "md5_digest": "01382ef0bfc1049c7cdeade9e0ea24be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23141, "upload_time": "2019-07-02T17:21:28", "url": "https://files.pythonhosted.org/packages/70/40/a573a8224028fa0f59c25d590649acdac8bdb569458eef87ed743252d47f/edx-bulk-grades-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "e7f4dfbcb0ad3f05caebcf40a192d362", "sha256": "b7b2b47e12d085092b6304dc1e0b48ee7f7260f704e5d604e76a35e818f7d30f" }, "downloads": -1, "filename": "edx_bulk_grades-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e7f4dfbcb0ad3f05caebcf40a192d362", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23269, "upload_time": "2019-07-03T13:50:17", "url": "https://files.pythonhosted.org/packages/ff/dc/e088ae7e77ce86f0ae1313e08bc95ad2ac5b6a87192260333ff3dcffc05b/edx_bulk_grades-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "781e24a135887ddba735ff46d2175c47", "sha256": "29f9594faae7d5fb7fa704c9a9a859815ca645da7b9b385d0f846fe1a032e4b3" }, "downloads": -1, "filename": "edx-bulk-grades-0.1.4.tar.gz", "has_sig": false, "md5_digest": "781e24a135887ddba735ff46d2175c47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23400, "upload_time": "2019-07-03T13:50:19", "url": "https://files.pythonhosted.org/packages/ee/48/f2975b829577ba22bc4d4d5eadbf0ea3d678d190c621394efd6ccb79c15f/edx-bulk-grades-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "eeb48a409abaa2a2588625e4593c6015", "sha256": "48a247f500f77b12400dfb0855b9e92414f73518b5e1868cc74fe5bb35319e98" }, "downloads": -1, "filename": "edx_bulk_grades-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eeb48a409abaa2a2588625e4593c6015", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23846, "upload_time": "2019-07-05T15:49:57", "url": "https://files.pythonhosted.org/packages/59/bf/ab2ec0bf055c3677746db396304d78236343ad6065b7c001011f1d60c259/edx_bulk_grades-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98aef58928851ba792ebb8f51c2c1d58", "sha256": "3fbf1b90f16cb81e34a468e67046a6944a8594f6d89e4e87c0280f7f16a0c187" }, "downloads": -1, "filename": "edx-bulk-grades-0.1.5.tar.gz", "has_sig": false, "md5_digest": "98aef58928851ba792ebb8f51c2c1d58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23498, "upload_time": "2019-07-05T15:49:59", "url": "https://files.pythonhosted.org/packages/4c/0b/0bb7eef5d102918ba59146c847e29534cbfc279962bfd466598801b698df/edx-bulk-grades-0.1.5.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "5bde6bf47b9ddb1c649c41ceff974c96", "sha256": "398d03653916537cede2dc2f90083158677ca6aa1db4951523a06d60546351b9" }, "downloads": -1, "filename": "edx_bulk_grades-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5bde6bf47b9ddb1c649c41ceff974c96", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23791, "upload_time": "2019-07-23T17:06:14", "url": "https://files.pythonhosted.org/packages/d1/9a/79328e138167f91c5fee622582c5994085d43530dd48357a2b4002ddafc3/edx_bulk_grades-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad77d1b06ab5b12bf13b10b980ccf2bb", "sha256": "f473ae59f93505b60a3231f4752c1bbf13232a56247c6293e6a3e94062a11287" }, "downloads": -1, "filename": "edx-bulk-grades-0.2.tar.gz", "has_sig": false, "md5_digest": "ad77d1b06ab5b12bf13b10b980ccf2bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23479, "upload_time": "2019-07-23T17:06:15", "url": "https://files.pythonhosted.org/packages/d4/15/083207bfe3a019151a635c59ebc2a1587d5437d5fbbe52fec866a14232a7/edx-bulk-grades-0.2.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "a4b8a9a4d7cfcbf9347fcfb63c8e4fba", "sha256": "0d0d4deb28f967d2ffcaaee2bc687dacca251550d271b8de277c536bde2898bf" }, "downloads": -1, "filename": "edx_bulk_grades-0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a4b8a9a4d7cfcbf9347fcfb63c8e4fba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24198, "upload_time": "2019-08-01T18:48:08", "url": "https://files.pythonhosted.org/packages/ff/4c/4655bacf72ead6b2f9f4d8c2e89c9982b853e44e51b76b53ee6a4c7ba72e/edx_bulk_grades-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c6cb029ae42f8032765a1343a84fb2d", "sha256": "88cfd08e1c5b5b7aabd28dfec120b90331500c41372ef288514529b4cb20d54e" }, "downloads": -1, "filename": "edx-bulk-grades-0.4.tar.gz", "has_sig": false, "md5_digest": "9c6cb029ae42f8032765a1343a84fb2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22735, "upload_time": "2019-08-01T18:48:10", "url": "https://files.pythonhosted.org/packages/d7/bf/9a0c7439d18fad14736158a4d600ed256f107a0b73a6b8dbeff2aa1af777/edx-bulk-grades-0.4.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "061891ad2104589381ce8eb76a3f9892", "sha256": "339f09121113d8757156ead2e80a49d3601da40386ae4e6090b9e87178e6ba64" }, "downloads": -1, "filename": "edx_bulk_grades-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "061891ad2104589381ce8eb76a3f9892", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24580, "upload_time": "2019-08-05T15:56:25", "url": "https://files.pythonhosted.org/packages/c3/58/8f779a736af07a162a1754cd748091e1b5c1cdf0f338451a4a5caded40a1/edx_bulk_grades-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "513960e3d57cb8d4008f58daf6d32111", "sha256": "a401021a848f47dbaf17f9c7aca2bbd161c96ac90555bc9edc6956a49f6b3bb2" }, "downloads": -1, "filename": "edx-bulk-grades-0.4.2.tar.gz", "has_sig": false, "md5_digest": "513960e3d57cb8d4008f58daf6d32111", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23078, "upload_time": "2019-08-05T15:56:27", "url": "https://files.pythonhosted.org/packages/b8/94/610eaf279200446fa5e9db4b051632c03a364b1b82d6a691a2fea3e15c86/edx-bulk-grades-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "aae75284d596a52254029f031c069d77", "sha256": "68485d6f276066bb12daff0a022aaece54ce7adabe46b6118ce5d5a927c7ba35" }, "downloads": -1, "filename": "edx_bulk_grades-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aae75284d596a52254029f031c069d77", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24814, "upload_time": "2019-08-12T19:06:52", "url": "https://files.pythonhosted.org/packages/46/d4/3786c8f24b4e32d6256aab5634f4b18f368455bf03b5bdbc21c5053b7417/edx_bulk_grades-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9cb3ff1932a9ba0210bca2cfb3a8528", "sha256": "ccaf543ba73410ba9888c87c32a4c4e2e968ecf0ed37c58a9cf3e2d066d7d008" }, "downloads": -1, "filename": "edx-bulk-grades-0.4.3.tar.gz", "has_sig": false, "md5_digest": "e9cb3ff1932a9ba0210bca2cfb3a8528", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23349, "upload_time": "2019-08-12T19:06:54", "url": "https://files.pythonhosted.org/packages/af/d3/dbdbde7f4eb20f24861f3373543388c2bc246ebdd1db23c59eb9d969e630/edx-bulk-grades-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "c772bb182fa0ce4f0d60d796e66589ef", "sha256": "2274561f7768729a071c277192deb0921c13415c97d2bb51dc70c3f40b114d0c" }, "downloads": -1, "filename": "edx_bulk_grades-0.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c772bb182fa0ce4f0d60d796e66589ef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24982, "upload_time": "2019-08-13T18:07:36", "url": "https://files.pythonhosted.org/packages/85/29/fc061cfb81d9a40c98de2460b5c8b4a8735edd2d4b37c08fac922a46387c/edx_bulk_grades-0.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05f8173a410bf7589e66eb5c63b39fa2", "sha256": "de1fe549288497d43c2436b72e55605083fd075ebd84baeab07542f3ef2e01b0" }, "downloads": -1, "filename": "edx-bulk-grades-0.4.4.tar.gz", "has_sig": false, "md5_digest": "05f8173a410bf7589e66eb5c63b39fa2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23526, "upload_time": "2019-08-13T18:07:38", "url": "https://files.pythonhosted.org/packages/ab/30/34fd477a75d37d5fee271c44f0f4790fc5c5c987ba81ad08c4e154dbe41f/edx-bulk-grades-0.4.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "38e2d3aa927eccd3f0713b2a832011a2", "sha256": "d8e017e1f9b55e5d6c33d6c323a3b2be9d5cda23abb636a92f9013600b93bc9a" }, "downloads": -1, "filename": "edx_bulk_grades-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "38e2d3aa927eccd3f0713b2a832011a2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27777, "upload_time": "2019-08-14T16:05:26", "url": "https://files.pythonhosted.org/packages/95/33/ed19373d5ab51f08e56320057f5b625b93e6fb50d3f69b806cc0a3b33af7/edx_bulk_grades-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ade6ea2ea9ef79eb0c7098418a3a4015", "sha256": "ffd0a834b5913855946288806b6063e4a0cc49562d75bbee9271b21227ea068c" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.tar.gz", "has_sig": false, "md5_digest": "ade6ea2ea9ef79eb0c7098418a3a4015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25042, "upload_time": "2019-08-14T16:05:27", "url": "https://files.pythonhosted.org/packages/d3/e1/27850ed325ead13ea38c69bec1750b75a5319c53415bd2abac50616d573c/edx-bulk-grades-0.5.tar.gz" } ], "0.5.10": [ { "comment_text": "", "digests": { "md5": "f960c5249b45f3de7e795de473708688", "sha256": "ad5997cb40bd602b46b388df88baa6cbd10bd4745bedd17e8ad3b3941b6e02c5" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f960c5249b45f3de7e795de473708688", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28344, "upload_time": "2019-09-06T20:08:46", "url": "https://files.pythonhosted.org/packages/4b/57/2ca1905d5463bb36a20944f6f2694181daa2f6c86d6e4119b48219023e98/edx_bulk_grades-0.5.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2ce0d6b66a2da6b7eaf6a2b3efa94b3", "sha256": "f6d071eb8c10ee973a8a794f50b62a9effc046fe4de3e06ab33ab93ada89afd6" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.10.tar.gz", "has_sig": false, "md5_digest": "d2ce0d6b66a2da6b7eaf6a2b3efa94b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25770, "upload_time": "2019-09-06T20:08:48", "url": "https://files.pythonhosted.org/packages/ec/5b/cf37af466ed247cafacd2354989fa944210a4d877470aee9f3ba0315e932/edx-bulk-grades-0.5.10.tar.gz" } ], "0.5.11": [ { "comment_text": "", "digests": { "md5": "e2c6d35345886b88422fdd4a0c5e56fd", "sha256": "ea3a8963cd4ad4368f1c5e9c22b420f28fe62793cc39b8f1b0eb81b8e6a46dc4" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2c6d35345886b88422fdd4a0c5e56fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28356, "upload_time": "2019-09-09T17:36:06", "url": "https://files.pythonhosted.org/packages/77/b7/00099e01d37a064bd4b96e1d77367e9aa682f4188475d553d047d974832d/edx_bulk_grades-0.5.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dba4bfb10ce670b774740e069997a9d4", "sha256": "70920b641c7d7fa9f12fbc728437629d756408999d44670801b1b0b8b936a107" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.11.tar.gz", "has_sig": false, "md5_digest": "dba4bfb10ce670b774740e069997a9d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25784, "upload_time": "2019-09-09T17:36:08", "url": "https://files.pythonhosted.org/packages/0f/5e/9daa1cceeed2d67a73b5eeb20e1204cd6d4b7d423cb2ae42a8fb78064dca/edx-bulk-grades-0.5.11.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "2dbbef46a5f4d8aa24ecf56205d152be", "sha256": "67e1322e7eff6271d45ac3fbba5d775f0f338460e5a6d6615637eb940e1a764c" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2dbbef46a5f4d8aa24ecf56205d152be", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27927, "upload_time": "2019-08-15T19:58:08", "url": "https://files.pythonhosted.org/packages/94/9a/08d55bda104047b51d7d552cbea30d9d9bf943909a67d7bc5a53c0ec1ec5/edx_bulk_grades-0.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b36b6f71c298e77e870a5eeb7be7fc8", "sha256": "1ef31fa4ff6132df7febc10881028409091ea10d55d21775f26657ce024c016a" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.2.tar.gz", "has_sig": false, "md5_digest": "8b36b6f71c298e77e870a5eeb7be7fc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25203, "upload_time": "2019-08-15T19:58:09", "url": "https://files.pythonhosted.org/packages/55/70/ebd7acda4ca6756e9e2db3e8a2ef900ace0ab1b8f357610bda4468690351/edx-bulk-grades-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "028f118c0c35da5e3f2102051c5c87c9", "sha256": "7b9f6c4df2f6d04f6e61122985221be29c3624b646cc116e2d4a1687aae09d63" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "028f118c0c35da5e3f2102051c5c87c9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28091, "upload_time": "2019-08-16T19:51:01", "url": "https://files.pythonhosted.org/packages/38/20/1c2129bf90757a09527c24254c25b11894744fa5a0002bc5e3042b1d61a8/edx_bulk_grades-0.5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea782b9437b431ca1f2d71cfcf63be38", "sha256": "e7f8a0ca43d5e4c6dfc1428eeda83e813001427132c8fbe2231512613547f18a" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.3.tar.gz", "has_sig": false, "md5_digest": "ea782b9437b431ca1f2d71cfcf63be38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25473, "upload_time": "2019-08-16T19:51:02", "url": "https://files.pythonhosted.org/packages/91/b3/e8df42a41aa53e6526251f67df0404eaca5054a2d649d8437d4633430b05/edx-bulk-grades-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "1cf078070b9bbc8c4ac47f2e6fd357e5", "sha256": "d0505be262b97535dbec93d802e31cdd59a648894e5c437cc9b160b6607e72d6" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1cf078070b9bbc8c4ac47f2e6fd357e5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27989, "upload_time": "2019-08-19T18:14:27", "url": "https://files.pythonhosted.org/packages/ec/c2/a1b5c375ed13eb252a2e4773b9a0856615f74fb62a479c27e6bf9f551119/edx_bulk_grades-0.5.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2bede5c2d744e4d065c580a40bde41b1", "sha256": "e66789d1f120b8bbd725aed025911a7234b72f0049b7c67b4944d918ef1885c6" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.4.tar.gz", "has_sig": false, "md5_digest": "2bede5c2d744e4d065c580a40bde41b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25327, "upload_time": "2019-08-19T18:14:29", "url": "https://files.pythonhosted.org/packages/67/92/54ff8ed4146759be035201cfe1c8cf6bc14318860ea4699bdfbbc814c728/edx-bulk-grades-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "69821d74078a804516c5d1fc476cabea", "sha256": "b51eb9b75d23f9b1505463909d9fff8ac571e2f89e9dd1e8bd675e4c7bbb38e7" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "69821d74078a804516c5d1fc476cabea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28036, "upload_time": "2019-08-20T17:14:08", "url": "https://files.pythonhosted.org/packages/34/e7/5b6941e39ecff732cfc39d6d8e4bba9d68d6b81f90852871559b72c2a240/edx_bulk_grades-0.5.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80d8fc7258fab89a949b3aa40a1ffd7d", "sha256": "6358ecc06fe2626c707a0fb64011f7db1d23a9a9fd50b3641d26b8f75db7a0c9" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.5.tar.gz", "has_sig": false, "md5_digest": "80d8fc7258fab89a949b3aa40a1ffd7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25435, "upload_time": "2019-08-20T17:14:10", "url": "https://files.pythonhosted.org/packages/43/ad/879e0c68a46f2a21273c4713ddfce5b6d4a0efd044af002a34066881807a/edx-bulk-grades-0.5.5.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "328a5ca439b30230428c063d6fda4540", "sha256": "87f862f1916fe8228d6f5e5a20e3cc637c421d62e558a93bac14d135c2b0558b" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "328a5ca439b30230428c063d6fda4540", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28447, "upload_time": "2019-08-21T15:51:48", "url": "https://files.pythonhosted.org/packages/e8/90/da7f2abcb90047ad8e7c54411e07c1192ee289570ac618b40d7d54f4b985/edx_bulk_grades-0.5.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6b3e0904f7b7ce4046d6b37af69e2f3", "sha256": "6221b398fd4a63a103f01e78a8665443fac550cd42b8d3280aa3c3cd2cb7bf34" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.6.tar.gz", "has_sig": false, "md5_digest": "b6b3e0904f7b7ce4046d6b37af69e2f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25485, "upload_time": "2019-08-21T15:51:50", "url": "https://files.pythonhosted.org/packages/d3/58/073b8998c6e5e14eb864e2c4ab4a8493703f65b657c0a8ccc08caad61320/edx-bulk-grades-0.5.6.tar.gz" } ], "0.5.7": [ { "comment_text": "", "digests": { "md5": "37dbd3b5870f52fbce46d5cd033c23ed", "sha256": "1acb59cc6823303751f53e71132620a75c7494e113e000908c27535605f2e8f2" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "37dbd3b5870f52fbce46d5cd033c23ed", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28106, "upload_time": "2019-08-23T15:39:58", "url": "https://files.pythonhosted.org/packages/3e/81/1fb760fb4f7e9df4155d7a54ad9288b14c1d8bf4455d5d4392cdbfe14871/edx_bulk_grades-0.5.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "292cf324c9ed5d63f470926abccfac1d", "sha256": "8cd1c069e6453fd8207828facbdf479b493a58d42209026d7a21cddd9762ccc0" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.7.tar.gz", "has_sig": false, "md5_digest": "292cf324c9ed5d63f470926abccfac1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25482, "upload_time": "2019-08-23T15:40:00", "url": "https://files.pythonhosted.org/packages/57/ea/21beedb6fb9eae1f994943ab09852cd348c450f72af505d08c5f4744623f/edx-bulk-grades-0.5.7.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "61fbd4acc7e83254b2f0b48fb452a89d", "sha256": "143cd94687f6086a557a4afd61910ebb2ab9b88f191d7124c0dace7e5e37b348" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "61fbd4acc7e83254b2f0b48fb452a89d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28181, "upload_time": "2019-08-26T20:16:47", "url": "https://files.pythonhosted.org/packages/68/85/8143dfbf2ce0dc56f111fb88e77d3c940d7f133a59b8edccfd505a3daff4/edx_bulk_grades-0.5.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37f56f6fd14687f6bbc9ec935cf315ca", "sha256": "b755c1fba05a0a56bd80eb3b31fc00cd9cde22f9813d2bf8f0c7a8b3852b1950" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.8.tar.gz", "has_sig": false, "md5_digest": "37f56f6fd14687f6bbc9ec935cf315ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25577, "upload_time": "2019-08-26T20:16:49", "url": "https://files.pythonhosted.org/packages/e8/64/e12075420e90085da2cff70ea3083dc011fa1d901652ad93751ac07c514a/edx-bulk-grades-0.5.8.tar.gz" } ], "0.5.9": [ { "comment_text": "", "digests": { "md5": "148314332bd18259279046a06741a029", "sha256": "da1e5a321918fc813430cee995ddcff1fb2bf61a52d18b2278f78a690ad3f25c" }, "downloads": -1, "filename": "edx_bulk_grades-0.5.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "148314332bd18259279046a06741a029", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28251, "upload_time": "2019-08-29T14:32:06", "url": "https://files.pythonhosted.org/packages/90/e1/952b860e236b699d72edb8b5457128c6b38a73b0531ae525476050f90670/edx_bulk_grades-0.5.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35981e1114eb0566c7a4b1743eb13758", "sha256": "8e07a0be78e0f043f308d8ebcb03d08be474113d3736c7434fe630163e316459" }, "downloads": -1, "filename": "edx-bulk-grades-0.5.9.tar.gz", "has_sig": false, "md5_digest": "35981e1114eb0566c7a4b1743eb13758", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25666, "upload_time": "2019-08-29T14:32:07", "url": "https://files.pythonhosted.org/packages/08/4b/f9593c97af18e646a3ff875df316c0ec9465fe81dce58f15010dea6072ea/edx-bulk-grades-0.5.9.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "0c9f50f6da874e481bfac06db157171f", "sha256": "c0cf5c6987db2e9a3751d97c2bb9915c0171ce4f7434c028ce7271f9aaaba959" }, "downloads": -1, "filename": "edx_bulk_grades-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0c9f50f6da874e481bfac06db157171f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28868, "upload_time": "2019-09-10T18:24:36", "url": "https://files.pythonhosted.org/packages/f2/34/20ea2becf231911f7e2aab8383612cc55bfa12097e1b1638269215bb077a/edx_bulk_grades-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2adfaffd5be4c73de4116282af0094d1", "sha256": "258dfa95a1cadabc233c81b386a29b65a0a78184d88b7b2240efe4ba4f685620" }, "downloads": -1, "filename": "edx-bulk-grades-0.6.0.tar.gz", "has_sig": false, "md5_digest": "2adfaffd5be4c73de4116282af0094d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26325, "upload_time": "2019-09-10T18:24:37", "url": "https://files.pythonhosted.org/packages/0e/60/bdfdd1d48902c60d3545668b825e3476f2befc525e65fbe70b6f6c85b443/edx-bulk-grades-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "f751fea92393f7166ab68f7f75273519", "sha256": "05bbe70e3c5671992774ff19dad4065958fe8bb64b35e88657a52eea9def2200" }, "downloads": -1, "filename": "edx_bulk_grades-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f751fea92393f7166ab68f7f75273519", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29024, "upload_time": "2019-09-19T14:16:29", "url": "https://files.pythonhosted.org/packages/2b/a3/2a42a6fc6973bc938438c832154f451b1023eb0c344231af5b28bacfe925/edx_bulk_grades-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5286b23b021f40f167570a4ca5a486cf", "sha256": "ed1d7a1b0771a52c505ceb3cc2de3e855ab6fd9ed65cc074d31da1e905495c42" }, "downloads": -1, "filename": "edx-bulk-grades-0.6.1.tar.gz", "has_sig": false, "md5_digest": "5286b23b021f40f167570a4ca5a486cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26532, "upload_time": "2019-09-19T14:16:31", "url": "https://files.pythonhosted.org/packages/d6/fa/3a2f1fd488a78ca43864c8534c107e4e20eefbd56b749cb50193fecb044f/edx-bulk-grades-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "15aeae2b110eaf97d73b34a60bdab27f", "sha256": "8114d98faac3d25faca526ee2585760fface1300103fd741eaf5f64aa24c3799" }, "downloads": -1, "filename": "edx_bulk_grades-0.6.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "15aeae2b110eaf97d73b34a60bdab27f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29922, "upload_time": "2019-09-23T14:37:27", "url": "https://files.pythonhosted.org/packages/46/78/4f69e42e87343e69df182bd9a463443a759bc377902e1e9241612111676d/edx_bulk_grades-0.6.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f12f05660fb11f32b34be887e3a5b559", "sha256": "d6d61d8216f989d7330ededfa98e7513483dd9075e4d00d0c7010be993f80c3e" }, "downloads": -1, "filename": "edx-bulk-grades-0.6.2.tar.gz", "has_sig": false, "md5_digest": "f12f05660fb11f32b34be887e3a5b559", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27584, "upload_time": "2019-09-23T14:37:29", "url": "https://files.pythonhosted.org/packages/c9/08/4a3bd4a8dca2e4b8cf3761280ef7308de0190d9fa411438ff67220409ed3/edx-bulk-grades-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "a0138c69288de542c8f2dc22bfcad1e7", "sha256": "4347eecb637238bb72e51a2b3208a46e987f4ca65106772cc5169b7bd335f4e4" }, "downloads": -1, "filename": "edx_bulk_grades-0.6.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a0138c69288de542c8f2dc22bfcad1e7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30038, "upload_time": "2019-09-24T14:23:33", "url": "https://files.pythonhosted.org/packages/53/c3/e4eaab12b4bd560d4d9f1e24e37484b1f1fcbd89624992bfbb97c3d4b735/edx_bulk_grades-0.6.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5bfeb0c551df95f00ecd658105feebeb", "sha256": "ed53e053a9b9ef134a29ef356caacaa0abc0e90fcc01c7c3774b3cd41e1e8a49" }, "downloads": -1, "filename": "edx-bulk-grades-0.6.3.tar.gz", "has_sig": false, "md5_digest": "5bfeb0c551df95f00ecd658105feebeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27729, "upload_time": "2019-09-24T14:23:34", "url": "https://files.pythonhosted.org/packages/9a/13/b991b1849a70ce16bb4a4e191859af96e9b98cab171ed50b73b265bf54ce/edx-bulk-grades-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "070ddc402d58c42b780d13197507a6c4", "sha256": "918c346fe919cc047cdc5f926f8549e169a5287257072d2f94151ff6ade2c1c1" }, "downloads": -1, "filename": "edx_bulk_grades-0.6.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "070ddc402d58c42b780d13197507a6c4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30068, "upload_time": "2019-09-24T20:48:30", "url": "https://files.pythonhosted.org/packages/29/d0/b7dd67a58931e7c4a96f477e3759456d10abeff0bd77cf39af13b45012fb/edx_bulk_grades-0.6.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1f697916c3bfd71c8054fa59a83437e", "sha256": "33d2f446ab07182d2a7b1b1b6d4799bb0d5a1e8b6fe707cacb6cb3b9fb1319fc" }, "downloads": -1, "filename": "edx-bulk-grades-0.6.4.tar.gz", "has_sig": false, "md5_digest": "f1f697916c3bfd71c8054fa59a83437e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27785, "upload_time": "2019-09-24T20:48:33", "url": "https://files.pythonhosted.org/packages/eb/4f/73013e6e22a8d2761202b0d5c80e8166139aef2215a1197f865b1ea9c31f/edx-bulk-grades-0.6.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "070ddc402d58c42b780d13197507a6c4", "sha256": "918c346fe919cc047cdc5f926f8549e169a5287257072d2f94151ff6ade2c1c1" }, "downloads": -1, "filename": "edx_bulk_grades-0.6.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "070ddc402d58c42b780d13197507a6c4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30068, "upload_time": "2019-09-24T20:48:30", "url": "https://files.pythonhosted.org/packages/29/d0/b7dd67a58931e7c4a96f477e3759456d10abeff0bd77cf39af13b45012fb/edx_bulk_grades-0.6.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1f697916c3bfd71c8054fa59a83437e", "sha256": "33d2f446ab07182d2a7b1b1b6d4799bb0d5a1e8b6fe707cacb6cb3b9fb1319fc" }, "downloads": -1, "filename": "edx-bulk-grades-0.6.4.tar.gz", "has_sig": false, "md5_digest": "f1f697916c3bfd71c8054fa59a83437e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27785, "upload_time": "2019-09-24T20:48:33", "url": "https://files.pythonhosted.org/packages/eb/4f/73013e6e22a8d2761202b0d5c80e8166139aef2215a1197f865b1ea9c31f/edx-bulk-grades-0.6.4.tar.gz" } ] }