westpa 2022.11__cp39-cp39-macosx_10_9_x86_64.whl → 2022.12__cp39-cp39-macosx_10_9_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of westpa might be problematic. Click here for more details.

Files changed (37) hide show
  1. westpa/_version.py +3 -3
  2. westpa/cli/tools/w_assign.py +4 -4
  3. westpa/cli/tools/w_fluxanl.py +1 -3
  4. westpa/cli/tools/w_ntop.py +2 -2
  5. westpa/cli/tools/w_red.py +7 -2
  6. westpa/core/binning/_assign.cpython-39-darwin.so +0 -0
  7. westpa/core/binning/assign.py +11 -5
  8. westpa/core/binning/mab.py +352 -273
  9. westpa/core/data_manager.py +3 -3
  10. westpa/core/h5io.py +2 -2
  11. westpa/core/kinetics/_kinetics.cpython-39-darwin.so +0 -0
  12. westpa/core/kinetics/matrates.py +1 -1
  13. westpa/core/propagators/executable.py +10 -6
  14. westpa/core/reweight/_reweight.cpython-39-darwin.so +0 -0
  15. westpa/core/sim_manager.py +9 -4
  16. westpa/core/states.py +7 -7
  17. westpa/core/we_driver.py +4 -2
  18. westpa/fasthist/_fasthist.cpython-39-darwin.so +0 -0
  19. westpa/mclib/__init__.py +10 -3
  20. westpa/mclib/_mclib.cpython-39-darwin.so +0 -0
  21. westpa/oldtools/aframe/mcbs.py +9 -2
  22. westpa/oldtools/cmds/w_ttimes.py +4 -1
  23. westpa/oldtools/stats/edfs.py +1 -1
  24. westpa/oldtools/stats/mcbs.py +9 -2
  25. westpa/trajtree/_trajtree.cpython-39-darwin.so +0 -0
  26. westpa/westext/stringmethod/string_method.py +1 -1
  27. westpa/westext/weed/ProbAdjustEquil.py +2 -2
  28. westpa/westext/weed/weed_driver.py +10 -0
  29. westpa/westext/wess/wess_driver.py +10 -0
  30. {westpa-2022.11.dist-info → westpa-2022.12.dist-info}/AUTHORS +8 -8
  31. {westpa-2022.11.dist-info → westpa-2022.12.dist-info}/METADATA +31 -21
  32. {westpa-2022.11.dist-info → westpa-2022.12.dist-info}/RECORD +36 -37
  33. {westpa-2022.11.dist-info → westpa-2022.12.dist-info}/WHEEL +2 -1
  34. westpa/fasthist/__main__.py +0 -110
  35. {westpa-2022.11.dist-info → westpa-2022.12.dist-info}/LICENSE +0 -0
  36. {westpa-2022.11.dist-info → westpa-2022.12.dist-info}/entry_points.txt +0 -0
  37. {westpa-2022.11.dist-info → westpa-2022.12.dist-info}/top_level.txt +0 -0
westpa/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-07-02T19:19:53-0400",
11
+ "date": "2025-03-03T16:14:34-0500",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "a2d390ea5ff8681246351e21a0bdeaeedc00f366",
15
- "version": "2022.11"
14
+ "full-revisionid": "b3afe209fcffc6238c1d2ec700059c7e30f2adca",
15
+ "version": "2022.12"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -474,17 +474,17 @@ Command-line options
474
474
 
475
475
  # Recursive mappers produce a generator rather than a list of labels
476
476
  # so consume the entire generator into a list
477
- labels = [np.string_(label) for label in self.binning.mapper.labels]
477
+ labels = [np.bytes_(label) for label in self.binning.mapper.labels]
478
478
 
479
479
  self.output_file.create_dataset('bin_labels', data=labels, compression=9)
480
480
 
481
481
  if self.states:
482
482
  nstates = len(self.states)
483
483
  state_map[:] = nstates # state_id == nstates => unknown state
484
- state_labels = [np.string_(state['label']) for state in self.states]
484
+ state_labels = [np.bytes_(state['label']) for state in self.states]
485
485
 
486
486
  for istate, sdict in enumerate(self.states):
487
- assert state_labels[istate] == np.string_(sdict['label']) # sanity check
487
+ assert state_labels[istate] == np.bytes_(sdict['label']) # sanity check
488
488
  state_assignments = assign(sdict['coords'])
489
489
  for assignment in state_assignments:
490
490
  state_map[assignment] = istate
@@ -558,7 +558,7 @@ Command-line options
558
558
  shuffle=True,
559
559
  chunks=h5io.calc_chunksize(pops_shape, weight_dtype),
560
560
  )
561
- h5io.label_axes(pops_ds, [np.string_(i) for i in ['iteration', 'state', 'bin']])
561
+ h5io.label_axes(pops_ds, [np.bytes_(i) for i in ['iteration', 'state', 'bin']])
562
562
 
