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