edx-arch-experiments


Nameedx-arch-experiments JSON
Version 3.3.1 PyPI version JSON
download
home_pagehttps://github.com/edx/edx-arch-experiments
SummaryA plugin to include applications under development by the architecture team at edx
upload_time2024-02-26 13:59:09
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-arch-experiments
====================

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

A plugin to include applications under development by and useful utility scripts for the architecture team at 2U.

Overview
------------------------

This plugin is meant to house experimental and in-development applications from the edX architecture team at 2U that are either not appropriate (i.e. 2U-specific) or not yet ready for community consumption.
It also includes some one-off scripts meant to reduce toil for the team.

Development Workflow
--------------------

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

  # Clone the repository
  git clone git@github.com:edx/edx-arch-experiments.git
  cd edx-arch-experiments

  # Set up a virtualenv using virtualenvwrapper with the same name as the repo and activate it
  mkvirtualenv -p python3.8 edx-arch-experiments

Local testing
~~~~~~~~~~~~~
Two options are available for testing changes locally:

First, via `make test-shell` a dockerized development envrionment can be launched to run `pytest` and do basic migration work.

Second, a local copy of the package can be installed into edx-platform. For example, if using devstack, copy or clone your branch into <devstack-parent>/src/edx-arch-experiments. Then, in an lms or cms shell, run ``pip install -e /edx/src/edx-arch-experiments``.  The plug-in configuration will automatically be picked up once installed, and changes will be hot reloaded.


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

  # Activate the virtualenv
  workon edx-arch-experiments

  # 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.

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 all Open edX projects.

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

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

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

Getting Help
------------

If you're having trouble, we have discussion forums at https://discuss.openedx.org where you can connect with others in the community.

Our real-time conversations are on Slack. You can request a `Slack invitation`_, then join our `community Slack workspace`_.

For more information about these options, see the `Getting Help`_ page.

.. _Slack invitation: https://openedx-slack-invite.herokuapp.com/
.. _community Slack workspace: https://openedx.slack.com/
.. _Getting Help: https://openedx.org/getting-help

.. |pypi-badge| image:: https://img.shields.io/pypi/v/edx-arch-experiments.svg
    :target: https://pypi.python.org/pypi/edx-arch-experiments/
    :alt: PyPI

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

.. |codecov-badge| image:: https://codecov.io/github/edx/edx-arch-experiments/coverage.svg?branch=main
    :target: https://codecov.io/github/edx/edx-arch-experiments?branch=main
    :alt: Codecov

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

.. |license-badge| image:: https://img.shields.io/github/license/edx/edx-arch-experiments.svg
    :target: https://github.com/edx/edx-arch-experiments/blob/main/LICENSE.txt
    :alt: License


Change Log
----------

..
   All enhancements and patches to edx_arch_experiments 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
~~~~~~~~~~

[3.3.1] - 2024-02-26
~~~~~~~~~~~~~~~~~~~~
Added
_______
* Added support for ``Python 3.12``

[3.3.0] - 2024-01-23
~~~~~~~~~~~~~~~~~~~~
Changed
_______
* Updated ``ConfigWatcher`` to include the IDA's name in change messages if ``CONFIG_WATCHER_SERVICE_NAME`` is set
* Enabled ``ConfigWatcher`` as a plugin for CMS

[3.2.0] - 2024-01-11
~~~~~~~~~~~~~~~~~~~~
Added
_____
* Add ``codejail_service`` app for transition to containerized codejail

[3.1.1] - 2023-11-06
~~~~~~~~~~~~~~~~~~~~
Fixed
_____
* ConfigWatcher should now respond to model events properly now that it registers receivers with strong references. (Tested in sandbox.)

[3.1.0] - 2023-10-31
~~~~~~~~~~~~~~~~~~~~

Changed
_______

* Add log message for each model the ConfigWatcher is listening to
* Ensure that ConfigWatcher only attaches receivers once

[3.0.0] - 2023-10-30
~~~~~~~~~~~~~~~~~~~~

Changed
_______

