Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ Unreleased
**********
* Nothing unreleased

[1.6.15]
********
* build: pin pip version to resolve pip-tools conflict

[1.6.14]
********
* chore: Upgrade Python requirements
Expand Down
14 changes: 12 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
extract_translations fake_translations help pii_check pull_translations push_translations \
quality requirements selfcheck test test-all upgrade validate install_transifex_client

COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt
.PHONY: $(COMMON_CONSTRAINTS_TXT)
$(COMMON_CONSTRAINTS_TXT):
wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt || touch "$(@)"

.DEFAULT_GOAL := help

# For opening files in a browser. Use like: $(BROWSER)relative/path/to/file.html
Expand Down Expand Up @@ -33,8 +38,12 @@ docs: ## generate Sphinx HTML documentation, including API docs
PIP_COMPILE = pip-compile --upgrade $(PIP_COMPILE_OPTS)

upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
pip install -qr requirements/pip-tools.txt
upgrade: $(COMMON_CONSTRAINTS_TXT) piptools ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
# Make sure to compile files after any other files they include!
sed 's/Django<5.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
mv requirements/common_constraints.tmp requirements/common_constraints.txt
sed 's/django-simple-history==3.0.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
mv requirements/common_constraints.tmp requirements/common_constraints.txt
# Make sure to compile files after any other files they include!
$(PIP_COMPILE) --allow-unsafe -o requirements/pip.txt requirements/pip.in
$(PIP_COMPILE) -o requirements/pip-tools.txt requirements/pip-tools.in
Expand All @@ -61,6 +70,7 @@ piptools: ## install pinned version of pip-compile and pip-sync
pip install -r requirements/pip-tools.txt

requirements: piptools ## install development environment requirements
pip install -q -r requirements/pip_tools.txt -c requirements/constraints.txt
pip-sync -q requirements/dev.txt requirements/private.*

test: clean ## run tests in the current virtualenv
Expand Down
20 changes: 10 additions & 10 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,23 @@
#
# make upgrade
#
asgiref==3.10.0
asgiref==3.11.0
# via django
attrs==25.4.0
# via openedx-events
certifi==2025.10.5
certifi==2025.11.12
# via requests
cffi==2.0.0
# via
# cryptography
# pynacl
charset-normalizer==3.4.4
# via requests
click==8.3.0
click==8.3.1
# via edx-django-utils
cryptography==46.0.3
# via pyjwt
django==4.2.25
django==5.2.8
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/base.in
Expand All @@ -44,7 +44,7 @@ django-crum==0.7.9
# edx-rbac
django-extensions==4.1
# via -r requirements/base.in
django-filter==25.1
django-filter==25.2
# via -r requirements/base.in
django-model-utils==5.0.0
# via edx-rbac
Expand Down Expand Up @@ -96,23 +96,23 @@ openedx-events==10.5.0
# via -r requirements/base.in
ply==3.11
# via djangoql
psutil==7.1.1
psutil==7.1.3
# via edx-django-utils
pycparser==2.23
# via cffi
pyjwt[crypto]==2.10.1
# via
# drf-jwt
# edx-drf-extensions
pymongo==4.15.3
pymongo==4.15.4
# via edx-opaque-keys
pynacl==1.6.0
pynacl==1.6.1
# via edx-django-utils
pytz==2025.2
# via -r requirements/base.in
pyyaml==6.0.3
# via edx-django-release-util
redis==6.4.0
redis==7.1.0
# via -r requirements/base.in
requests==2.32.5
# via edx-drf-extensions
Expand All @@ -127,7 +127,7 @@ six==1.17.0
# edx-rbac
sqlparse==0.5.3
# via django
stevedore==5.5.0
stevedore==5.6.0
# via
# edx-django-utils
# edx-opaque-keys
Expand Down
6 changes: 3 additions & 3 deletions requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# make upgrade
#
cachetools==6.2.1
cachetools==6.2.2
# via tox
chardet==5.2.0
# via tox
Expand All @@ -28,7 +28,7 @@ pluggy==1.6.0
# via tox
pyproject-api==1.10.0
# via tox
tox==4.31.0
tox==4.32.0
# via -r requirements/ci.in
virtualenv==20.35.3
virtualenv==20.35.4
# via tox
7 changes: 7 additions & 0 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,10 @@

# Common constraints for edx repos
-c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt

