diff --git a/CHANGES.rst b/CHANGES.rst index b051f39ff..1fc5709c1 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -12,7 +12,12 @@ Changes Changes: -------- -- No change. +- Add Python 3.12 support (fixes `#587 `_). + + * Depends on ``PasteDeploy==3.1.0`` + (relates to `Pylons/pastedeploy#43 `_). + * Depends on ``pyramid_celery==5.0.0a`` [`crim-ca/pyramid_celery `_ fork] + (relates to `sontek/pyramid_celery#102 `_). Fixes: ------ diff --git a/Makefile b/Makefile index bc055c16e..aafb1b14d 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ else else CONDA_BIN_DIR ?= $(CONDA_HOME)/bin endif - CONDA_BIN := $(CONDA_BIN_DIR)/conda + CONDA_BIN ?= $(CONDA_BIN_DIR)/conda CONDA_ENV_REAL_TARGET_PATH := $(realpath $(CONDA_ENV_PATH)) CONDA_ENV_REAL_ACTIVE_PATH := $(realpath ${CONDA_PREFIX}) diff --git a/Makefile.config.example b/Makefile.config.example index ceeb741d0..cbdfb13e2 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -1,6 +1,7 @@ CONDA_HOME ?= /opt/conda CONDA_ENV ?= weaver CONDA_ENVS_DIR ?= /opt/conda/envs +CONDA_BIN ?= $(CONDA_HOME)/bin/conda HOSTNAME ?= localhost HTTP_PORT ?= 8094 diff --git a/requirements.txt b/requirements.txt index eb8d97150..335520899 100644 --- a/requirements.txt +++ b/requirements.txt @@ -61,6 +61,7 @@ numpy>=1.22.2 # esgf-compute-api (cwt) needs oauthlib but doesn't add it in their requirements oauthlib owslib==0.28.1 +PasteDeploy>=3.1.0; python_version >= "3.12" psutil # FIXME: pymongo>=4 breaks with kombu corresponding to pinned Celery # - https://github.com/crim-ca/weaver/issues/386 @@ -69,7 +70,9 @@ psutil pymongo>=4 # either (pymongo>=4, kombu>=5.3.0b2) or (pymongo<4, celery<5.2) pyramid>=1.7.3 pyramid_beaker>=0.8 -pyramid_celery>=4.0.0 # required for celery>=5 +# see https://github.com/sontek/pyramid_celery/pull/102 to fix Python 3.12 support and other improvements +#pyramid_celery>=4.0.0 # required for celery>=5 +pyramid_celery @ git+https://github.com/crim-ca/pyramid_celery.git@5.0.0a pyramid_mako python-dateutil pyramid_rewrite diff --git a/setup.py b/setup.py index 582f34a65..a4251ea17 100644 --- a/setup.py +++ b/setup.py @@ -82,18 +82,32 @@ def _parse_requirements(file_path, requirements, links): long_description=LONG_DESCRIPTION, long_description_content_type="text/x-rst", classifiers=[ + "Development Status :: 4 - Beta", + "Environment :: Web Environment", + "Framework :: Celery", + "Framework :: Paste", + "Framework :: Pyramid", + "Intended Audience :: Developers", + "Intended Audience :: Information Technology", + "Intended Audience :: Science/Research", + __meta__.__license_classifier__, "Natural Language :: English", + "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", - "Framework :: Pyramid", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3 :: Only", "Topic :: Internet :: WWW/HTTP", + "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", + "Topic :: Scientific/Engineering :: Atmospheric Science", "Topic :: Scientific/Engineering :: GIS", - "Development Status :: 4 - Beta", + "Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator", + "Topic :: System :: Distributed Computing", ], author=__meta__.__author__, author_email=", ".join(__meta__.__emails__), diff --git a/weaver/__meta__.py b/weaver/__meta__.py index 8a942c6ed..97256aca9 100644 --- a/weaver/__meta__.py +++ b/weaver/__meta__.py @@ -7,6 +7,7 @@ __documentation_url__ = "https://pavics-weaver.readthedocs.io/" __license_url__ = "https://raw.githubusercontent.com/crim-ca/weaver/master/LICENSE.txt" __license_type__ = "Apache License 2.0" +__license_classifier__ = "License :: OSI Approved :: Apache Software License" __license_short__ = "2020, CRIM" __license_long__ = f"{__title__} {__license_type__}, Copyright \u24B8 {__license_short__}" __authors__ = [