Skip to content

A plugin to include applications under development by the architecture team at edx

License

Notifications You must be signed in to change notification settings

edx/edx-arch-experiments

Repository files navigation

edx-arch-experiments

PyPI CI Codecov Supported Python versions License

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

# Clone the repository
git clone [email protected]: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.11 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

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

How To Contribute

Contributions are very welcome. Please read How To Contribute 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.

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.

Reporting Security Issues

Please do not report security issues in public. Please email [email protected].

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.