# pip 25.3 is incompatible with pip-tools hence causing failures during the build process
# Make upgrade command and all requirements upgrade jobs are broken due to this.
# See issue https://github.com/openedx/public-engineering/issues/440 for details regarding the ongoing fix.
# The constraint can be removed once a release (pip-tools > 7.5.1) is available with support for pip 25.3
# Issue to track this dependency and unpin later on: https://github.com/openedx/edx-lint/issues/503
pip<25.3
36 changes: 18 additions & 18 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# make upgrade
#
asgiref==3.10.0
asgiref==3.11.0
# via
# -r requirements/quality.txt
# django
Expand All @@ -21,11 +21,11 @@ build==1.3.0
# via
# -r requirements/pip-tools.txt
# pip-tools
cachetools==6.2.1
cachetools==6.2.2
# via
# -r requirements/ci.txt
# tox
certifi==2025.10.5
certifi==2025.11.12
# via
# -r requirements/quality.txt
# requests
Expand All @@ -43,7 +43,7 @@ charset-normalizer==3.4.4
# via
# -r requirements/quality.txt
# requests
click==8.3.0
click==8.3.1
# via
# -r requirements/pip-tools.txt
# -r requirements/quality.txt
Expand All @@ -64,7 +64,7 @@ colorama==0.4.6
# via
# -r requirements/ci.txt
# tox
coverage[toml]==7.11.0
coverage[toml]==7.12.0
# via
# -r requirements/quality.txt
# pytest-cov
Expand All @@ -76,7 +76,7 @@ ddt==1.7.2
# via
# -r requirements/dev.in
# -r requirements/quality.txt
diff-cover==9.7.1
diff-cover==9.7.2
# via -r requirements/dev.in
dill==0.4.0
# via
Expand All @@ -86,7 +86,7 @@ distlib==0.4.0
# via
# -r requirements/ci.txt
# virtualenv
django==4.2.25
django==5.2.8
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/quality.txt
Expand All @@ -112,7 +112,7 @@ django-crum==0.7.9
# edx-rbac
django-extensions==4.1
# via -r requirements/quality.txt
django-filter==25.1
django-filter==25.2
# via -r requirements/quality.txt
django-model-utils==5.0.0
# via
Expand Down Expand Up @@ -171,7 +171,7 @@ edx-rbac==2.1.0
# via -r requirements/quality.txt
factory-boy==3.3.3
# via -r requirements/quality.txt
faker==37.11.0
faker==38.2.0
# via
# -r requirements/quality.txt
# factory-boy
Expand Down Expand Up @@ -232,7 +232,7 @@ packaging==25.0
# tox
path==16.16.0
# via edx-i18n-tools
pip-tools==7.5.1
pip-tools==7.5.2
# via -r requirements/pip-tools.txt
platformdirs==4.5.0
# via
Expand All @@ -255,7 +255,7 @@ ply==3.11
# djangoql
polib==1.2.0
# via edx-i18n-tools
psutil==7.1.1
psutil==7.1.3
# via
# -r requirements/quality.txt
# edx-django-utils
Expand Down Expand Up @@ -297,11 +297,11 @@ pylint-plugin-utils==0.9.0
# -r requirements/quality.txt
# pylint-celery
# pylint-django
pymongo==4.15.3
pymongo==4.15.4
# via
# -r requirements/quality.txt
# edx-opaque-keys
pynacl==1.6.0
pynacl==1.6.1
# via
# -r requirements/quality.txt
# edx-django-utils
Expand All @@ -314,7 +314,7 @@ pyproject-hooks==1.2.0
# -r requirements/pip-tools.txt
# build
# pip-tools
pytest==8.4.2
pytest==9.0.1
# via
# -r requirements/quality.txt
# pytest-cov
Expand All @@ -335,7 +335,7 @@ pyyaml==6.0.3
# code-annotations
# edx-django-release-util
# edx-i18n-tools
redis==6.4.0
redis==7.1.0
# via -r requirements/quality.txt
requests==2.32.5
# via
Expand All @@ -362,7 +362,7 @@ sqlparse==0.5.3
# via
# -r requirements/quality.txt
# django
stevedore==5.5.0
stevedore==5.6.0
# via
# -r requirements/quality.txt
# code-annotations
Expand All @@ -376,7 +376,7 @@ tomlkit==0.13.3
# via
# -r requirements/quality.txt
# pylint
tox==4.31.0
tox==4.32.0
# via -r requirements/ci.txt
typing-extensions==4.15.0
# via
Expand All @@ -390,7 +390,7 @@ urllib3==2.5.0
# via
# -r requirements/quality.txt
# requests
virtualenv==20.35.3
virtualenv==20.35.4
# via
# -r requirements/ci.txt
# tox
Expand Down
Loading
Loading