563
563
  pi.new_operation('Assigning to bins', iter_stop - iter_start)
564
564
  last_labels = None # mapping of seg_id to last macrostate inhabited
@@ -1,7 +1,6 @@
1
1
  import h5py
2
2
  import numpy as np
3
3
  from scipy.signal import fftconvolve
4
- from warnings import warn
5
4
 
6
5
  import westpa
7
6
 
@@ -12,7 +11,7 @@ from westpa.tools import WESTTool, WESTDataReader, IterRangeSelection
12
11
  from westpa.tools.dtypes import iter_block_ci_dtype as ci_dtype
13
12
  import westpa.mclib as mclib
14
13
 
15
- fluxentry_dtype = np.dtype([('n_iter', n_iter_dtype), ('flux', weight_dtype), ('count', np.uint)])
14
+ fluxentry_dtype = np.dtype([('n_iter', n_iter_dtype), ('flux', weight_dtype), ('count', np.int32)])
16
15
 
17
16
  target_index_dtype = np.dtype(
18
17
  [
@@ -370,7 +369,6 @@ the true value of ``tau``.
370
369
 
371
370
 
372
371
  def entry_point():
373
- warn('w_fluxanl is being deprecated. Please use w_assign and w_direct instead.')
374
372
  WFluxanlTool().main()
375
373
 
376
374
 
@@ -190,9 +190,9 @@ Command-line arguments
190
190
  weights = all_weights.take(segs)
191
191
 
192
192
  if what == 'lowweight':
193
- indices = np.argsort(weights)[:count]
193
+ indices = np.argsort(weights, kind='stable')[:count]
194
194
  elif what == 'highweight':
195
- indices = np.argsort(weights)[::-1][:count]
195
+ indices = np.argsort(weights, kind='stable')[::-1][:count]
196
196
  else:
197
197
  assert what == 'random'
198
198
  indices = np.random.permutation(len(weights))
westpa/cli/tools/w_red.py CHANGED
@@ -3,6 +3,11 @@ import numpy as np
3
3
  from westpa import rc
4
4
  from westpa.tools import WESTParallelTool
5
5
 
6
+ try:
7
+ from numpy import trapezoid
8
+ except ImportError:
9
+ from numpy import trapz as trapezoid
10
+
6
11
 
7
12
  class DurationCorrector(object):
8
13
  @staticmethod
@@ -128,9 +133,9 @@ class DurationCorrector(object):
128
133
 
129
134
  for i, tau in enumerate(taugrid):
130
135
  if i > 0 and tau < maxduration:
131
- integral1[i] = np.trapz(f_tilde[: i + 1], taugrid[: i + 1])
136
+ integral1[i] = trapezoid(f_tilde[: i + 1], taugrid[: i + 1])
132
137
 
133
- integral2 = np.trapz(integral1, taugrid)
138
+ integral2 = trapezoid(integral1, taugrid)
134
139
 
135
140
  if integral2 == 0:
136
141
  return 0.0
@@ -132,9 +132,9 @@ class RectilinearBinMapper(BinMapper):
132
132
  def boundaries(self, boundaries):
133
133
  del self._boundaries, self.labels
134
134
  self._boundaries = []
135
- self.labels = labels = []
135
+ self.labels = []
136
136
  for boundset in boundaries:
137
- boundarray = np.asarray(boundset, dtype=coord_dtype, order='C')
137
+ boundarray = np.ascontiguousarray(boundset, dtype=coord_dtype)
138
138
  db = np.diff(boundarray)
139
139
  if (db <= 0).any():
140
140
  raise ValueError('boundary set must be strictly monotonically increasing')
@@ -146,8 +146,14 @@ class RectilinearBinMapper(BinMapper):
146
146
  _boundaries = self._boundaries
147
147
  binspace_shape = tuple(self._boundlens[:] - 1)
148
148
  for index in np.ndindex(binspace_shape):
149
- bounds = [(_boundaries[idim][index[idim]], boundaries[idim][index[idim] + 1]) for idim in range(len(_boundaries))]
150
- labels.append(repr(bounds))
149
+ label = (
150
+ '['
151
+ + ', '.join(
152
+ f'({boundarray[index[idim]]!s}, {boundarray[index[idim] + 1]!s})' for idim, boundarray in enumerate(_boundaries)
153
+ )
154
+ + ']'
155
+ )
156
+ self.labels.append(label)
151
157
 
152
158
  def assign(self, coords, mask=None, output=None):
153
159
  try:
@@ -184,7 +190,7 @@ class PiecewiseBinMapper(BinMapper):
184
190
  self.functions = functions
185
191
  self.nbins = len(functions)
186
192
  self.index_dtype = np.min_scalar_type(self.nbins)
187
- self.labels = [repr(func) for func in functions]
193
+ self.labels = [str(func) for func in functions]
188
194
 
189
195
  def assign(self, coords, mask=None, output=None):
190
196
  if output is None: