Skip to content

Commit c2f3e70

Browse files
authored
release 0.25.1 (#788)
* release 0.25.1 * modify ci matrix to reflect modern times * remove old scipy pin * don't have a python 3.13 build working for pymbar3 * update to use quad instead of quadrature, see https://docs.scipy.org/doc/scipy-1.16.1/release/1.15.0-notes.html#expired-deprecations * fix bug with unpacking return values * fix DeprecationWarning * fix DeprecationWarning for pkg_resources * add note to changelog about DeprecationWarning fixes * tests expect a string not a Path * fix DeprecationWarning for warn * add scipy changes to release notes
1 parent 1bd5768 commit c2f3e70

13 files changed

Lines changed: 36 additions & 24 deletions

File tree

.github/workflows/CI.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,18 @@ jobs:
2828
strategy:
2929
fail-fast: false
3030
matrix:
31-
python-version: ["3.10", "3.11", "3.12"]
32-
openmm: ["8.1.2", "8.2.0"]
31+
python-version: ["3.11", "3.12", "3.13"]
32+
openmm: ["8.2.0", "8.3.1"]
3333
os: [macOS-latest, ubuntu-latest]
3434
pymbar-version: ["4"]
3535
include:
3636
# Test newest python, openmm, and pymbar we support on windows
37-
- openmm: "8.2"
38-
python-version: "3.12"
37+
- openmm: "8.3.1"
38+
python-version: "3.13"
3939
os: windows-latest
4040
pymbar-version: "4"
4141
# Have one job test pymbar 3 support
42-
- openmm: "8.2"
42+
- openmm: "8.3.1"
4343
python-version: "3.12"
4444
os: ubuntu-latest
4545
pymbar-version: "3"
@@ -54,9 +54,8 @@ jobs:
5454
ulimit -a
5555
5656
- name: Setup micromamba
57-
uses: mamba-org/setup-micromamba@v1
57+
uses: mamba-org/setup-micromamba@v2
5858
with:
59-
micromamba-version: '2.0.0-0'
6059
environment-file: devtools/conda-envs/test_env.yaml
6160
environment-name: openmmtools-test
6261
create-args: >-
@@ -66,7 +65,6 @@ jobs:
6665
condarc: |
6766
channels:
6867
- conda-forge
69-
- jaimergp/label/unsupported-cudatoolkit-shim
7068
7169
- name: Install package
7270
run: |

devtools/conda-envs/test_env.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ dependencies:
1515
- python
1616
- python
1717
- pyyaml
18-
- scipy < 1.14
18+
- scipy >=1.15.0
1919
- setuptools
2020
- sphinxcontrib-bibtex
2121
# Testing

docs/releasehistory.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
Release History
22
***************
33

4+
0.25.1
5+
======
6+
7+
This release fixes a bug where ``get_entropy()`` and ``get_enthalpy() `` would return an ``AttributeError`` when using ``pymbar4``.
8+
See `#757 <https://github.com/choderalab/openmmtools/issues/757>`_ for more details.
9+
This release fixes deprecation warnings for ``pkg_resources`` and ``warnings.warn``.
10+
Replaced ``scipy.integrate.quadrature`` with ``scipy.integrate.quad`` to enable ``scipy >= 1.15.0`` support.
11+
See `#788 <https://github.com/choderalab/openmmtools/pull/788>`_ for more details.
12+
413
0.25.0
514
======
615

openmmtools/alchemy/alchemy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ def get_alchemical_variable(self, variable_name):
328328
The value of the alchemical variable.
329329
"""
330330
import warnings
331-
warnings.warn('AlchemicalState.get_alchemical_variable is deprecated. '
331+
warnings.warning('AlchemicalState.get_alchemical_variable is deprecated. '
332332
'Use AlchemicalState.get_function_variable instead.')
333333
return super().get_function_variable(variable_name)
334334

@@ -347,7 +347,7 @@ def set_alchemical_variable(self, variable_name, new_value):
347347
348348
"""
349349
import warnings
350-
warnings.warn('AlchemicalState.get_alchemical_variable is deprecated. '
350+
warnings.warning('AlchemicalState.get_alchemical_variable is deprecated. '
351351
'Use AlchemicalState.get_function_variable instead.')
352352
super().set_function_variable(variable_name, new_value)
353353

openmmtools/mcmc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -720,7 +720,7 @@ def apply(self, thermodynamic_state, sampler_state, context_cache=None):
720720
except Exception as e:
721721
# Catches particle positions becoming nan during integration.
722722
# Return the exception message as a warning
723-
warnings.warn(str(e))
723+
warnings.warning(str(e))
724724
restart = True
725725
else:
726726
timer.stop("{}: step({})".format(move_name, self.n_steps))

openmmtools/multistate/multistateanalyzer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1203,7 +1203,7 @@ def __init__(self, *args, unbias_restraint=True, restraint_energy_cutoff='auto',
12031203
restraint_distance_cutoff='auto', n_equilibration_iterations=None, statistical_inefficiency=None, max_subset=100, **kwargs):
12041204

12051205
# Warn that API is experimental
1206-
logger.warn('Warning: The openmmtools.multistate API is experimental and may change in future releases')
1206+
logger.warning('Warning: The openmmtools.multistate API is experimental and may change in future releases')
12071207

12081208
# super() calls clear() that initialize the cached variables.
12091209
super().__init__(*args, **kwargs)

openmmtools/multistate/multistatereporter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def __init__(self, storage, open_mode=None,
129129
):
130130

131131
# Warn that API is experimental
132-
logger.warn('Warning: The openmmtools.multistate API is experimental and may change in future releases')
132+
logger.warning('Warning: The openmmtools.multistate API is experimental and may change in future releases')
133133

134134
# Handle checkpointing
135135
if type(checkpoint_interval) != int:
@@ -1293,7 +1293,7 @@ def read_online_analysis_data(self, iteration, *keys: str):
12931293
base_warn += "\n\t{}per-iteration: {}".format(iteration_str, failure)
12941294
for missing in collected_not_found:
12951295
base_warn += "\n\tMissing: {}".format(missing)
1296-
warnings.warn(base_warn, RuntimeWarning)
1296+
warnings.warning(base_warn, RuntimeWarning)
12971297
return collected_variables
12981298

12991299
def write_online_analysis_data(self, iteration: Union[int, None], **kwargs):

openmmtools/multistate/multistatesampler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ def __init__(self, mcmc_moves=None, number_of_iterations=1,
197197
locality=None):
198198

199199
# Warn that API is experimental
200-
logger.warn('Warning: The openmmtools.multistate API is experimental and may change in future releases')
200+
logger.warning('Warning: The openmmtools.multistate API is experimental and may change in future releases')
201201

202202
# Display cuda device in debug log
203203
self._display_cuda_devices()

openmmtools/multistate/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ def get_equilibration_data(timeseries_to_analyze, fast=True, max_subset=1000):
225225
--------
226226
get_equilibration_data_per_sample
227227
"""
228-
warnings.warn("This function will be removed in future versions of YANK due to redundancy, "
228+
warnings.warning("This function will be removed in future versions of YANK due to redundancy, "
229229
"Please use the more general `get_equilibration_data_per_sample` function instead.")
230230
i_t, g_i, n_effective_i = get_equilibration_data_per_sample(timeseries_to_analyze, fast=fast, max_subset=max_subset)
231231
n_effective_max = n_effective_i.max()

openmmtools/states.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3014,7 +3014,7 @@ def _on_setattr_callback(self, composable_state, attribute_name, old_composable_
30143014
import warnings
30153015
old_signature = '_on_setattr(self, standard_system, attribute_name)'
30163016
new_signature = old_signature[:-1] + ', old_composable_state)'
3017-
warnings.warn('The signature IComposableState.{} has been deprecated, '
3017+
warnings.warning('The signature IComposableState.{} has been deprecated, '
30183018
'and future versions of openmmtools will support only the '
30193019
'new one: {}.'.format(old_signature, new_signature))
30203020
if change_standard_system:

0 commit comments

Comments
 (0)