From d4801810fdda1371cc8321db99c71302c7c7e272 Mon Sep 17 00:00:00 2001 From: Ella Wu <602725+ewu63@users.noreply.github.com> Date: Wed, 28 Jan 2026 21:36:26 -0800 Subject: [PATCH 1/5] update docs following the switch to meson-python --- doc/install.rst | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/doc/install.rst b/doc/install.rst index 6c92ca110..4d1acb80a 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -11,7 +11,7 @@ Conda packages are available on conda-forge and can be installed via conda install -c conda-forge pyoptsparse -This would install pyOptSparse with the built-in optimizers. +This would install pyOptSparse with the built-in optimizers, plus IPOPT. If you wish to use optimizers not packaged by ``conda``, e.g. SNOPT, then you must either build the package from source or use the installation script below. If you have the SNOPT precompiled library available, it is possible to dynamically link it to pyOptSparse following the instructions on the :ref:`SNOPT installation page`. @@ -29,7 +29,7 @@ Requirements ~~~~~~~~~~~~ pyOptSparse has the following dependencies: -* Python 3.7 or 3.8, though other Python 3 versions will likely work +* Python 3 * C and Fortran compilers. We recommend ``gcc`` and ``gfortran`` which can be installed via the package manager for your operating system. @@ -38,12 +38,8 @@ Python dependencies are automatically handled by ``pip``, so they do not need to .. note:: * In Linux, the python header files (``python-dev``) are also required. - * **We do not support operating systems other than Linux.** - For macOS users, the conda package may work out of the box if you do not need any non-default optimizers. - Also, the installation script by OpenMDAO likely works on macOS. - For Windows users, a conda package is on the way, if it's not already in the repos. - This comes with the same disclaimer as the macOS conda package. - Alternatively, follow the :ref:`conda build instructions` below as this will work on any platform. + * **We do not support operating systems other than Linux** for building from source. + For those on other operating systems, you can try the :ref:`conda build instructions` instead. Installation ~~~~~~~~~~~~ From 8ac6167bbef88cf8d7763a94d404529ac6d73f90 Mon Sep 17 00:00:00 2001 From: Ella Wu <602725+ewu63@users.noreply.github.com> Date: Wed, 28 Jan 2026 21:37:25 -0800 Subject: [PATCH 2/5] only discuss editable install in contributor page --- doc/install.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/install.rst b/doc/install.rst index 4d1acb80a..60c68a04c 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -57,8 +57,6 @@ For those not using virtual environments, a user install may be needed pip install . --user -If you plan to modify pyOptSparse, installing with the developer option, i.e. with ``-e``, will save you from re-installing each time you modify the Python code. - .. note:: Some optimizers are proprietary, and their sources are not distributed with pyOptSparse. To use them, please follow the instructions on specific optimizer pages. From 22ff712653561709a1446fb516c35460b5a8da50 Mon Sep 17 00:00:00 2001 From: Ella Wu <602725+ewu63@users.noreply.github.com> Date: Wed, 28 Jan 2026 21:40:19 -0800 Subject: [PATCH 3/5] update clean install docs --- doc/install.rst | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/doc/install.rst b/doc/install.rst index 60c68a04c..c06880385 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -116,11 +116,7 @@ The first thing to do is to do a clean install. This involves the following steps: #. Uninstall the package via ``pip`` -#. If you did a developer install (with ``-e``), check if there are ``.so`` files in the subdirectories, e.g. ``pyoptsparse/pySLSQP``. - If so, manually delete all ``.so`` files. -#. Remove the ``meson_build`` directory if present. -#. Run ``pip install`` again and test the installation. - +#. Run ``pip install .`` again and test the installation. If the issue persists, there is probably a linking or runtime issue. This can be verified by manually importing the compiled library that's causing the issue, for example with: @@ -136,7 +132,7 @@ If, on the other hand, this throws a ``error while loading shared libraries``, t Update or Uninstall ------------------- -To update pyOptSparse, first delete the ``meson_build`` directory, then update the package using ``git``. +To update pyOptSparse, first update the package using ``git``. For stability, users are encouraged to stick to tagged releases. Install the package normally via ``pip``. From fb42e32acc1562eae392801128f2ef7edd8ebcf2 Mon Sep 17 00:00:00 2001 From: Ella Wu <602725+ewu63@users.noreply.github.com> Date: Wed, 28 Jan 2026 21:42:45 -0800 Subject: [PATCH 4/5] bump version --- pyoptsparse/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pyoptsparse/__init__.py b/pyoptsparse/__init__.py index 20a2fdd93..9025bc6b1 100644 --- a/pyoptsparse/__init__.py +++ b/pyoptsparse/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2.14.5" +__version__ = "2.15.0" from .pyOpt_history import History from .pyOpt_variable import Variable @@ -41,4 +41,6 @@ "NSGA2", "ALPSO", "ParOpt", + "testing", + "list_optimizers", ] From 78288a91beeba79ec464086d6d98ff6bd692223b Mon Sep 17 00:00:00 2001 From: Ella Wu <602725+ewu63@users.noreply.github.com> Date: Wed, 28 Jan 2026 21:44:02 -0800 Subject: [PATCH 5/5] backport issue found from conda-forge on fortran arg for SNOPT --- pyoptsparse/pySNOPT/meson.build | 1 - 1 file changed, 1 deletion(-) diff --git a/pyoptsparse/pySNOPT/meson.build b/pyoptsparse/pySNOPT/meson.build index e93b266c1..9b903fa11 100644 --- a/pyoptsparse/pySNOPT/meson.build +++ b/pyoptsparse/pySNOPT/meson.build @@ -24,6 +24,5 @@ if HAS_SNOPT dependencies : [fortranobject_dep], subdir: 'pyoptsparse/pySNOPT', install: true, - fortran_args: '-ffixed-line-length-80' ) endif