Skip to content

Commit

Permalink
Merge pull request #606 from Ouranosinc/maintenance-update
Browse files Browse the repository at this point in the history
  • Loading branch information
fmigneault authored Apr 26, 2024
2 parents 9bb053a + c59b2c9 commit f19e103
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 84 deletions.
16 changes: 1 addition & 15 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
matrix:
# os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
allow-failure: [false]
test-case: [test-local]
# can use below option to set environment variables or makefile settings applied during test execution
Expand Down Expand Up @@ -77,20 +77,6 @@ jobs:
python-version: none
allow-failure: true
test-case: test-docker
# test allowed failing for legacy versions
- os: ubuntu-20.04
python-version: "3.5"
allow-failure: true
test-case: test-local
- os: ubuntu-20.04
python-version: "3.6"
allow-failure: true
test-case: test-local
# test allowed failing for recent versions
# - os: ubuntu-latest
# python-version: 3.12
# allow-failure: true
# test-case: test-local
steps:
- uses: actions/checkout@v2
with:
Expand Down
14 changes: 14 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@ Changes
`Unreleased <https://github.com/Ouranosinc/Magpie/tree/master>`_ (latest)
------------------------------------------------------------------------------------

Features / Changes
~~~~~~~~~~~~~~~~~~~~~

* | Add support of Python 3.12.
|
| **NOTE**:
| Requires patch of ``authomatic.six.moves`` in ``magpie.__init__.py`` to work around vendor-specific definitions.
Fix inspiration
from `dpkp/kafka-python#2401 <https://github.com/dpkp/kafka-python/issues/2401#issuecomment-1760208950>`_.
Pending official fix (see `authomatic/authomatic#233 <https://github.com/authomatic/authomatic/issues/233>`_).
* Drop support of Python 3.5, 3.6 and 3.7. Minimum version is Python 3.8.
* Pin ``gunicorn>=22`` to address CVE-2024-1135.

Bug Fixes
~~~~~~~~~

Expand Down
10 changes: 10 additions & 0 deletions magpie/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@

import sys

# FIXME: patch workaround for Python 3.12 issue with vendor-specific 'six.moves'
# Inspired from https://github.com/dpkp/kafka-python/issues/2401#issuecomment-1760208950
# Applied here such that anything importing 'magpie' does it first, to avoid patch everywhere importing 'authomatic'.
# Official fix required (see https://github.com/authomatic/authomatic/issues/233).
if sys.version_info >= (3, 12, 0):
import six
sys.modules["authomatic.six.moves"] = six.moves
sys.modules["authomatic.six.moves.urllib"] = six.moves.urllib
sys.modules["authomatic.six.moves.urllib.parse"] = six.moves.urllib.parse


