A library for tracking completion of blocks by learners in edX courses.
Project description
completion
=============================
|pypi-badge| |travis-badge| |codecov-badge| |doc-badge| |pyversions-badge|
|license-badge|
A library for tracking completion of blocks by learners in edX courses.
Overview
________
This repository provides a Django model `BlockCompletion` that is intended to be plugged into ``edx-platform``. It
provides various handlers and services for the recording of completion data. It also provides a DRF API for submitting
completion data in batches.
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/edx/edx-platform/blob/master/CONTRIBUTING.rst>`_ for details.
Even though they were written with ``edx-platform`` in mind, the guidelines
should be followed for Open edX code in general.
PR description template should be automatically applied if you are sending PR from github interface; otherwise you
can find it it at `PULL_REQUEST_TEMPLATE.md <https://github.com/edx/completion/blob/master/.github/PULL_REQUEST_TEMPLATE.md>`_
Issue report template should be automatically applied if you are sending it from github UI as well; otherwise you
can find it at `ISSUE_TEMPLATE.md <https://github.com/edx/completion/blob/master/.github/ISSUE_TEMPLATE.md>`_
Reporting Security Issues
-------------------------
Please do not report security issues in public. Please email security@edx.org.
Using with Docker Devstack
--------------------------
Prerequisite: Have your Open edX `Devstack <https://github.com/edx/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.
#. 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.
#. From inside the lms, uninstall completion and reinstall your local copy. You can just copy the following line::
pip uninstall completion -y; pip install -e /edx/src/completion/
#. Now, get your completion development environment set up::
cd /edx/src/completion
virtualenv completion-env
source completion-env/bin/activate
make install
#. That's it! In order to simulate a given tox environment ``(django18, django111, quality)``, run ``tox -e <env>`` for the env in question. If you want to run ``pytest`` directly::
pytest completion/tests/test_models.py
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/completion.svg
:target: https://pypi.python.org/pypi/completion/
:alt: PyPI
.. |travis-badge| image:: https://travis-ci.org/edx/completion.svg?branch=master
:target: https://travis-ci.org/edx/completion
:alt: Travis
.. |codecov-badge| image:: http://codecov.io/github/edx/completion/coverage.svg?branch=master
:target: http://codecov.io/github/edx/completion?branch=master
:alt: Codecov
.. |doc-badge| image:: https://readthedocs.org/projects/completion/badge/?version=latest
:target: http://completion.readthedocs.io/en/latest/
:alt: Documentation
.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/completion.svg
:target: https://pypi.python.org/pypi/completion/
:alt: Supported Python versions
.. |license-badge| image:: https://img.shields.io/github/license/edx/completion.svg
:target: https://github.com/edx/completion/blob/master/LICENSE.txt
:alt: License
Change Log
----------
..
All enhancements and patches to completion 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
~~~~~~~~~~
[0.1.5] - 2018-04-03
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Delete enable_visual_progress methods and checks. Deprecate ENABLE_VISUAL_PROGRESS,
ENABLE_COURSE_VISUAL_PROGRESS, and ENABLE_SITE_VISUAL_PROGRESS waffle flags
[0.1.4] - 2018-03-28
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Site configurations must now explicitly disable visual progress for the
enable_visual_progress() feature gating function to return False early.
[0.1.3] - 2018-03-26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added some documentation.
[0.1.2] - 2018-03-23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fix management of dependency versions
[0.1.1] - 2018-03-23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixes wildly inefficient raw query in BlockCompletion.latest_blocks_completed_all_courses()
* Updates freezegun version, makes tests that use it somewhat faster.
[0.1.0] - 2018-03-20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixes https://openedx.atlassian.net/browse/EDUCATOR-2540
[0.0.11] - 2018-03-20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added "subsection-completion/{username}/{course_key}/{subsection_id}" API
endpoint, to be used with the completion milestones experiment.
[0.0.9] - 2018-02-27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added "utilities.py", which houses methods for working with BlockCompletion
data.
[0.0.8] - 2018-03-01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add model method for superlative “last completed block” - for site awareness
include every last completed block by course, for later sorting in business
layer.
[0.0.7] - 2018-02-15
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add settings and service method for determining completion-by-viewing delay.
[0.0.6] - 2018-02-13
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add the additional completion logic into the service and models from edx-platform
[0.0.2] - 2018-01-31
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fix up edx-lint requirements shenanigans.
[0.0.1] - 2018-01-31
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Initial release
=============================
|pypi-badge| |travis-badge| |codecov-badge| |doc-badge| |pyversions-badge|
|license-badge|
A library for tracking completion of blocks by learners in edX courses.
Overview
________
This repository provides a Django model `BlockCompletion` that is intended to be plugged into ``edx-platform``. It
provides various handlers and services for the recording of completion data. It also provides a DRF API for submitting
completion data in batches.
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/edx/edx-platform/blob/master/CONTRIBUTING.rst>`_ for details.
Even though they were written with ``edx-platform`` in mind, the guidelines
should be followed for Open edX code in general.
PR description template should be automatically applied if you are sending PR from github interface; otherwise you
can find it it at `PULL_REQUEST_TEMPLATE.md <https://github.com/edx/completion/blob/master/.github/PULL_REQUEST_TEMPLATE.md>`_
Issue report template should be automatically applied if you are sending it from github UI as well; otherwise you
can find it at `ISSUE_TEMPLATE.md <https://github.com/edx/completion/blob/master/.github/ISSUE_TEMPLATE.md>`_
Reporting Security Issues
-------------------------
Please do not report security issues in public. Please email security@edx.org.
Using with Docker Devstack
--------------------------
Prerequisite: Have your Open edX `Devstack <https://github.com/edx/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.
#. 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.
#. From inside the lms, uninstall completion and reinstall your local copy. You can just copy the following line::
pip uninstall completion -y; pip install -e /edx/src/completion/
#. Now, get your completion development environment set up::
cd /edx/src/completion
virtualenv completion-env
source completion-env/bin/activate
make install
#. That's it! In order to simulate a given tox environment ``(django18, django111, quality)``, run ``tox -e <env>`` for the env in question. If you want to run ``pytest`` directly::
pytest completion/tests/test_models.py
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/completion.svg
:target: https://pypi.python.org/pypi/completion/
:alt: PyPI
.. |travis-badge| image:: https://travis-ci.org/edx/completion.svg?branch=master
:target: https://travis-ci.org/edx/completion
:alt: Travis
.. |codecov-badge| image:: http://codecov.io/github/edx/completion/coverage.svg?branch=master
:target: http://codecov.io/github/edx/completion?branch=master
:alt: Codecov
.. |doc-badge| image:: https://readthedocs.org/projects/completion/badge/?version=latest
:target: http://completion.readthedocs.io/en/latest/
:alt: Documentation
.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/completion.svg
:target: https://pypi.python.org/pypi/completion/
:alt: Supported Python versions
.. |license-badge| image:: https://img.shields.io/github/license/edx/completion.svg
:target: https://github.com/edx/completion/blob/master/LICENSE.txt
:alt: License
Change Log
----------
..
All enhancements and patches to completion 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
~~~~~~~~~~
[0.1.5] - 2018-04-03
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Delete enable_visual_progress methods and checks. Deprecate ENABLE_VISUAL_PROGRESS,
ENABLE_COURSE_VISUAL_PROGRESS, and ENABLE_SITE_VISUAL_PROGRESS waffle flags
[0.1.4] - 2018-03-28
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Site configurations must now explicitly disable visual progress for the
enable_visual_progress() feature gating function to return False early.
[0.1.3] - 2018-03-26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added some documentation.
[0.1.2] - 2018-03-23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fix management of dependency versions
[0.1.1] - 2018-03-23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixes wildly inefficient raw query in BlockCompletion.latest_blocks_completed_all_courses()
* Updates freezegun version, makes tests that use it somewhat faster.
[0.1.0] - 2018-03-20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixes https://openedx.atlassian.net/browse/EDUCATOR-2540
[0.0.11] - 2018-03-20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added "subsection-completion/{username}/{course_key}/{subsection_id}" API
endpoint, to be used with the completion milestones experiment.
[0.0.9] - 2018-02-27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added "utilities.py", which houses methods for working with BlockCompletion
data.
[0.0.8] - 2018-03-01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add model method for superlative “last completed block” - for site awareness
include every last completed block by course, for later sorting in business
layer.
[0.0.7] - 2018-02-15
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add settings and service method for determining completion-by-viewing delay.
[0.0.6] - 2018-02-13
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add the additional completion logic into the service and models from edx-platform
[0.0.2] - 2018-01-31
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fix up edx-lint requirements shenanigans.
[0.0.1] - 2018-01-31
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
edx-completion-0.1.5.tar.gz
(20.9 kB
view hashes)
Built Distribution
Close
Hashes for edx_completion-0.1.5-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e7372fcb5e2a73486756f163a31757e2c930cefdd75b2b99b1b97300e47a779 |
|
MD5 | 3f230fd80821a2d8c43a2b8d7dbc4456 |
|
BLAKE2b-256 | 30838fffc11d0eb14da90b0b149bcb588279fbdbe29759252363c1fc1f3074a5 |