learning-assistant


Namelearning-assistant JSON
Version 4.2.0 PyPI version JSON
download
home_pagehttps://github.com/openedx/learning-assistant
SummaryPlugin for a learning assistant backend, intended for use within edx-platform
upload_time2024-02-29 14:21:43
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.
            learning-assistant
#############################

|pypi-badge| |ci-badge| |codecov-badge| |doc-badge| |pyversions-badge|
|license-badge| |status-badge|

Purpose
*******

Plugin for a learning assistant backend, intended for use within edx-platform.

This library contains data models and logic for a platform wide learning assistant.

Dependencies
************
In addition to the edx-platform repository in which this library is installed, this plugin also
leverages the `frontend-lib-learning-assistant`_ as a frontend interface for the learning assistant.

Getting Started
***************

Developing
==========

One Time Setup
--------------
.. code-block::

  # Clone the repository
  git clone git@github.com:openedx/learning-assistant.git
  cd learning-assistant

  # Set up a virtualenv with the same name as the repo and activate it
  # Here's how you might do that if you have virtualenvwrapper setup.
  mkvirtualenv -p python3.8 learning-assistant

Every time you develop something in this repo
---------------------------------------------
.. code-block::

  # Activate the virtualenv
  # Here's how you might do that if you're using virtualenvwrapper.
  workon learning-assistant

  # Grab the latest code
  git checkout main
  git pull

  # Install/update the dev requirements
  make requirements

  # Run the tests and quality checks (to verify the status before you make any changes)
  make validate

  # Make a new branch for your changes
  git checkout -b <your_github_username>/<short_description>

  # Using your favorite editor, edit the code to make your change.
  vim ...

  # Run your new tests
  pytest ./path/to/new/tests

  # Run all the tests and quality checks
  make validate

  # Commit all your changes
  git commit ...
  git push

  # Open a PR and ask for review.

License
*******

The code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.

Please see `LICENSE.txt <LICENSE.txt>`_ for details.

Contributing
************

This repo is not currently accepting contributions.

The Open edX Code of Conduct
****************************

All community members are expected to follow the `Open edX Code of Conduct`_.

.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/

Reporting Security Issues
*************************

Please do not report security issues in public. Please email security@edx.org.

.. |pypi-badge| image:: https://img.shields.io/pypi/v/learning-assistant.svg
    :target: https://pypi.python.org/pypi/learning-assistant/
    :alt: PyPI

.. |ci-badge| image:: https://github.com/openedx/learning-assistant/workflows/Python%20CI/badge.svg?branch=main
    :target: https://github.com/openedx/learning-assistant/actions
    :alt: CI

.. |codecov-badge| image:: https://codecov.io/github/openedx/learning-assistant/coverage.svg?branch=main
    :target: https://codecov.io/github/openedx/learning-assistant?branch=main
    :alt: Codecov

.. |doc-badge| image:: https://readthedocs.org/projects/learning-assistant/badge/?version=latest
    :target: https://docs.openedx.org/projects/learning-assistant
    :alt: Documentation

.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/learning-assistant.svg
    :target: https://pypi.python.org/pypi/learning-assistant/
    :alt: Supported Python versions

.. |license-badge| image:: https://img.shields.io/github/license/openedx/learning-assistant.svg
    :target: https://github.com/openedx/learning-assistant/blob/main/LICENSE.txt
    :alt: License

.. TODO: Choose one of the statuses below and remove the other status-badge lines.
.. |status-badge| image:: https://img.shields.io/badge/Status-Experimental-yellow
.. .. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen
.. .. |status-badge| image:: https://img.shields.io/badge/Status-Deprecated-orange
.. .. |status-badge| image:: https://img.shields.io/badge/Status-Unsupported-red

.. _frontend-lib-learning-assistant: https://github.com/edx/frontend-lib-learning-assistant


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

..
   All enhancements and patches to learning_assistant 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
**********

4.2.0 - 2024-02-28
******************
* Modify call to Xpert backend to prevent use of course index.

4.1.0 - 2024-02-26
******************
* Use course cache to inject course title and course skill names into prompt template.

4.0.0 - 2024-02-21
******************
* Remove use of course waffle flag. Use the django setting LEARNING_ASSISTANT_AVAILABLE
  to enable the learning assistant feature.

3.6.0 - 2024-02-13
******************
* Enable backend access by course waffle flag or django setting.

3.4.0 - 2024-01-30
******************
* Add new GET endpoint to retrieve whether Learning Assistant is enabled in a given course.

3.3.0 - 2024-01-30
******************
* Fix release version

3.2.0 - 2024-01-30
******************
* Remove audit access to chat view.

3.0.1 - 2024-01-29
******************
* Modify gating of learning assistant based on waffle flag and enabled value.

3.0.0 - 2024-01-23
******************
* Remove and drop the course prompt model.

2.0.3 - 2024-01-22
******************
* Remove references to the course prompt model.

2.0.1 - 2024-01-08
******************
* Gate content integration with waffle flag

2.0.0 - 2024-01-03
******************
* Add content cache
* Integrate system prompt setting

