edx-bulk-grades
=============================
|pypi-badge| |travis-badge| |codecov-badge| |doc-badge| |pyversions-badge|
|license-badge|
Support for bulk scoring and grading. This adds models and an API for reading and modifying
scores and grades in bulk.
Overview
---------
The ``README.rst`` file should then provide an overview of the code in this
repository, including the main components and useful entry points for starting
to understand the code in more detail.
edx-bulk-grades is a library that runs under lms. It uses the configuration settings defined in lms as well.
In order to use, the library must be installed into edx-platform.
Using with Docker Devstack
--------------------------
Prerequisite: Have your Open edX https://github.com/openedx/devstack properly installed.
Note: When you see "from inside the lms" below, it means that you've run ``make lms-shell`` from your devstack directory
and are on a command prompt inside the LMS container.
1. | Clone this repo into ``../src/`` directory (relative to your "devstack" repo location). This will mount the directory
| in a way that is accessible to the lms container.
2. From inside the lms, uninstall bulk-grades and reinstall your local copy. You can just copy the following line::
pip uninstall edx-bulk-grades -y; pip install -e /edx/src/edx-bulk-grades
Or, you can run the following make command::
make install-local
3. Now, get your bulk-grades development environment set up::
cd /edx/src/edx-bulk-grades
virtualenv edx-bulk-grades-env
source edx-bulk-grades-env/bin/activate
make requirements
Making Code Changes
-------------------
1. | After checking out a new branch, increment ``__version__`` by the smallest possible value located in ``bulk_grades/__init__.py``.
| This will allow edx-platform to pick up the new version.
2. | Once a branch has been merged, it is necessary to make a release on github, specifying the new version from
| ``__version__`` set above.
3. In order for platform to use the newest version of bulk-grades, it is necessary to run the::
$ make upgrade
from docker shell of edx-platform. This will increment the version of edx-bulk-grades to the correct one.
4. Once the code from step 3 is merged, this will trigger deployment of the correct versions of edx platform and bulk-grades.
Unit Testing
------------
mock_apps folder: Since bulk_grades depends on platform during actual runtime, for unit tests, we need to mock various
endpoints and calls. To this end, they are mocked in the mock_apps folder.
Since edx-bulk grades runs under platform, it is necessary to connect to platform docker::
$ make lms-shell
followed by::
$ cd /edx/src/edx-bulk-grades
make test
This will run the unit tests and code coverage numbers
License
-------
The code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.
Please see ``LICENSE.txt`` for details.
How To Contribute
-----------------
Contributions are very welcome.
Please read `How To Contribute <https://github.com/openedx/.github/blob/master/CONTRIBUTING.md>`_ for details.
The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you
can find it at `PULL_REQUEST_TEMPLATE.md <https://github.com/openedx/edx-bulk-grades/blob/master/.github/PULL_REQUEST_TEMPLATE.md>`_.
The issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you
can find it at `ISSUE_TEMPLATE.md <https://github.com/openedx/edx-bulk-grades/blob/master/.github/ISSUE_TEMPLATE.md>`_.
Reporting Security Issues
-------------------------
Please do not report security issues in public. Please email security@openedx.org.
Getting Help
------------
Have a question about this repository, or about Open edX in general? Please
refer to this `list of resources`_ if you need any assistance.
.. _list of resources: https://open.edx.org/getting-help
.. |pypi-badge| image:: https://img.shields.io/pypi/v/edx-bulk-grades.svg
:target: https://pypi.python.org/pypi/edx-bulk-grades/
:alt: PyPI
.. |travis-badge| image:: https://travis-ci.com/edx/edx-bulk-grades.svg?branch=master
:target: https://travis-ci.com/edx/edx-bulk-grades
:alt: Travis
.. |codecov-badge| image:: http://codecov.io/github/edx/edx-bulk-grades/coverage.svg?branch=master
:target: http://codecov.io/github/edx/edx-bulk-grades?branch=master
:alt: Codecov
.. |doc-badge| image:: https://readthedocs.org/projects/edx-bulk-grades/badge/?version=latest
:target: http://edx-bulk-grades.readthedocs.io/en/latest/
:alt: Documentation
.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/edx-bulk-grades.svg
:target: https://pypi.python.org/pypi/edx-bulk-grades/
:alt: Supported Python versions
.. |license-badge| image:: https://img.shields.io/github/license/edx/edx-bulk-grades.svg
:target: https://github.com/openedx/edx-bulk-grades/blob/master/LICENSE.txt
:alt: License
Change Log
----------
..
All enhancements and patches to bulk_grades will be documented
in this file. It adheres to the structure of http://keepachangelog.com/ ,
but in reStructuredText instead of Markdown (for ease of incorporation into
Sphinx documentation and the PyPI description).
This project adheres to Semantic Versioning (http://semver.org/).
.. There should always be an "Unreleased" section for changes pending release.
Unreleased
[1.1.0] - 2024-03-22
~~~~~~~~~~~~~~~~~~~~
* Support added for ``Python 3.11``
* Support dropped for ``Django<4.2``
[1.0.2] - 2023-06-14
~~~~~~~~~~~~~~~~~~~~
* Support added for Django 4.2.
* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is
deprecated
[1.0.1] - 2022-12-21
* Fix a bug in building error response messaging.
[1.0.0] - 2022-02-16
* Dropped Support for Django22, 30 and 31
* Added Support for Django40
~~~~~~~~~~
[0.9.12 - 2021-09-02
* Fix grade history not rendering on error
~~~~~~~~~~
[0.9.1] - 2021-08-02
* Feat repeat user error should also show the first occurence
~~~~~~~~~~
[0.9.0] - 2021-07-20
~~~~~~~~~~~~~~~~~~~~
* Added support for django 3.2
[0.8.14] - 2021-07-12
* Update csv import error message
=======
[0.8.13] - 2021-07-12
~~~~~~~~~~~~~~~~~~~~~
* Fix bug where we ignore repeat user in the csv import
[0.8.12] - 2021-06-21
~~~~~~~~~~~~~~~~~~~~~
* Fixed import csv to not working with multiple sections per-user override
[0.8.11] - 2021-07-09
~~~~~~~~~~~~~~~~~~~~~
* Fixed a bug causing bulk management import history to break when import had pre-filtered columns
[0.8.10] - 2021-05-14
~~~~~~~~~~~~~~~~~~~~~
* Updated dependencies
[0.8.9] - 2021-04-09
~~~~~~~~~~~~~~~~~~~~~
* Updated dependencies
[0.8.8] - 2021-04-08
~~~~~~~~~~~~~~~~~~~~~
* Added excludedCourseRoles to grade export endpoint
[0.8.7] - 2021-03-15
~~~~~~~~~~~~~~~~~~~~~
* Upgrade super-csv to 2.0.1
* Only show modified subsections in the Bulk Grade Override Report.
[0.8.6] - 2021-01-22
~~~~~~~~~~~~~~~~~~~~~
* Added a management command ``install-local`` that will install your local code into devstack LMS
* GradeCSVProcessor export now includes an additional column per subsection, ``grade-{subsection_id}``.
This column is equal to the ``original_grade`` column for that subsection if there is no override, or equal to ``previous_override`` if there is an override.
[0.8.5] - 2020-12-24
~~~~~~~~~~~~~~~~~~~~~
* Upgrading celery to 5.0
* Removed python 3.5 classifier as its support is dropped earlier
[0.8.4] - 2020-12-24
~~~~~~~~~~~~~~~~~~~~~
* Adding celery5.0 testing using tox.
[0.8.3] - 2020-11-19
~~~~~~~~~~~~~~~~~~~~~
* Updated the build status badge in README.rst to point to travis-ci.com instead of travis-ci.org
[0.8.2] - 2020-11-02
~~~~~~~~~~~~~~~~~~~~~
* Added ``active_only`` field to ``GradeCSVProcessor``
* For Grade CSV bulk download, only include active enrollments
[0.8.0] - 2020-09-03
~~~~~~~~~~~~~~~~~~~~~
* Upgraded to celery 4.2.2
* Removed django-celery
[0.6.6] - 2019-12-13
~~~~~~~~~~~~~~~~~~~~~
* Added Support for Django22.
[0.6.5] - 2019-12-05
~~~~~~~~~~~~~~~~~~~~~
* In ``get_scores()``, account for case where no ``ScoreOverrider`` exists.
[0.6.4] - 2019-09-24
~~~~~~~~~~~~~~~~~~~~~
* ``GradeCSVProcessor.save()`` should return something.
[0.6.3] - 2019-09-24
~~~~~~~~~~~~~~~~~~~~~
* Upgrade super-csv to 0.9.4, make sure to pass ``user_id`` to GradeCSVProcessor.__init__().
[0.6.2] - 2019-09-23
~~~~~~~~~~~~~~~~~~~~~
* Upgrade super-csv to 0.9.3
[0.6.1] - 2019-09-17
~~~~~~~~~~~~~~~~~~~~~
* Call grades api with `comment` when doing bulk upload
* Add `user_id` field to GradeCSVProcessor to fix bulk_upload history entries
[0.6.0] - 2019-09-10
~~~~~~~~~~~~~~~~~~~~~
* Prevent Grade and Intervention CSV processors from producing duplicate columns.
[0.5.10] - 2019-09-06
~~~~~~~~~~~~~~~~~~~~~
* Prevent user from setting negative grades
[0.5.9] - 2019-08-28
~~~~~~~~~~~~~~~~~~~~
* Make intervention report display either grade override if exists or original grade.
[0.5.8] - 2019-08-26
~~~~~~~~~~~~~~~~~~~~
* Make intervention masters track nly. Some clan up.
[0.5.3] - 2019-08-16
~~~~~~~~~~~~~~~~~~~~
* Add support for filters to Interventions CSV report endpoint, mirroring bulk management filters
[0.5.2] - 2019-08-15
~~~~~~~~~~~~~~~~~~~~
* Bring datasource for grade information inline with what the rest of gradebook uses
[0.4.4] - 2019-08-13
~~~~~~~~~~~~~~~~~~~~
Add ability to filter by course grade, provided as a percentage to the endpoint.
[0.4.3] - 2019-08-12
~~~~~~~~~~~~~~~~~~~~
Add ability to filter by subsection grade, provided as a percentage to the endpoint
[0.4.1] - 2019-08-01
~~~~~~~~~~~~~~~~~~~~
Added ability to filter by subsection & assignment grading type for bulk management CSV downloads.
[0.1.4] - 2019-07-02
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Added an endpoint for this history of bulk management operations on grade overrides.
[0.1.0] - 2019-05-24
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Added
_____
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/openedx/edx-bulk-grades",
"name": "edx-bulk-grades",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Django edx",
"author": "edX",
"author_email": "oscm@edx.org",
"download_url": "https://files.pythonhosted.org/packages/0e/50/5deacf882b3c5c10739256fd5a69b71c23e4518f2690d8eb364e88b50ce4/edx-bulk-grades-1.1.0.tar.gz",
"platform": null,
"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/openedx/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\n Or, you can run the following make command::\n\n make install-local\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 <https://github.com/openedx/.github/blob/master/CONTRIBUTING.md>`_ for details.\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 <https://github.com/openedx/edx-bulk-grades/blob/master/.github/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 <https://github.com/openedx/edx-bulk-grades/blob/master/.github/ISSUE_TEMPLATE.md>`_.\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@openedx.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.com/edx/edx-bulk-grades.svg?branch=master\n :target: https://travis-ci.com/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/openedx/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[1.1.0] - 2024-03-22\n~~~~~~~~~~~~~~~~~~~~\n* Support added for ``Python 3.11``\n* Support dropped for ``Django<4.2``\n\n[1.0.2] - 2023-06-14\n~~~~~~~~~~~~~~~~~~~~\n* Support added for Django 4.2.\n* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is\n deprecated\n\n\n[1.0.1] - 2022-12-21\n* Fix a bug in building error response messaging.\n\n[1.0.0] - 2022-02-16\n* Dropped Support for Django22, 30 and 31\n* Added Support for Django40\n~~~~~~~~~~\n\n[0.9.12 - 2021-09-02\n* Fix grade history not rendering on error\n~~~~~~~~~~\n\n[0.9.1] - 2021-08-02\n* Feat repeat user error should also show the first occurence\n~~~~~~~~~~\n\n[0.9.0] - 2021-07-20\n~~~~~~~~~~~~~~~~~~~~\n* Added support for django 3.2\n\n[0.8.14] - 2021-07-12\n* Update csv import error message\n=======\n\n[0.8.13] - 2021-07-12\n~~~~~~~~~~~~~~~~~~~~~\n* Fix bug where we ignore repeat user in the csv import\n\n[0.8.12] - 2021-06-21\n~~~~~~~~~~~~~~~~~~~~~\n* Fixed import csv to not working with multiple sections per-user override\n\n[0.8.11] - 2021-07-09\n~~~~~~~~~~~~~~~~~~~~~\n* Fixed a bug causing bulk management import history to break when import had pre-filtered columns\n\n[0.8.10] - 2021-05-14\n~~~~~~~~~~~~~~~~~~~~~\n* Updated dependencies\n\n[0.8.9] - 2021-04-09\n~~~~~~~~~~~~~~~~~~~~~\n* Updated dependencies\n\n[0.8.8] - 2021-04-08\n~~~~~~~~~~~~~~~~~~~~~\n* Added excludedCourseRoles to grade export endpoint\n\n[0.8.7] - 2021-03-15\n~~~~~~~~~~~~~~~~~~~~~\n* Upgrade super-csv to 2.0.1\n* Only show modified subsections in the Bulk Grade Override Report.\n\n[0.8.6] - 2021-01-22\n~~~~~~~~~~~~~~~~~~~~~\n* Added a management command ``install-local`` that will install your local code into devstack LMS\n* GradeCSVProcessor export now includes an additional column per subsection, ``grade-{subsection_id}``. \n This column is equal to the ``original_grade`` column for that subsection if there is no override, or equal to ``previous_override`` if there is an override.\n\n[0.8.5] - 2020-12-24\n~~~~~~~~~~~~~~~~~~~~~\n* Upgrading celery to 5.0\n* Removed python 3.5 classifier as its support is dropped earlier\n\n[0.8.4] - 2020-12-24\n~~~~~~~~~~~~~~~~~~~~~\n* Adding celery5.0 testing using tox.\n\n[0.8.3] - 2020-11-19\n~~~~~~~~~~~~~~~~~~~~~\n* Updated the build status badge in README.rst to point to travis-ci.com instead of travis-ci.org\n\n[0.8.2] - 2020-11-02\n~~~~~~~~~~~~~~~~~~~~~\n* Added ``active_only`` field to ``GradeCSVProcessor``\n* For Grade CSV bulk download, only include active enrollments\n\n[0.8.0] - 2020-09-03\n~~~~~~~~~~~~~~~~~~~~~\n* Upgraded to celery 4.2.2\n* Removed django-celery\n\n[0.6.6] - 2019-12-13\n~~~~~~~~~~~~~~~~~~~~~\n* Added Support for Django22.\n\n[0.6.5] - 2019-12-05\n~~~~~~~~~~~~~~~~~~~~~\n* In ``get_scores()``, account for case where no ``ScoreOverrider`` exists.\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",
"bugtrack_url": null,
"license": "AGPL 3.0",
"summary": "Support for bulk scoring and grading",
"version": "1.1.0",
"project_urls": {
"Homepage": "https://github.com/openedx/edx-bulk-grades"
},
"split_keywords": [
"django",
"edx"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "401556fae29224a7846ff20a413a48bea9340f40bb4337242cfe9641bb11b03c",
"md5": "dbcf0c963f1b763779dd1a7984067e63",
"sha256": "f58e526b860af9e6dee0a6a2ca47f9732e57ec2cc5b934973924ab1cbd93e47a"
},
"downloads": -1,
"filename": "edx_bulk_grades-1.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "dbcf0c963f1b763779dd1a7984067e63",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 31618,
"upload_time": "2024-03-29T10:53:57",
"upload_time_iso_8601": "2024-03-29T10:53:57.298729Z",
"url": "https://files.pythonhosted.org/packages/40/15/56fae29224a7846ff20a413a48bea9340f40bb4337242cfe9641bb11b03c/edx_bulk_grades-1.1.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e505deacf882b3c5c10739256fd5a69b71c23e4518f2690d8eb364e88b50ce4",
"md5": "02274804ba74ab515d7be5ce39cf67c2",
"sha256": "b42f7546b3ff4c996fccf8019bf238f53f99430dcd0475c168317d610da6a103"
},
"downloads": -1,
"filename": "edx-bulk-grades-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "02274804ba74ab515d7be5ce39cf67c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 43755,
"upload_time": "2024-03-29T10:53:58",
"upload_time_iso_8601": "2024-03-29T10:53:58.673023Z",
"url": "https://files.pythonhosted.org/packages/0e/50/5deacf882b3c5c10739256fd5a69b71c23e4518f2690d8eb364e88b50ce4/edx-bulk-grades-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-29 10:53:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openedx",
"github_project": "edx-bulk-grades",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "edx-bulk-grades"
}