* Renamed ``ConfigWatcherApp`` to ``ConfigWatcher`` to be less redundant. This is technically a breaking change but the app was not in use yet.
* Enabled ``ConfigWatcher`` as a plugin for LMS

[2.2.0] - 2023-10-27
~~~~~~~~~~~~~~~~~~~~

Added
_____

* Add ``edx_arch_experiments.config_watcher`` Django app for monitoring Waffle changes
* Add script to get github action errors
* Add script to republish failed events

[2.1.0] - 2023-10-10
~~~~~~~~~~~~~~~~~~~~

* Add ORA2 to our code owner mapping script.

[2.0.0] - 2023-06-01
~~~~~~~~~~~~~~~~~~~~

* Removes summary hook aside, now in the ai-aside repo

[1.2.0] - 2023-05-08
~~~~~~~~~~~~~~~~~~~~

* Update summary hook to trigger on videos
* Remove text selection data key from summary hook html

[1.1.4] - 2023-04-14
~~~~~~~~~~~~~~~~~~~~

* Add course and block ID to summary hook html

[1.1.3] - 2023-04-05
~~~~~~~~~~~~~~~~~~~~

Fixed
_____

* Removed ``default_app_config`` (deprecated in Django 3)

[1.1.2] - 2023-03-14
~~~~~~~~~~~~~~~~~~~~

* Add "staff only" summary hook flag

[1.1.1] - 2023-03-09
~~~~~~~~~~~~~~~~~~~~

* Revise summary hook HTML

[1.1.0] - 2023-03-08
~~~~~~~~~~~~~~~~~~~~

* Add summary hook xblock aside

[1.0.0] - 2022-10-06
~~~~~~~~~~~~~~~~~~~~

* **Breaking change**: Remove ``kafka_consumer`` package and plugin (migrated to ``edx-event-bus-kafka``)

[0.2.1] - 2022-06-14
~~~~~~~~~~~~~~~~~~~~

* Add new target to Makefile
* Update openedx-events

[0.2.0] - 2022-03-16
~~~~~~~~~~~~~~~~~~~~

* Update consumer to use bridge and signals

[0.1.1] - 2022-03-16
~~~~~~~~~~~~~~~~~~~~

* Fix GitHub actions

[0.1.0] - 2022-02-22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Added
_____

