diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml index 8aa2dd196..c8a47d9ad 100644 --- a/.github/workflows/basic.yml +++ b/.github/workflows/basic.yml @@ -17,15 +17,15 @@ jobs: matrix: os: [ubuntu-latest] mpi-version: [mpich] - python-version: ["py311", "py312", "py313", "py314"] + python-version: ["py312", "py313", "py314"] comms-type: [m, l] include: - os: macos-latest - python-version: "py311" + python-version: "py312" mpi-version: mpich comms-type: m - os: macos-latest - python-version: "py311" + python-version: "py312" mpi-version: mpich comms-type: l @@ -69,7 +69,7 @@ jobs: run: mypy - name: Remove various tests on newer pythons - if: matrix.python-version == 'py311' || matrix.python-version == 'py312' || matrix.python-version == 'py313' || matrix.python-version == 'py314' + if: matrix.python-version == 'py312' || matrix.python-version == 'py313' || matrix.python-version == 'py314' run: | rm ./libensemble/tests/functionality_tests/test_local_sine_tutorial*.py # matplotlib errors on py312 diff --git a/.github/workflows/extra.yml b/.github/workflows/extra.yml index 07d47d812..ea7c309f5 100644 --- a/.github/workflows/extra.yml +++ b/.github/workflows/extra.yml @@ -11,7 +11,7 @@ jobs: matrix: os: [ubuntu-latest] mpi-version: [mpich] - python-version: ["py311e", "py312e", "py313e", "py314e"] + python-version: ["py312e", "py313e", "py314e"] comms-type: [m, l] include: - os: macos-latest diff --git a/docs/advanced_installation/advanced_installation.rst b/docs/advanced_installation/advanced_installation.rst index 1bfc3767e..43d4ee738 100644 --- a/docs/advanced_installation/advanced_installation.rst +++ b/docs/advanced_installation/advanced_installation.rst @@ -8,7 +8,7 @@ libEnsemble can be installed from ``pip``, ``uv``, ``pixi``, ``Conda``, or ``Spa libEnsemble requires the following dependencies, which are typically automatically installed alongside libEnsemble: -* Python_ ``>= 3.11`` +* Python_ ``>= 3.12`` * NumPy_ ``>= 1.21`` * psutil_ ``>= 5.9.4`` * `pydantic`_ ``>= 2`` diff --git a/docs/advanced_installation/advanced_installation_spack.rst b/docs/advanced_installation/advanced_installation_spack.rst index 3e9b1132e..3fe412377 100644 --- a/docs/advanced_installation/advanced_installation_spack.rst +++ b/docs/advanced_installation/advanced_installation_spack.rst @@ -44,7 +44,7 @@ the ``py-petsc4py`` module thus created. **Hint**: When combining Spack and Conda, you can access your Conda Python and packages in your ``~/.spack/packages.yaml`` while your Conda environment is activated, using ``CONDA_PREFIX`` -For example, if you have an activated Conda environment with Python 3.11 and SciPy installed: +For example, if you have an activated Conda environment with Python 3.12 and SciPy installed: .. code-block:: yaml @@ -57,7 +57,7 @@ For example, if you have an activated Conda environment with Python 3.11 and Sci py-numpy: externals: - spec: "py-numpy" - prefix: $CONDA_PREFIX/lib/python3.11/site-packages/numpy + prefix: $CONDA_PREFIX/lib/python3.12/site-packages/numpy buildable: False py-scipy: externals: diff --git a/docs/tutorials/local_sine_tutorial/local_sine_tutorial_1.rst b/docs/tutorials/local_sine_tutorial/local_sine_tutorial_1.rst index f0ebb4832..9523ada0f 100644 --- a/docs/tutorials/local_sine_tutorial/local_sine_tutorial_1.rst +++ b/docs/tutorials/local_sine_tutorial/local_sine_tutorial_1.rst @@ -8,7 +8,7 @@ the correct version is installed. .. code-block:: bash - python --version # This should be >= 3.11 + python --version # This should be >= 3.12 .. _Python: https://www.python.org/ diff --git a/pixi.lock b/pixi.lock index 4ffdd63bc..40a1fa3a9 100644 --- a/pixi.lock +++ b/pixi.lock @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17f90f7745889e8d6d423a8aa93c74ef9787036f95086ce5ec38b983de3d36f4 -size 1245374 +oid sha256:b8a647e974e1b7d17f2f09ecd56390632699e3c7aaff8a24a7af5d9fedda6419 +size 1087796 diff --git a/pyproject.toml b/pyproject.toml index 257bcb15c..b3a433194 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ dependencies = ["numpy", "psutil", "pydantic", "gest-api"] description = "A Python toolkit for coordinating asynchronous and dynamic ensembles of calculations." name = "libensemble" -requires-python = ">=3.11" +requires-python = ">=3.12" license = { file = "LICENSE" } readme = "README.rst" @@ -26,7 +26,6 @@ classifiers = [ "Operating System :: Unix", "Operating System :: MacOS", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", @@ -68,12 +67,10 @@ docs = ["docs", "basic"] dev = ["dev", "basic", "extra", "docs"] # CI environments -py311 = ["py311", "basic"] py312 = ["py312", "basic"] py313 = ["py313", "basic"] py314 = ["py314", "basic"] -py311e = ["py311", "py311e", "basic", "extra"] py312e = ["py312", "py312e", "basic", "extra"] py313e = ["py313", "py313e", "basic", "extra"] py314e = ["py314", "py314e", "basic", "extra"] @@ -158,8 +155,6 @@ octave = ">=9.4.0,<11" pyzmq = ">=26.4.0,<28" # Python versions -[tool.pixi.feature.py311.dependencies] -python = "3.11.*" [tool.pixi.feature.py312.dependencies] python = "3.12.*" [tool.pixi.feature.py313.dependencies] @@ -167,9 +162,6 @@ python = "3.13.*" [tool.pixi.feature.py314.dependencies] python = "3.14.*" -[tool.pixi.feature.py311e.dependencies] -globus-compute-sdk = ">=4.10.2,<5" - [tool.pixi.feature.py312e.dependencies] globus-compute-sdk = ">=4.10.2,<5" @@ -180,7 +172,7 @@ globus-compute-sdk = ">=4.10.2,<5" # Dependencies for libEnsemble [tool.pixi.dependencies] -python = ">=3.11,<3.15" +python = ">=3.12,<3.15" pip = ">=25.2,<26" setuptools = ">=80.8.0,<81" numpy = ">=2.2.6,<3" @@ -211,7 +203,7 @@ docs = ["pyenchant", "enchant>=0.0.1,<0.0.2", "sphinx-lfs-content>=1.1.10,<2"] # Various config from here onward [tool.black] line-length = 120 -target-version = ["py311", "py312", "py313", "py314"] +target-version = ["py312", "py313", "py314"] force-exclude = ''' ( /(