edx-recommendations


Nameedx-recommendations JSON
Version 1.0.6 PyPI version JSON
download
home_pagehttps://github.com/openedx/edx-recommendations
SummaryA edx-platform plugin for learner recommendations.
upload_time2023-12-19 06:44:28
maintainer
docs_urlNone
authoredX
requires_python>=3.8
licenseAGPL 3.0
keywords python edx
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            edx-recommendations
=============================

|license-badge| |Status|

A plugin for personalized recommendations

Please tag **@openedx/vanguards** on any PRs or issues.  Thanks!

Overview
---------

The ``edx-recommendations`` is a Django app that serves REST API endpoints for
getting personalized recommendations for learner. It used different sources
like Algolia and Amplitude for recommendations.

edx-recommendations is a plugin that runs under lms. It uses same configuration settings as defined in lms.
It can be used by installing in edx-platform.

How to install locally
--------------------------

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 lms-shell, uninstall edx-recommendations and install your local copy. You can run the following command::

    pip uninstall edx-recommendations -y; pip install -e /edx/src/edx-recommendations


How to create a new release
---------------------------

1. | Checkout to a new branch and increment ``__version__`` by the smallest possible value located in ``edx-recommendations/__init__.py``.
   | This will allow edx-platform to pick up the new version.

2. Update the ``CHANGELOG.rst`` with the brief description of your changes.

2. | Once a branch has been merged, it is necessary to create a release on github, specifying the new version from
   | ``__version__`` set above.


.. Unit Testing
.. ------------
.. mock_apps folder: Since edx-recommendations 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.

.. followed by::

..     $ cd /edx/src/edx-recommendations
..     virtualenv edx-recommendations-env
..     source edx-recommendations-env/bin/activate
..     make requirements
..     make test

.. This will run the unit tests and code coverage numbers

Testing
-------

edx-recommendations has an assortment of test cases and code quality
checks to catch potential problems during development.  To run them all in the
version of Python you chose for your virtualenv:

.. code-block:: bash

    $ make validate

To run just the unit tests:

.. code-block:: bash

    $ make test

To run just the unit tests and check diff coverage

.. code-block:: bash

    $ make diff_cover

To run just the code quality checks:

.. code-block:: bash

    $ make quality

To run the unit tests under every supported Python version and the code
quality checks:

.. code-block:: bash

    $ make test-all

To generate and open an HTML report of how much of the code is covered by
test cases:

