Files
edx-platform/requirements
Chris Chávez 9bea44732b System defined taxonomies (#32869)
* feat: System defined taxonomies

* style: models.py moved to models/base.py

* feat: New Content System defined models

* style: Lint and migration

* fix: Fix migration error

* chore: Rebase and compile requirements

* refactor: adds ContentTaxonomyMixin for use when creating content system taxonomies

Pulls the ContentTaxonomy-specific logic into a mixin class to bring
the Content-specific logic into other Taxonony subclasses.

* fix: Tests

* test: System defined model validations

* fix: Move language taxonomy creation to openedx-learning

* style: Rename of OrganizationSystemDefinedTaxonomy

* style: nits

* chore: Update openedx-learning dependency

---------

Co-authored-by: Jillian Vogel <jill@opencraft.com>
2023-08-02 12:22:23 -07:00
..
2023-08-02 12:22:23 -07:00
2018-04-13 14:10:40 -04:00
2023-07-27 17:55:41 +00:00

Requirements/dependencies
=========================

These directories specify the Python (and system) dependencies for the LMS and Studio.

- ``edx`` contains the normal Python requirements files
- ``edx-sandbox`` contains the requirements files for Codejail
- ``constraints.txt`` is shared between the two

(In a normal `OEP-18`_-compliant repository, the ``*.in`` and ``*.txt`` files would be
directly in the requirements directory.)

.. _OEP-18: https://github.com/openedx/open-edx-proposals/blob/master/oeps/oep-0018-bp-python-dependencies.rst

Upgrading just one dependency
-----------------------------

Want to upgrade just *one* dependency without pulling in other upgrades? You can `run the upgrade-one-python-dependency.yml workflow <https://github.com/openedx/edx-platform/actions/workflows/upgrade-one-python-dependency.yml>`_ to have a pull request made against a branch of your choice.

Or, if you need to do it locally, you can use the ``upgrade-package`` make target directly. For example, you could run ``make upgrade-package package=ecommerce``. But the GitHub workflow is likely easier.

Downgrading a dependency
------------------------

If you instead need to surgically *downgrade* a dependency:

1. Add an exact-match or max-version constraint to ``constraints.txt`` with a comment explaining why (and ideally a ticket or issue link). Here's what it might look like::

     # frobulator 2.x has breaking API changes; see https://github.com/openedx/edx-platform/issue/1234567 for fixing it
     frobulator<2.0.0

2. Run ``make compile-requirements``

This is considerably safer than trying to manually edit the ``*.txt`` files, which can easily result in incompatible dependency versions.