diff --git a/.github/workflows/create-condalock-file.yml b/.github/workflows/create-condalock-file.yml index 52689e8693..bdca82b34f 100644 --- a/.github/workflows/create-condalock-file.yml +++ b/.github/workflows/create-condalock-file.yml @@ -28,21 +28,13 @@ jobs: with: auto-update-conda: true activate-environment: esmvaltool-fromlock - python-version: "3.12" + python-version: "3.13" miniforge-version: "latest" use-mamba: true - name: Show conda config run: | conda update -n base -c conda-forge conda conda --version - # setup-miniconda@v3 installs an old conda and mamba - # forcing a modern mamba updates both mamba and conda - # unpin mamba after conda-lock=3 release - # see github.com/ESMValGroup/ESMValTool/issues/3782 - conda install -c conda-forge "mamba>=1.4.8,<2" - conda config --show-sources - conda config --show - conda --version mamba --version - name: Python info run: | diff --git a/.github/workflows/install-from-conda.yml b/.github/workflows/install-from-conda.yml index 4d30202dd4..562ba8c8e8 100644 --- a/.github/workflows/install-from-conda.yml +++ b/.github/workflows/install-from-conda.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13"] name: Linux Python ${{ matrix.python-version }} steps: - uses: conda-incubator/setup-miniconda@v3 diff --git a/.github/workflows/install-from-condalock-file.yml b/.github/workflows/install-from-condalock-file.yml index 86e04abd74..db3d4193e0 100644 --- a/.github/workflows/install-from-condalock-file.yml +++ b/.github/workflows/install-from-condalock-file.yml @@ -31,7 +31,7 @@ jobs: if: github.repository == 'ESMValGroup/ESMValTool' # avoid GAs in forks strategy: matrix: - python-version: ["3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13"] fail-fast: false name: Linux Python ${{ matrix.python-version }} steps: diff --git a/.github/workflows/install-from-source.yml b/.github/workflows/install-from-source.yml index ff4bbc469c..abc83596de 100644 --- a/.github/workflows/install-from-source.yml +++ b/.github/workflows/install-from-source.yml @@ -20,7 +20,7 @@ jobs: if: github.repository == 'ESMValGroup/ESMValTool' # avoid GAs in forks strategy: matrix: - python-version: ["3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13"] fail-fast: false name: Linux Python ${{ matrix.python-version }} steps: diff --git a/.github/workflows/pypi-build-and-deploy.yml b/.github/workflows/pypi-build-and-deploy.yml index d6df3626e6..7d57e2a87c 100644 --- a/.github/workflows/pypi-build-and-deploy.yml +++ b/.github/workflows/pypi-build-and-deploy.yml @@ -17,10 +17,10 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up Python 3.12 + - name: Set up Python 3.13 uses: actions/setup-python@v1 with: - python-version: "3.12" + python-version: "3.13" - name: Install pep517 run: >- python -m diff --git a/.github/workflows/run-tests-monitor.yml b/.github/workflows/run-tests-monitor.yml index 6581ed1c21..86d734fc64 100644 --- a/.github/workflows/run-tests-monitor.yml +++ b/.github/workflows/run-tests-monitor.yml @@ -24,7 +24,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13"] name: Linux Python ${{ matrix.python-version }} steps: - uses: actions/checkout@v4 @@ -70,7 +70,7 @@ jobs: runs-on: "macos-latest" strategy: matrix: - python-version: ["3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13"] architecture: ["x64"] # need to force Intel, arm64 builds have issues fail-fast: false name: OSX Python ${{ matrix.python-version }} diff --git a/.github/workflows/test-development.yml b/.github/workflows/test-development.yml index 2283a8abdb..a9f58b251a 100644 --- a/.github/workflows/test-development.yml +++ b/.github/workflows/test-development.yml @@ -27,7 +27,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13"] name: Linux Python ${{ matrix.python-version }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d2369a3041..07d35604a2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13"] name: Linux Python ${{ matrix.python-version }} steps: - uses: actions/checkout@v4 @@ -34,7 +34,7 @@ jobs: python-version: ${{ matrix.python-version }} miniforge-version: "latest" use-mamba: true - mamba-version: "2.0.5" # https://github.com/conda-incubator/setup-miniconda/issues/392 + mamba-version: "2.0.8" # https://github.com/conda-incubator/setup-miniconda/issues/392 - run: mkdir -p test_linux_artifacts_python_${{ matrix.python-version }} - name: Record versions run: | @@ -82,7 +82,7 @@ jobs: if: github.repository == 'ESMValGroup/ESMValTool' # avoid GAs in forks strategy: matrix: - python-version: ["3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13"] architecture: ["x64"] # need to force Intel, arm64 builds have issues fail-fast: false name: OSX Python ${{ matrix.python-version }} diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py index de7feb4775..682377468c 100644 --- a/doc/sphinx/source/conf.py +++ b/doc/sphinx/source/conf.py @@ -112,6 +112,12 @@ # The full version, including alpha/beta/rc tags. release = __version__ +# a lot of issues with importing esmvaltool modules due to +# "incorrect" locale settings' this looks like a fix +# see https://github.com/python/cpython/issues/133967 +import locale +locale.setlocale(locale.LC_ALL, 'C') + # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # language = None diff --git a/environment.yml b/environment.yml index 6a8fe6b418..59948524b8 100644 --- a/environment.yml +++ b/environment.yml @@ -49,7 +49,7 @@ dependencies: - prov - pyproj >=2.1 - pys2index # only from conda-forge - - python >=3.11,<3.13 + - python >=3.11,<3.14 - python-cdo - python-dateutil - pyyaml diff --git a/environment_osx.yml b/environment_osx.yml index 44a7b63fcf..10a70bcf89 100644 --- a/environment_osx.yml +++ b/environment_osx.yml @@ -49,7 +49,7 @@ dependencies: - prov - pyproj >=2.1 - pys2index >=0.1.5 # only from conda-forge; https://github.com/ESMValGroup/ESMValTool/pull/3792 - - python >=3.11,<3.13 + - python >=3.11,<3.14 - python-cdo - python-dateutil - pyyaml diff --git a/setup.py b/setup.py index 1d39c2d12e..5e64149752 100755 --- a/setup.py +++ b/setup.py @@ -220,6 +220,7 @@ def read_description(filename): "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Atmospheric Science", "Topic :: Scientific/Engineering :: GIS",