* First release on PyPI.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/edx/edx-arch-experiments",
    "name": "edx-arch-experiments",
    "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/d8/3e/9f89eb987de33b2907895a6652a84e3f4d8f767fe8035b45302647f8961e/edx-arch-experiments-3.3.1.tar.gz",
    "platform": null,
    "description": "edx-arch-experiments\n====================\n\n|pypi-badge| |ci-badge| |codecov-badge| |pyversions-badge|\n|license-badge|\n\nA plugin to include applications under development by and useful utility scripts for the architecture team at 2U.\n\nOverview\n------------------------\n\nThis plugin is meant to house experimental and in-development applications from the edX architecture team at 2U that are either not appropriate (i.e. 2U-specific) or not yet ready for community consumption.\nIt also includes some one-off scripts meant to reduce toil for the team.\n\nDevelopment Workflow\n--------------------\n\nOne Time Setup\n~~~~~~~~~~~~~~\n.. code-block::\n\n  # Clone the repository\n  git clone git@github.com:edx/edx-arch-experiments.git\n  cd edx-arch-experiments\n\n  # Set up a virtualenv using virtualenvwrapper with the same name as the repo and activate it\n  mkvirtualenv -p python3.8 edx-arch-experiments\n\nLocal testing\n~~~~~~~~~~~~~\nTwo options are available for testing changes locally:\n\nFirst, via `make test-shell` a dockerized development envrionment can be launched to run `pytest` and do basic migration work.\n\nSecond, a local copy of the package can be installed into edx-platform. For example, if using devstack, copy or clone your branch into <devstack-parent>/src/edx-arch-experiments. Then, in an lms or cms shell, run ``pip install -e /edx/src/edx-arch-experiments``.  The plug-in configuration will automatically be picked up once installed, and changes will be hot reloaded.\n\n\nEvery time you develop something in this repo\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n.. code-block::\n\n  # Activate the virtualenv\n  workon edx-arch-experiments\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 \u2026\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 \u2026\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\nHow To Contribute\n-----------------\n\nContributions are very welcome.\nPlease read `How To Contribute <https://github.com/edx/edx-platform/blob/master/CONTRIBUTING.rst>`_ for details.\nEven though they were written with ``edx-platform`` in mind, the guidelines\nshould be followed for all Open edX projects.\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 <.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 <.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\nIf you're having trouble, we have discussion forums at https://discuss.openedx.org where you can connect with others in the community.\n\nOur real-time conversations are on Slack. You can request a `Slack invitation`_, then join our `community Slack workspace`_.\n\nFor more information about these options, see the `Getting Help`_ page.\n\n.. _Slack invitation: https://openedx-slack-invite.herokuapp.com/\n.. _community Slack workspace: https://openedx.slack.com/\n.. _Getting Help: https://openedx.org/getting-help\n\n.. |pypi-badge| image:: https://img.shields.io/pypi/v/edx-arch-experiments.svg\n    :target: https://pypi.python.org/pypi/edx-arch-experiments/\n    :alt: PyPI\n\n.. |ci-badge| image:: https://github.com/edx/edx-arch-experiments/workflows/Python%20CI/badge.svg?branch=main\n    :target: https://github.com/edx/edx-arch-experiments/actions\n    :alt: CI\n\n.. |codecov-badge| image:: https://codecov.io/github/edx/edx-arch-experiments/coverage.svg?branch=main\n    :target: https://codecov.io/github/edx/edx-arch-experiments?branch=main\n    :alt: Codecov\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/edx-arch-experiments.svg\n    :target: https://pypi.python.org/pypi/edx-arch-experiments/\n    :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/edx/edx-arch-experiments.svg\n    :target: https://github.com/edx/edx-arch-experiments/blob/main/LICENSE.txt\n    :alt: License\n\n\nChange Log\n----------\n\n..\n   All enhancements and patches to edx_arch_experiments 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[3.3.1] - 2024-02-26\n~~~~~~~~~~~~~~~~~~~~\nAdded\n_______\n* Added support for ``Python 3.12``\n\n[3.3.0] - 2024-01-23\n~~~~~~~~~~~~~~~~~~~~\nChanged\n_______\n* Updated ``ConfigWatcher`` to include the IDA's name in change messages if ``CONFIG_WATCHER_SERVICE_NAME`` is set\n* Enabled ``ConfigWatcher`` as a plugin for CMS\n\n[3.2.0] - 2024-01-11\n~~~~~~~~~~~~~~~~~~~~\nAdded\n_____\n* Add ``codejail_service`` app for transition to containerized codejail\n\n[3.1.1] - 2023-11-06\n~~~~~~~~~~~~~~~~~~~~\nFixed\n_____\n* ConfigWatcher should now respond to model events properly now that it registers receivers with strong references. (Tested in sandbox.)\n\n[3.1.0] - 2023-10-31\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n_______\n\n* Add log message for each model the ConfigWatcher is listening to\n* Ensure that ConfigWatcher only attaches receivers once\n\n[3.0.0] - 2023-10-30\n~~~~~~~~~~~~~~~~~~~~\n\nChanged\n_______\n\n* Renamed ``ConfigWatcherApp`` to ``ConfigWatcher`` to be less redundant. This is technically a breaking change but the app was not in use yet.\n* Enabled ``ConfigWatcher`` as a plugin for LMS\n\n[2.2.0] - 2023-10-27\n~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* Add ``edx_arch_experiments.config_watcher`` Django app for monitoring Waffle changes\n* Add script to get github action errors\n* Add script to republish failed events\n\n[2.1.0] - 2023-10-10\n~~~~~~~~~~~~~~~~~~~~\n\n* Add ORA2 to our code owner mapping script.\n\n[2.0.0] - 2023-06-01\n~~~~~~~~~~~~~~~~~~~~\n\n* Removes summary hook aside, now in the ai-aside repo\n\n[1.2.0] - 2023-05-08\n~~~~~~~~~~~~~~~~~~~~\n\n* Update summary hook to trigger on videos\n* Remove text selection data key from summary hook html\n\n[1.1.4] - 2023-04-14\n~~~~~~~~~~~~~~~~~~~~\n\n* Add course and block ID to summary hook html\n\n[1.1.3] - 2023-04-05\n~~~~~~~~~~~~~~~~~~~~\n\nFixed\n_____\n\n* Removed ``default_app_config`` (deprecated in Django 3)\n\n[1.1.2] - 2023-03-14\n~~~~~~~~~~~~~~~~~~~~\n\n* Add \"staff only\" summary hook flag\n\n[1.1.1] - 2023-03-09\n~~~~~~~~~~~~~~~~~~~~\n\n* Revise summary hook HTML\n\n[1.1.0] - 2023-03-08\n~~~~~~~~~~~~~~~~~~~~\n\n* Add summary hook xblock aside\n\n[1.0.0] - 2022-10-06\n~~~~~~~~~~~~~~~~~~~~\n\n* **Breaking change**: Remove ``kafka_consumer`` package and plugin (migrated to ``edx-event-bus-kafka``)\n\n[0.2.1] - 2022-06-14\n~~~~~~~~~~~~~~~~~~~~\n\n* Add new target to Makefile\n* Update openedx-events\n\n[0.2.0] - 2022-03-16\n~~~~~~~~~~~~~~~~~~~~\n\n* Update consumer to use bridge and signals\n\n[0.1.1] - 2022-03-16\n~~~~~~~~~~~~~~~~~~~~\n\n* Fix GitHub actions\n\n[0.1.0] - 2022-02-22\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* First release on PyPI.\n",
    "bugtrack_url": null,
    "license": "AGPL 3.0",
    "summary": "A plugin to include applications under development by the architecture team at edx",
    "version": "3.3.1",
    "project_urls": {
        "Homepage": "https://github.com/edx/edx-arch-experiments"
    },
    "split_keywords": [
        "python",
        "edx"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96905b0b99d600a51370b3f5fdece770f4157f809ef6c0c3d3944a84dd185183",
                "md5": "aac5b79e9a59d16150dc05a0e319364f",
                "sha256": "3a7526070f6cb2dfc21d4212dfc4d0bae2be7c06591a1527544155c9b5f8aefe"
            },
            "downloads": -1,
            "filename": "edx_arch_experiments-3.3.1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "aac5b79e9a59d16150dc05a0e319364f",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 37532,
            "upload_time": "2024-02-26T13:59:07",
            "upload_time_iso_8601": "2024-02-26T13:59:07.765213Z",
            "url": "https://files.pythonhosted.org/packages/96/90/5b0b99d600a51370b3f5fdece770f4157f809ef6c0c3d3944a84dd185183/edx_arch_experiments-3.3.1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d83e9f89eb987de33b2907895a6652a84e3f4d8f767fe8035b45302647f8961e",
                "md5": "d26c7f3e0ff73474db5f77e7b4a4397a",
                "sha256": "f033ee6ae4f790aacce5d50d45deb27ab3bd2bb1a31c283b654cfa3b3264b4d6"
            },
            "downloads": -1,
            "filename": "edx-arch-experiments-3.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "d26c7f3e0ff73474db5f77e7b4a4397a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 38892,
            "upload_time": "2024-02-26T13:59:09",
            "upload_time_iso_8601": "2024-02-26T13:59:09.573102Z",
            "url": "https://files.pythonhosted.org/packages/d8/3e/9f89eb987de33b2907895a6652a84e3f4d8f767fe8035b45302647f8961e/edx-arch-experiments-3.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-26 13:59:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "edx",
    "github_project": "edx-arch-experiments",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "edx-arch-experiments"
}
        
edX
Elapsed time: 0.22220s