Skip to content

Commit

Permalink
feat: adding python 3.11 and 3.12 support (#227)
Browse files Browse the repository at this point in the history
* feat: adding python 3.11 and 3.12 support.

---------

Co-authored-by: edX requirements bot <[email protected]>
  • Loading branch information
awais786 and edx-requirements-bot authored Apr 1, 2024
1 parent 154e3e4 commit 5273df1
Show file tree
Hide file tree
Showing 18 changed files with 187 additions and 103 deletions.
7 changes: 3 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,9 @@ jobs:
strategy:
matrix:
os: [ubuntu-20.04]
python-version: ['3.8']
toxenv: [
quality, docs, django32-drf314, django42-drf314
]
python-version: ['3.8', '3.11', '3.12']
toxenv: [quality, docs, django42-drf314]


steps:
- uses: actions/checkout@v2
Expand Down
18 changes: 15 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,21 @@ dev_requirements: ## Install Dev Requirements
test_requirements: ## Install Test Requirements
pip install -r requirements/test.txt

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
piptools:
pip install -q -r requirements/pip-tools.txt

define COMMON_CONSTRAINTS_TEMP_COMMENT
# This is a temporary solution to override the real common_constraints.txt\n# In edx-lint, until the pyjwt constraint in edx-lint has been removed.\n# See BOM-2721 for more details.\n# Below is the copied and edited version of common_constraints\n
endef

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 "$(@)"
echo "$(COMMON_CONSTRAINTS_TEMP_COMMENT)" | cat - $(@) > temp && mv temp $(@)

export CUSTOM_COMPILE_COMMAND = make upgrade
upgrade: piptools $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
# Make sure to compile files after any other files they include!
pip-compile --upgrade --allow-unsafe --rebuild -o requirements/pip.txt requirements/pip.in
pip-compile --upgrade --verbose --rebuild -o requirements/pip-tools.txt requirements/pip-tools.in
Expand Down
17 changes: 4 additions & 13 deletions pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
# SERIOUSLY.
#
# ------------------------------
# Generated by edx-lint version: 5.2.5
# Generated by edx-lint version: 5.3.6
# ------------------------------
[MASTER]
ignore =
Expand Down Expand Up @@ -141,7 +141,6 @@ enable =
no-self-argument,
no-value-for-parameter,
non-iterator-returned,
non-parent-method-called,
nonexistent-operator,
not-a-mapping,
not-an-iterable,
Expand All @@ -161,13 +160,10 @@ enable =
return-outside-function,
signature-differs,
super-init-not-called,
super-method-not-called,
syntax-error,
test-inherits-tests,
too-few-format-args,
too-many-format-args,
too-many-function-args,
translation-of-non-string,
truncated-format-string,
undefined-all-variable,
undefined-loop-variable,
Expand Down Expand Up @@ -213,7 +209,6 @@ enable =
consider-using-enumerate,
global-at-module-level,
global-variable-not-assigned,
literal-used-as-attribute,
logging-format-interpolation,
logging-not-lazy,
multiple-imports,
Expand All @@ -224,7 +219,6 @@ enable =
redundant-unittest-assert,
reimported,
simplifiable-if-statement,
simplifiable-range,
singleton-comparison,
superfluous-parens,
unidiomatic-typecheck,
Expand All @@ -233,7 +227,6 @@ enable =
unnecessary-semicolon,
unneeded-not,
useless-else-on-loop,
wrong-assert-type,

deprecated-method,
deprecated-module,
Expand All @@ -259,6 +252,7 @@ enable =
useless-suppression,
disable =
bad-indentation,
broad-exception-raised,
consider-using-f-string,
duplicate-code,
file-ignored,
Expand All @@ -282,9 +276,6 @@ disable =
unused-wildcard-import,
use-maxsplit-arg,

feature-toggle-needs-doc,
illegal-waffle-usage,

logging-fstring-interpolation,

[REPORTS]
Expand Down Expand Up @@ -380,6 +371,6 @@ ext-import-graph =
int-import-graph =

[EXCEPTIONS]
overgeneral-exceptions = Exception
overgeneral-exceptions = builtins.Exception

# 54daa2b24c4b5341a45cdb4727fe15d05ef04c5f
# 5f343c05ade94b1f05eeb1763ca543bf867246f6
9 changes: 2 additions & 7 deletions requirements/base.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,7 @@
-c constraints.txt

Django
django-model-utils>=2.3.1

django-model-utils
jsonfield
pytz


# Don't let edx-platform upgrade DRF past versions that have already been tested here
djangorestframework<3.15.0

djangorestframework
22 changes: 14 additions & 8 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,33 @@
#
# make upgrade
#
asgiref==3.7.2
asgiref==3.8.1
# via django
django==3.2.24
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -c requirements/constraints.txt
# django
# djangorestframework
django==4.2.11
# via
# -c requirements/common_constraints.txt
# -r requirements/base.in
# django-model-utils
# djangorestframework
# jsonfield
django-model-utils==4.4.0
# via -r requirements/base.in
djangorestframework==3.14.0
djangorestframework==3.15.1
# via -r requirements/base.in
jsonfield==3.1.0
# via -r requirements/base.in
pytz==2024.1
# via
# -r requirements/base.in
# django
# djangorestframework
# via -r requirements/base.in
sqlparse==0.4.4
# via django
typing-extensions==4.10.0
# via asgiref

# The following packages are considered to be unsafe in a requirements file:
setuptools==69.2.0
# via -r requirements/base.in
8 changes: 4 additions & 4 deletions requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# make upgrade
#
cachetools==5.3.2
cachetools==5.3.3
# via
# -r requirements/tox.txt
# tox
Expand All @@ -30,14 +30,14 @@ distlib==0.3.8
# virtualenv
docopt==0.6.2
# via coveralls
filelock==3.13.1
filelock==3.13.3
# via
# -r requirements/tox.txt
# tox
# virtualenv
idna==3.6
# via requests
packaging==23.2
packaging==24.0
# via
# -r requirements/tox.txt
# pyproject-api
Expand All @@ -62,7 +62,7 @@ tomli==2.0.1
# -r requirements/tox.txt
# pyproject-api
# tox
tox==4.13.0
tox==4.14.2
# via -r requirements/tox.txt
urllib3==2.2.1
# via requests
Expand Down
37 changes: 37 additions & 0 deletions requirements/common_constraints.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This is a temporary solution to override the real common_constraints.txt
# In edx-lint, until the pyjwt constraint in edx-lint has been removed.
# See BOM-2721 for more details.
# Below is the copied and edited version of common_constraints

# A central location for most common version constraints
# (across edx repos) for pip-installation.
#
# Similar to other constraint files this file doesn't install any packages.
# It specifies version constraints that will be applied if a package is needed.
# When pinning something here, please provide an explanation of why it is a good
# idea to pin this package across all edx repos, Ideally, link to other information
# that will help people in the future to remove the pin when possible.
# Writing an issue against the offending project and linking to it here is good.
#
# Note: Changes to this file will automatically be used by other repos, referencing
# this file from Github directly. It does not require packaging in edx-lint.


# using LTS django version
Django<5.0

# elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process.
# elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html
elasticsearch<7.14.0

# django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected
django-simple-history==3.0.0

# opentelemetry requires version 6.x at the moment:
# https://github.com/open-telemetry/opentelemetry-python/issues/3570
# Normally this could be added as a constraint in edx-django-utils, where we're
# adding the opentelemetry dependency. However, when we compile pip-tools.txt,
# that uses version 7.x, and then there's no undoing that when compiling base.txt.
# So we need to pin it globally, for now.
# Ticket for unpinning: https://github.com/openedx/edx-lint/issues/407
importlib-metadata<7
5 changes: 4 additions & 1 deletion requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,7 @@
# linking to it here is good.

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

backports.zoneinfo;python_version<"3.9"
Loading

0 comments on commit 5273df1

Please sign in to comment.