diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 10dd082..a78feea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,34 +12,30 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ["3.8"] - toxenv: - [ - celery44-django32, - celery52-django32, - celery53-django32, - celery53-django42, - ] + python-version: + - "3.8" + - '3.11' + toxenv: [celery53-django42] steps: - - uses: actions/checkout@v2 - - name: setup python - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} + - uses: actions/checkout@v2 + - name: setup python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} - - name: Start MongoDB - uses: supercharge/mongodb-github-action@1.6.0 - with: - mongodb-version: 4.0 + - name: Start MongoDB + uses: supercharge/mongodb-github-action@1.6.0 + with: + mongodb-version: 4.0 - - name: Install pip - run: pip install -r requirements/pip.txt + - name: Install pip + run: pip install -r requirements/pip.txt - - name: Install Dependencies - run: make test.setup install + - name: Install Dependencies + run: make test.setup install - - name: Run Tests - env: - TOXENV: ${{ matrix.toxenv }} - run: tox + - name: Run Tests + env: + TOXENV: ${{ matrix.toxenv }} + run: tox diff --git a/Makefile b/Makefile index fb5651f..aef75d9 100644 --- a/Makefile +++ b/Makefile @@ -71,9 +71,8 @@ upgrade: ## update the requirements/*.txt files with the latest packages satisfy pip-compile --upgrade -o requirements/test.txt requirements/test.in pip-compile --upgrade -o requirements/ci.txt requirements/ci.in pip-compile --upgrade -o requirements/dev.txt requirements/dev.in - pip-compile --upgrade -o requirements/celery44.txt requirements/celery44.in # Let tox control the Django version for tests - grep -e "^amqp==\|^anyjson==\|^billiard==\|^celery==\|^kombu==\|^click-didyoumean==\|^click-repl==\|^click==\|^prompt-toolkit==\|^vine==" requirements/base.txt > requirements/celery52.txt + grep -e "^amqp==\|^anyjson==\|^billiard==\|^celery==\|^kombu==\|^click-didyoumean==\|^click-repl==\|^click==\|^prompt-toolkit==\|^vine==" requirements/base.txt > requirements/celery53.txt sed -i.tmp '/^[d|D]jango==/d' requirements/test.txt sed -i.tmp '/^djangorestframework==/d' requirements/test.txt sed -i.tmp '/^amqp==/d' requirements/test.txt diff --git a/eventtracking/__init__.py b/eventtracking/__init__.py index 6c7589f..14bf5d9 100644 --- a/eventtracking/__init__.py +++ b/eventtracking/__init__.py @@ -1,3 +1,3 @@ """A simple event tracking library""" -__version__ = '2.3.2' +__version__ = '2.4.0' diff --git a/requirements/base.txt b/requirements/base.txt index e9e3704..e92a9a1 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,13 +6,15 @@ # amqp==5.2.0 # via kombu -asgiref==3.7.2 +asgiref==3.8.1 # via django attrs==23.2.0 # via openedx-events -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # celery + # django # kombu billiard==4.2.0 # via celery @@ -30,15 +32,15 @@ click==8.1.7 # click-repl # code-annotations # edx-django-utils -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via celery click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via edx-toggles -django==3.2.24 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in @@ -55,26 +57,26 @@ django-waffle==4.1.0 # via # edx-django-utils # edx-toggles -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via # -r requirements/base.in # edx-toggles # openedx-events edx-opaque-keys[django]==2.5.1 # via openedx-events -edx-toggles==5.1.1 +edx-toggles==5.2.0 # via -r requirements/base.in fastavro==1.9.4 # via openedx-events jinja2==3.1.3 # via code-annotations -kombu==5.3.5 +kombu==5.3.6 # via celery markupsafe==2.1.5 # via jinja2 -newrelic==9.7.0 +newrelic==9.8.0 # via edx-django-utils -openedx-events==9.5.2 +openedx-events==9.6.0 # via -r requirements/base.in pbr==6.0.0 # via stevedore @@ -82,7 +84,7 @@ prompt-toolkit==3.0.43 # via click-repl psutil==5.9.8 # via edx-django-utils -pycparser==2.21 +pycparser==2.22 # via cffi pymongo==3.13.0 # via @@ -90,14 +92,12 @@ pymongo==3.13.0 # edx-opaque-keys pynacl==1.5.0 # via edx-django-utils -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via celery python-slugify==8.0.4 # via code-annotations pytz==2024.1 - # via - # -r requirements/base.in - # django + # via -r requirements/base.in pyyaml==6.0.1 # via code-annotations six==1.16.0 diff --git a/requirements/celery44.in b/requirements/celery44.in deleted file mode 100644 index 033b967..0000000 --- a/requirements/celery44.in +++ /dev/null @@ -1 +0,0 @@ -celery>=4.4,<4.5 diff --git a/requirements/celery44.txt b/requirements/celery44.txt deleted file mode 100644 index 36ebfd0..0000000 --- a/requirements/celery44.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.8 -# by the following command: -# -# make upgrade -# -amqp==2.6.1 - # via kombu -billiard==3.6.4.0 - # via celery -celery==4.4.7 - # via -r requirements/celery44.in -kombu==4.6.11 - # via celery -pytz==2024.1 - # via celery -vine==1.3.0 - # via - # amqp - # celery diff --git a/requirements/celery52.txt b/requirements/celery52.txt deleted file mode 100644 index 71b2985..0000000 --- a/requirements/celery52.txt +++ /dev/null @@ -1,9 +0,0 @@ -amqp==5.2.0 -billiard==4.2.0 -celery==5.3.6 -click==8.1.7 -click-didyoumean==0.3.0 -click-repl==0.3.0 -kombu==5.3.5 -prompt-toolkit==3.0.43 -vine==5.1.0 diff --git a/requirements/celery53.txt b/requirements/celery53.txt index 5de954e..74a9f41 100644 --- a/requirements/celery53.txt +++ b/requirements/celery53.txt @@ -1,9 +1,9 @@ -amqp==5.1.1 -billiard==4.1.0 -celery==5.3.1 -click==8.1.6 -click-didyoumean==0.3.0 +amqp==5.2.0 +billiard==4.2.0 +celery==5.3.6 +click==8.1.7 +click-didyoumean==0.3.1 click-repl==0.3.0 -kombu==5.3.1 -prompt-toolkit==3.0.39 -vine==5.0.0 \ No newline at end of file +kombu==5.3.6 +prompt-toolkit==3.0.43 +vine==5.1.0 diff --git a/requirements/ci.txt b/requirements/ci.txt index 897dd01..2e918e8 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -10,15 +10,15 @@ chardet==5.2.0 # via tox colorama==0.4.6 # via tox -coverage==7.4.3 +coverage==7.4.4 # via -r requirements/ci.in distlib==0.3.8 # via virtualenv -filelock==3.13.1 +filelock==3.13.3 # via # tox # virtualenv -packaging==23.2 +packaging==24.0 # via # pyproject-api # tox @@ -34,7 +34,7 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.13.0 +tox==4.14.2 # via -r requirements/ci.in virtualenv==20.25.1 # via tox diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 88ecde9..db1946b 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -13,3 +13,6 @@ # maintaining the production version. celery<6.0 + +# Temporary to Support the python 3.11 Upgrade +backports.zoneinfo;python_version<"3.9" # Newer versions have zoneinfo available in the standard library diff --git a/requirements/dev.txt b/requirements/dev.txt index 1494911..25b686d 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -10,7 +10,7 @@ amqp==5.2.0 # via # -r requirements/test.txt # kombu -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/test.txt # django @@ -25,16 +25,18 @@ attrs==23.2.0 # openedx-events babel==2.14.0 # via sphinx -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/test.txt # celery + # django # kombu billiard==4.2.0 # via # -r requirements/test.txt # celery -build==1.0.3 +build==1.2.1 # via # -r requirements/pip-tools.txt # pip-tools @@ -71,7 +73,7 @@ click==8.1.7 # edx-django-utils # edx-lint # pip-tools -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/test.txt # celery @@ -87,7 +89,7 @@ click-repl==0.3.0 # via # -r requirements/test.txt # celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/test.txt # edx-lint @@ -96,7 +98,7 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/ci.txt # -r requirements/test.txt @@ -111,7 +113,7 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.24 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt @@ -132,7 +134,7 @@ django-waffle==4.1.0 # edx-toggles docutils==0.20.1 # via sphinx -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via # -r requirements/test.txt # edx-toggles @@ -145,7 +147,7 @@ edx-opaque-keys[django]==2.5.1 # via # -r requirements/test.txt # openedx-events -edx-toggles==5.1.1 +edx-toggles==5.2.0 # via -r requirements/test.txt exceptiongroup==1.2.0 # via @@ -155,7 +157,7 @@ fastavro==1.9.4 # via # -r requirements/test.txt # openedx-events -filelock==3.13.1 +filelock==3.13.3 # via # -r requirements/ci.txt # tox @@ -164,8 +166,9 @@ idna==3.6 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/pip-tools.txt # build # sphinx @@ -182,7 +185,7 @@ jinja2==3.1.3 # -r requirements/test.txt # code-annotations # sphinx -kombu==5.3.5 +kombu==5.3.6 # via # -r requirements/test.txt # celery @@ -196,13 +199,13 @@ mccabe==0.7.0 # pylint mock==5.1.0 # via -r requirements/test.txt -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/test.txt # edx-django-utils -openedx-events==9.5.2 +openedx-events==9.6.0 # via -r requirements/test.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -216,7 +219,7 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pip-tools==7.4.0 +pip-tools==7.4.1 # via # -r requirements/dev.in # -r requirements/pip-tools.txt @@ -245,7 +248,7 @@ pycodestyle==2.11.1 # via # -r requirements/dev.in # -r requirements/test.txt -pycparser==2.21 +pycparser==2.22 # via # -r requirements/test.txt # cffi @@ -288,13 +291,13 @@ pyproject-hooks==1.0.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.0.2 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/test.txt # celery @@ -306,7 +309,6 @@ pytz==2024.1 # via # -r requirements/test.txt # babel - # django pyyaml==6.0.1 # via # -r requirements/test.txt @@ -361,11 +363,11 @@ tomli==2.0.1 # pyproject-hooks # pytest # tox -tomlkit==0.12.3 +tomlkit==0.12.4 # via # -r requirements/test.txt # pylint -tox==4.13.0 +tox==4.14.2 # via # -r requirements/ci.txt # -r requirements/dev.in @@ -398,11 +400,11 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit -wheel==0.42.0 +wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools -zipp==3.17.0 +zipp==3.18.1 # via # -r requirements/pip-tools.txt # importlib-metadata diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 44c48d9..748bf44 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,15 +4,17 @@ # # make upgrade # -build==1.0.3 +build==1.2.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.1 - # via build -packaging==23.2 +importlib-metadata==6.11.0 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # build +packaging==24.0 # via build -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 # via @@ -23,9 +25,9 @@ tomli==2.0.1 # build # pip-tools # pyproject-hooks -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 6665603..cf44902 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.42.0 +wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r requirements/pip.in -setuptools==69.1.1 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/test.txt b/requirements/test.txt index c157381..cc5de15 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -7,7 +7,7 @@ # via # -r requirements/base.txt # kombu -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # django @@ -19,10 +19,12 @@ attrs==23.2.0 # via # -r requirements/base.txt # openedx-events -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery + # django # kombu # via # -r requirements/base.txt @@ -56,12 +58,12 @@ click-plugins==1.1.1 # via # -r requirements/base.txt # celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/base.txt # edx-lint # edx-toggles -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via pytest-cov ddt==1.7.2 # via -r requirements/test.in @@ -85,7 +87,7 @@ django-waffle==4.1.0 # -r requirements/base.txt # edx-django-utils # edx-toggles -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via # -r requirements/base.txt # edx-toggles @@ -96,7 +98,7 @@ edx-opaque-keys[django]==2.5.1 # via # -r requirements/base.txt # openedx-events -edx-toggles==5.1.1 +edx-toggles==5.2.0 # via -r requirements/base.txt exceptiongroup==1.2.0 # via pytest @@ -123,13 +125,13 @@ mccabe==0.7.0 # via pylint mock==5.1.0 # via -r requirements/test.in -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/base.txt # edx-django-utils -openedx-events==9.5.2 +openedx-events==9.6.0 # via -r requirements/base.txt -packaging==23.2 +packaging==24.0 # via pytest pbr==6.0.0 # via @@ -148,7 +150,7 @@ psutil==5.9.8 # edx-django-utils pycodestyle==2.11.1 # via -r requirements/test.in -pycparser==2.21 +pycparser==2.22 # via # -r requirements/base.txt # cffi @@ -174,11 +176,11 @@ pynacl==1.5.0 # via # -r requirements/base.txt # edx-django-utils -pytest==8.0.2 +pytest==8.1.1 # via pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/base.txt # celery @@ -187,9 +189,7 @@ python-slugify==8.0.4 # -r requirements/base.txt # code-annotations pytz==2024.1 - # via - # -r requirements/base.txt - # django + # via -r requirements/base.txt pyyaml==6.0.1 # via # -r requirements/base.txt @@ -218,7 +218,7 @@ tomli==2.0.1 # coverage # pylint # pytest -tomlkit==0.12.3 +tomlkit==0.12.4 # via pylint typing-extensions==4.10.0 # via diff --git a/setup.py b/setup.py index b2e2412..3d3db3a 100644 --- a/setup.py +++ b/setup.py @@ -80,14 +80,14 @@ def get_version(*file_paths): 'Development Status :: 2 - Pre-Alpha', 'Environment :: Web Environment', 'Framework :: Django', - 'Framework :: Django :: 3.2', - 'Framework :: Django :: 4.0', + 'Framework :: Django :: 4.2', 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.11', 'Topic :: Internet :: WWW/HTTP', 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', ], diff --git a/tox.ini b/tox.ini index 12a8482..7135de9 100644 --- a/tox.ini +++ b/tox.ini @@ -1,15 +1,12 @@ [tox] -envlist = py38-celery{53}-django{32,42} +envlist = py{38, 311}-celery{53}-django{42} [testenv] setenv = DJANGO_SETTINGS_MODULE = eventtracking.django.tests.settings PYTHONPATH = {toxinidir} deps = - celery44: -r{toxinidir}/requirements/celery44.txt - celery52: -r{toxinidir}/requirements/celery52.txt celery53: -r{toxinidir}/requirements/celery53.txt - django32: Django>=3.2,<4.0 django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/test.txt commands =