1.5.0 - 2023-10-18
******************
* Add management command to generate course prompts

1.4.0 - 2023-09-11
******************
* Send reduced message list if needed to avoid going over token limit

1.3.3 - 2023-09-07
******************
* Allow any enrolled learner to access API.

1.3.2 - 2023-08-25
******************
* Remove deserialization of prompt field, as it is represented in the python
  native format

1.3.1 - 2023-08-24
******************
* Remove prompt field

1.3.0 - 2023-08-24
******************
* Remove references to prompt field
* Create json_prompt field to allow for more flexible prompts

1.2.1 - 2023-08-24
******************
* make prompt field nullable

1.2.0 - 2023-08-22
******************
* add endpoint authentication
* fix request structure required for endpoint integration

1.1.0 - 2023-08-09
******************
* fix for course id to course key conversion

1.0.0 - 2023-08-08
******************

* Add endpoint to retrieve chat response
* Created model to associate course ideas with a specific prompt text

Unreleased
**********


0.1.0 – 2023-07-26
**********************************************

Added
=====

* First release on PyPI.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/openedx/learning-assistant",
    "name": "learning-assistant",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "Python edx",
    "author": "edX",
    "author_email": "team-cosmonauts@edx.org",
    "download_url": "https://files.pythonhosted.org/packages/6d/e8/4133a6fa8c77512f4b28efe487bc6bbc700c672a6f779ee1f467bcdbfbed/learning-assistant-4.2.0.tar.gz",
    "platform": null,
    "description": "learning-assistant\n#############################\n\n|pypi-badge| |ci-badge| |codecov-badge| |doc-badge| |pyversions-badge|\n|license-badge| |status-badge|\n\nPurpose\n*******\n\nPlugin for a learning assistant backend, intended for use within edx-platform.\n\nThis library contains data models and logic for a platform wide learning assistant.\n\nDependencies\n************\nIn addition to the edx-platform repository in which this library is installed, this plugin also\nleverages the `frontend-lib-learning-assistant`_ as a frontend interface for the learning assistant.\n\nGetting Started\n***************\n\nDeveloping\n==========\n\nOne Time Setup\n--------------\n.. code-block::\n\n  # Clone the repository\n  git clone git@github.com:openedx/learning-assistant.git\n  cd learning-assistant\n\n  # Set up a virtualenv with the same name as the repo and activate it\n  # Here's how you might do that if you have virtualenvwrapper setup.\n  mkvirtualenv -p python3.8 learning-assistant\n\nEvery time you develop something in this repo\n---------------------------------------------\n.. code-block::\n\n  # Activate the virtualenv\n  # Here's how you might do that if you're using virtualenvwrapper.\n  workon learning-assistant\n\n  # Grab the latest code\n  git checkout main\n  git pull\n\n  # Install/update the dev requirements\n  make requirements\n\n  # Run the tests and quality checks (to verify the status before you make any changes)\n  make validate\n\n  # Make a new branch for your changes\n  git checkout -b <your_github_username>/<short_description>\n\n  # Using your favorite editor, edit the code to make your change.\n  vim ...\n\n  # Run your new tests\n  pytest ./path/to/new/tests\n\n  # Run all the tests and quality checks\n  make validate\n\n  # Commit all your changes\n  git commit ...\n  git push\n\n  # Open a PR and ask for review.\n\nLicense\n*******\n\nThe code in this repository is licensed under the AGPL 3.0 unless\notherwise noted.\n\nPlease see `LICENSE.txt <LICENSE.txt>`_ for details.\n\nContributing\n************\n\nThis repo is not currently accepting contributions.\n\nThe Open edX Code of Conduct\n****************************\n\nAll community members are expected to follow the `Open edX Code of Conduct`_.\n\n.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/\n\nReporting Security Issues\n*************************\n\nPlease do not report security issues in public. Please email security@edx.org.\n\n.. |pypi-badge| image:: https://img.shields.io/pypi/v/learning-assistant.svg\n    :target: https://pypi.python.org/pypi/learning-assistant/\n    :alt: PyPI\n\n.. |ci-badge| image:: https://github.com/openedx/learning-assistant/workflows/Python%20CI/badge.svg?branch=main\n    :target: https://github.com/openedx/learning-assistant/actions\n    :alt: CI\n\n.. |codecov-badge| image:: https://codecov.io/github/openedx/learning-assistant/coverage.svg?branch=main\n    :target: https://codecov.io/github/openedx/learning-assistant?branch=main\n    :alt: Codecov\n\n.. |doc-badge| image:: https://readthedocs.org/projects/learning-assistant/badge/?version=latest\n    :target: https://docs.openedx.org/projects/learning-assistant\n    :alt: Documentation\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/learning-assistant.svg\n    :target: https://pypi.python.org/pypi/learning-assistant/\n    :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/openedx/learning-assistant.svg\n    :target: https://github.com/openedx/learning-assistant/blob/main/LICENSE.txt\n    :alt: License\n\n.. TODO: Choose one of the statuses below and remove the other status-badge lines.\n.. |status-badge| image:: https://img.shields.io/badge/Status-Experimental-yellow\n.. .. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen\n.. .. |status-badge| image:: https://img.shields.io/badge/Status-Deprecated-orange\n.. .. |status-badge| image:: https://img.shields.io/badge/Status-Unsupported-red\n\n.. _frontend-lib-learning-assistant: https://github.com/edx/frontend-lib-learning-assistant\n\n\nChange Log\n##########\n\n..\n   All enhancements and patches to learning_assistant 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\n4.2.0 - 2024-02-28\n******************\n* Modify call to Xpert backend to prevent use of course index.\n\n4.1.0 - 2024-02-26\n******************\n* Use course cache to inject course title and course skill names into prompt template.\n\n4.0.0 - 2024-02-21\n******************\n* Remove use of course waffle flag. Use the django setting LEARNING_ASSISTANT_AVAILABLE\n  to enable the learning assistant feature.\n\n3.6.0 - 2024-02-13\n******************\n* Enable backend access by course waffle flag or django setting.\n\n3.4.0 - 2024-01-30\n******************\n* Add new GET endpoint to retrieve whether Learning Assistant is enabled in a given course.\n\n3.3.0 - 2024-01-30\n******************\n* Fix release version\n\n3.2.0 - 2024-01-30\n******************\n* Remove audit access to chat view.\n\n3.0.1 - 2024-01-29\n******************\n* Modify gating of learning assistant based on waffle flag and enabled value.\n\n3.0.0 - 2024-01-23\n******************\n* Remove and drop the course prompt model.\n\n2.0.3 - 2024-01-22\n******************\n* Remove references to the course prompt model.\n\n2.0.1 - 2024-01-08\n******************\n* Gate content integration with waffle flag\n\n2.0.0 - 2024-01-03\n******************\n* Add content cache\n* Integrate system prompt setting\n\n1.5.0 - 2023-10-18\n******************\n* Add management command to generate course prompts\n\n1.4.0 - 2023-09-11\n******************\n* Send reduced message list if needed to avoid going over token limit\n\n1.3.3 - 2023-09-07\n******************\n* Allow any enrolled learner to access API.\n\n1.3.2 - 2023-08-25\n******************\n* Remove deserialization of prompt field, as it is represented in the python\n  native format\n\n1.3.1 - 2023-08-24\n******************\n* Remove prompt field\n\n1.3.0 - 2023-08-24\n******************\n* Remove references to prompt field\n* Create json_prompt field to allow for more flexible prompts\n\n1.2.1 - 2023-08-24\n******************\n* make prompt field nullable\n\n1.2.0 - 2023-08-22\n******************\n* add endpoint authentication\n* fix request structure required for endpoint integration\n\n1.1.0 - 2023-08-09\n******************\n* fix for course id to course key conversion\n\n1.0.0 - 2023-08-08\n******************\n\n* Add endpoint to retrieve chat response\n* Created model to associate course ideas with a specific prompt text\n\nUnreleased\n**********\n\n\n0.1.0 \u2013 2023-07-26\n**********************************************\n\nAdded\n=====\n\n* First release on PyPI.\n",
    "bugtrack_url": null,
    "license": "AGPL 3.0",
    "summary": "Plugin for a learning assistant backend, intended for use within edx-platform",
    "version": "4.2.0",
    "project_urls": {
        "Homepage": "https://github.com/openedx/learning-assistant"
    },
    "split_keywords": [
        "python",
        "edx"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "55ea4dc625a32fc67239df458fc3073101c065ddd9514de11572aeaf5889033d",
                "md5": "deee260bdab29749038244975cffdc09",
                "sha256": "fd4018b22f365cf2503e3c975f1855436523969a6bb67766c190d5d64c5e57ed"
            },
            "downloads": -1,
            "filename": "learning_assistant-4.2.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "deee260bdab29749038244975cffdc09",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 34164,
            "upload_time": "2024-02-29T14:21:42",
            "upload_time_iso_8601": "2024-02-29T14:21:42.543623Z",
            "url": "https://files.pythonhosted.org/packages/55/ea/4dc625a32fc67239df458fc3073101c065ddd9514de11572aeaf5889033d/learning_assistant-4.2.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6de84133a6fa8c77512f4b28efe487bc6bbc700c672a6f779ee1f467bcdbfbed",
                "md5": "5eef37430ff445364b434d96cc940a6f",
                "sha256": "4a36fd47dd104f777f31651026cf6223bf648aaa6079565d6b997ee43b02960a"
            },
            "downloads": -1,
            "filename": "learning-assistant-4.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5eef37430ff445364b434d96cc940a6f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 38406,
            "upload_time": "2024-02-29T14:21:43",
            "upload_time_iso_8601": "2024-02-29T14:21:43.928561Z",
            "url": "https://files.pythonhosted.org/packages/6d/e8/4133a6fa8c77512f4b28efe487bc6bbc700c672a6f779ee1f467bcdbfbed/learning-assistant-4.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-29 14:21:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "openedx",
    "github_project": "learning-assistant",
    "github_not_found": true,
    "lcname": "learning-assistant"
}
        
edX
Elapsed time: 0.34802s