def includeme(config):
# import needs to be here, otherwise ImportError happens during setup.py install (modules not yet installed)
Expand Down
32 changes: 9 additions & 23 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,35 +1,21 @@
-r requirements-sys.txt
-r requirements-doc.txt
autopep8; python_version < "3"
autopep8>=1.5.4; python_version >= "3.6"
backports.tempfile; python_version < "3"
bandit==1.7.1; python_version < "3.7" # pyup: ignore
bandit==1.7.5; python_version == "3.7" # pyup: ignore
bandit==1.7.7; python_version >= "3.8"
autopep8>=1.5.4
bandit==1.7.7
bump2version==1.0.1
codacy-coverage>=1.3.11
coverage==5.5; python_version < "3" # pyup: ignore
coverage>=5.5; python_version >= "3"
doc8; python_version < "3.6"
doc8>=0.8; python_version >= "3.6"
docformatter==1.4; python_version < "3.6" # pyup: ignore
docformatter; python_version >= "3.6"
coverage>=5.5
doc8>=0.8
docformatter
flake8
# Fix for https://github.com/PyCQA/flake8/issues/1701
importlib-metadata>=1.1.0,<4.3; python_version < "3.8"
isort; python_version < "3.6"
isort>5.5,!=5.11.0; python_version >= "3.6"
mock; python_version < "3.6"
mock>4; python_version >= "3.6"
pylint<2.7; python_version < "3.6" # pyup: ignore
isort>5.5,!=5.11.0
mock>4
# ignore 2.12 bad docstring asterisks args handling (https://github.com/PyCQA/pylint/issues/5406)
pylint>=2.11,!=2.12,!=2.15; python_version >= "3.6"
pylint>=2.11,!=2.12,!=2.15
pylint-quotes
# bird-house/twticher, must match version in Dockerfile.adapater
pyramid-twitcher>=0.5.3; python_version < "3.6" # pyup: ignore
pyramid-twitcher>=0.9.0; python_version >= "3.6"
pyramid-twitcher>=0.9.0
pytest
python2-secrets; python_version <= "3.5"
safety
tox>=3.0
webtest
Expand Down
15 changes: 5 additions & 10 deletions requirements-doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,11 @@
# we actually need to install all requirements during docs build because of OpenAPI generation
# (see 'docs/conf.py')
astroid<2.12 # pin to resolve sphinx-autoapi (see https://github.com/readthedocs/sphinx-autoapi/issues/349)
pycodestyle>=2.6.0,<2.9.0; python_version <= "3.5" # pyup: ignore
pycodestyle>=2.6.0,<3; python_version >= "3.6"
pycodestyle>=2.6.0,<3
# sphinx-autoapi dropped 3.5 support at 1.3.0
# latest to fullfil requirements, but that is not the main doc builder version
sphinx-autoapi; python_version < "3.6"
sphinx-autoapi>=1.7.0; python_version >= "3.6"
sphinx-paramlinks>=0.4.1,<0.5; python_version < "3"
sphinx-paramlinks>=0.4.1; python_version >= "3"
sphinx; python_version < "3"
sphinx>=3.1,<8; python_version >= "3"
sphinx-autoapi>=1.7.0
sphinx-paramlinks>=0.4.1
sphinx>=5.3,<8
sphinxcontrib-redoc>=1.6.0
sphinx_autodoc_typehints[type_comments]; python_version < "3.6"
sphinx_autodoc_typehints[type_comments]>=1.11.0; python_version >= "3.6"
sphinx_autodoc_typehints[type_comments]>=1.11.0
3 changes: 1 addition & 2 deletions requirements-sys.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
pip
setuptools<60; python_version <= "3.6" # pyup: ignore
setuptools>=65.5.1; python_version >= "3.7"
setuptools>=65.5.1
47 changes: 16 additions & 31 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,32 +1,26 @@
-r requirements-sys.txt
aenum; python_version < "3.6"
alembic>=1.3.0,<1.5; python_version <= "3.6"
alembic>=1.10; python_version >= "3.7"
alembic>=1.10
# TODO: remove when merged
# until fix merged and deployed (https://github.com/authomatic/authomatic/pull/195)
# old variants:
# -e git+https://github.com/fmigneault/authomatic.git@httplib-port#egg=Authomatic
# https://github.com/fmigneault/authomatic/archive/httplib-port.zip#egg=Authomatic-1.0.1
# new authomatic handles openid install correctly
# leave http port until merged:
# - new authomatic handles openid install correctly
# - https://github.com/authomatic/authomatic/tree/master includes #195 (http-po#rt)
# via https://github.com/authomatic/authomatic/pull/227
# However, this is not the latest tag https://github.com/authomatic/authomatic/tree/1.2.1 (done before #227).
# - Requires https://github.com/authomatic/authomatic/issues/233 for Python 3.12 (temporary patch in magpie.__init__)
authomatic[OpenID] @ https://github.com/fmigneault/authomatic/archive/httplib-port.zip
bcrypt>=3.1.6
# FIXME: integrate when implemnted by official package (see https://github.com/bbangert/beaker/issues/201)
beaker @ https://github.com/crim-ca/beaker/archive/0ac88bcd8cca063a571fc385ffbe9bcc8acaa690.zip
colander
cornice<5; python_version < "3"
cornice; python_version >= "3.6"
cornice<6.1; python_version == "3.5"
cornice
cornice_swagger>=0.7.0
dicttoxml
# futures is required for gunicorn threads
futures; python_version < "3"
# flag --paste breaks for >20, must use pserve instead
gunicorn<20; python_version < "3.5" # pyup: ignore
gunicorn>=20; python_version >= "3"
gunicorn>=22
humanize
jsonschema<4; python_version < "3.6"
jsonschema>=4; python_version >= "3.6"
jsonschema>=4
lxml>=3.7
mako # controlled by pyramid_mako
paste
Expand All @@ -40,29 +34,20 @@ pyramid_mako>=1.0.2
pyramid_retry==2.1.1
pyramid_tm>=2.2.1
python-dotenv
python2-secrets; python_version <= "3.5"
pyyaml>=5.1
requests
requests_file
simplejson
six>=1.12.0
# see also: safety 51668, https://github.com/sqlalchemy/sqlalchemy/pull/8563, still beta + major version change 2.0.0b1
sqlalchemy==1.3.*; python_version <= "3.6" # pyup: ignore
sqlalchemy>=1.4.44,<2; python_version >= "3.7" # pyup: ignore
# see also: safety 51668, https://github.com/sqlalchemy/sqlalchemy/pull/8563
sqlalchemy>=1.4.44,<2 # pyup: ignore
# see also: safety 42194, https://github.com/kvesteri/sqlalchemy-utils/issues/166, not fixed since 2015
sqlalchemy-utils<0.36.4; python_version < "3" # pyup: ignore
sqlalchemy-utils==0.37.9; python_version >= "3" and python_version <= "3.5" # pyup: ignore
sqlalchemy-utils==0.39.0; python_version >= "3.6" # pyup: ignore
threddsclient==0.4.2; python_version < "3" # pyup: ignore
threddsclient>=0.4.2; python_version >= "3"
sqlalchemy-utils==0.39.0 # pyup: ignore
threddsclient>=0.4.2
transaction
typing; python_version < "3"
# typing extension required for TypedDict
typing_extensions; python_version < "3.8"
wheel; python_version <= "3.6"
wheel>=0.38; python_version >= "3.7"
typing_extensions
wheel>=0.38
webob
ziggurat_foundations==0.8.4; python_version <= "3.6" # pyup: ignore
ziggurat_foundations==0.9.1; python_version >= "3.7"
ziggurat_foundations==0.9.1
zope.interface>=4.7.2,<5
zope.sqlalchemy==1.6
4 changes: 1 addition & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,13 +211,11 @@ def _extra_requirements(base_requirements, other_requirements):
"License :: OSI Approved :: Apache Software License",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
],
python_requires=">=3.5, <4",

Expand Down

0 comments on commit f19e103

Please sign in to comment.