.. code-block:: bash

    $ make coverage

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-recommendations/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-recommendations/blob/master/.github/ISSUE_TEMPLATE.md>`_.

Reporting Security Issues
-------------------------

Please do not report security issues in public. Please email security@edx.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


.. |license-badge| image:: https://img.shields.io/github/license/edx/edx-recommendations.svg
    :target: https://github.com/openedx/edx-recommendations/blob/master/LICENSE.txt
    :alt: License

.. |Status| image:: https://img.shields.io/badge/Status-Maintained-brightgreen


Change Log
##########

..
   All enhancements and patches to edx_recommendations will be documented
   in this file.  It adheres to the structure of https://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 (https://semver.org/).

.. There should always be an "Unreleased" section for changes pending release.

Unreleased
**********
*

[1.0.6] - 2023-09-25
**********************************************
**What's Changed**
* Updated settings file and default values

[1.0.5] - 2023-09-25
**********************************************
**What's Changed**
* Fixed formatting for PyPI release

[1.0.4] - 2023-09-25
**********************************************
**What's Changed**
* Added PyPI publish workflow for the package

[1.0.3] - 2023-09-22
**********************************************
**What's Changed**
* Added Support for Django 4.2

[1.0.2] - 2023-08-25
**********************************************
**What's Changed**

* Added recommendations unavailable event for learner home amplitude recommendations
* Removed constraint for edx-drf-extensions

**Documentation Updates**

* Updated docstring for cross product recommendations api endpoint


[1.0.0] - 2023-08-09
**********************************************
**What's Changed**

* Moved existing recommendations APIs to this plugin
* Added tests for the APIs and utils

**Documentation Updates**

* Added purpose of this repo as an ADR
* Added pull request template and updated README file with initial setup guide

[0.1.0] – 2023-05-15
**********************************************

* First release on PyPI.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/openedx/edx-recommendations",
    "name": "edx-recommendations",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "Python edx",
    "author": "edX",
    "author_email": "oscm@edx.org",
    "download_url": "https://files.pythonhosted.org/packages/a5/4a/1e5ca04137d39a195207ef100450e6c6848bd259f51a8ec7c785c4812c4e/edx-recommendations-1.0.6.tar.gz",
    "platform": null,
    "description": "edx-recommendations\n=============================\n\n|license-badge| |Status|\n\nA plugin for personalized recommendations\n\nPlease tag **@openedx/vanguards** on any PRs or issues.  Thanks!\n\nOverview\n---------\n\nThe ``edx-recommendations`` is a Django app that serves REST API endpoints for\ngetting personalized recommendations for learner. It used different sources\nlike Algolia and Amplitude for recommendations.\n\nedx-recommendations is a plugin that runs under lms. It uses same configuration settings as defined in lms.\nIt can be used by installing in edx-platform.\n\nHow to install locally\n--------------------------\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 lms-shell, uninstall edx-recommendations and install your local copy. You can run the following command::\n\n    pip uninstall edx-recommendations -y; pip install -e /edx/src/edx-recommendations\n\n\nHow to create a new release\n---------------------------\n\n1. | Checkout to a new branch and increment ``__version__`` by the smallest possible value located in ``edx-recommendations/__init__.py``.\n   | This will allow edx-platform to pick up the new version.\n\n2. Update the ``CHANGELOG.rst`` with the brief description of your changes.\n\n2. | Once a branch has been merged, it is necessary to create a release on github, specifying the new version from\n   | ``__version__`` set above.\n\n\n.. Unit Testing\n.. ------------\n.. mock_apps folder: Since edx-recommendations depends on platform during actual runtime, for unit tests, we need to mock various\n.. endpoints and calls. To this end, they are mocked in the mock_apps folder.\n\n.. followed by::\n\n..     $ cd /edx/src/edx-recommendations\n..     virtualenv edx-recommendations-env\n..     source edx-recommendations-env/bin/activate\n..     make requirements\n..     make test\n\n.. This will run the unit tests and code coverage numbers\n\nTesting\n-------\n\nedx-recommendations has an assortment of test cases and code quality\nchecks to catch potential problems during development.  To run them all in the\nversion of Python you chose for your virtualenv:\n\n.. code-block:: bash\n\n    $ make validate\n\nTo run just the unit tests:\n\n.. code-block:: bash\n\n    $ make test\n\nTo run just the unit tests and check diff coverage\n\n.. code-block:: bash\n\n    $ make diff_cover\n\nTo run just the code quality checks:\n\n.. code-block:: bash\n\n    $ make quality\n\nTo run the unit tests under every supported Python version and the code\nquality checks:\n\n.. code-block:: bash\n\n    $ make test-all\n\nTo generate and open an HTML report of how much of the code is covered by\ntest cases:\n\n.. code-block:: bash\n\n    $ make coverage\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-recommendations/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-recommendations/blob/master/.github/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.. |license-badge| image:: https://img.shields.io/github/license/edx/edx-recommendations.svg\n    :target: https://github.com/openedx/edx-recommendations/blob/master/LICENSE.txt\n    :alt: License\n\n.. |Status| image:: https://img.shields.io/badge/Status-Maintained-brightgreen\n\n\nChange Log\n##########\n\n..\n   All enhancements and patches to edx_recommendations will be documented\n   in this file.  It adheres to the structure of https://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 (https://semver.org/).\n\n.. There should always be an \"Unreleased\" section for changes pending release.\n\nUnreleased\n**********\n*\n\n[1.0.6] - 2023-09-25\n**********************************************\n**What's Changed**\n* Updated settings file and default values\n\n[1.0.5] - 2023-09-25\n**********************************************\n**What's Changed**\n* Fixed formatting for PyPI release\n\n[1.0.4] - 2023-09-25\n**********************************************\n**What's Changed**\n* Added PyPI publish workflow for the package\n\n[1.0.3] - 2023-09-22\n**********************************************\n**What's Changed**\n* Added Support for Django 4.2\n\n[1.0.2] - 2023-08-25\n**********************************************\n**What's Changed**\n\n* Added recommendations unavailable event for learner home amplitude recommendations\n* Removed constraint for edx-drf-extensions\n\n**Documentation Updates**\n\n* Updated docstring for cross product recommendations api endpoint\n\n\n[1.0.0] - 2023-08-09\n**********************************************\n**What's Changed**\n\n* Moved existing recommendations APIs to this plugin\n* Added tests for the APIs and utils\n\n**Documentation Updates**\n\n* Added purpose of this repo as an ADR\n* Added pull request template and updated README file with initial setup guide\n\n[0.1.0] \u2013 2023-05-15\n**********************************************\n\n* First release on PyPI.\n",
    "bugtrack_url": null,
    "license": "AGPL 3.0",
    "summary": "A edx-platform plugin for learner recommendations.",
    "version": "1.0.6",
    "project_urls": {
        "Homepage": "https://github.com/openedx/edx-recommendations"
    },
    "split_keywords": [
        "python",
        "edx"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2766b1e25c4e43e58831c6eca7259106367c659571c8142afb7a0a353311d9a9",
                "md5": "dc720f431aa1638e238aac6ac22790e4",
                "sha256": "5673300ac340e0a31cd8c70d42e00b1b620635f1cdbb1408faffd304bb4d3c6a"
            },
            "downloads": -1,
            "filename": "edx_recommendations-1.0.6-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dc720f431aa1638e238aac6ac22790e4",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 17535,
            "upload_time": "2023-12-19T06:44:26",
            "upload_time_iso_8601": "2023-12-19T06:44:26.819099Z",
            "url": "https://files.pythonhosted.org/packages/27/66/b1e25c4e43e58831c6eca7259106367c659571c8142afb7a0a353311d9a9/edx_recommendations-1.0.6-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a54a1e5ca04137d39a195207ef100450e6c6848bd259f51a8ec7c785c4812c4e",
                "md5": "4a900047ac201c3b15df3233295a1ddc",
                "sha256": "0928a959129da526014be8b638f0c7998926346606093f1f0cac1c2ed522873c"
            },
            "downloads": -1,
            "filename": "edx-recommendations-1.0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "4a900047ac201c3b15df3233295a1ddc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 26789,
            "upload_time": "2023-12-19T06:44:28",
            "upload_time_iso_8601": "2023-12-19T06:44:28.602712Z",
            "url": "https://files.pythonhosted.org/packages/a5/4a/1e5ca04137d39a195207ef100450e6c6848bd259f51a8ec7c785c4812c4e/edx-recommendations-1.0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-19 06:44:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "openedx",
    "github_project": "edx-recommendations",
    "github_not_found": true,
    "lcname": "edx-recommendations"
}
        
edX
Elapsed time: 0.15377s