westpa 2022.10__tar.gz → 2022.12__tar.gz

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 (176) hide show
  1. {westpa-2022.10 → westpa-2022.12}/AUTHORS +8 -8
  2. {westpa-2022.10/src/westpa.egg-info → westpa-2022.12}/PKG-INFO +16 -6
  3. {westpa-2022.10 → westpa-2022.12}/README.rst +2 -2
  4. {westpa-2022.10 → westpa-2022.12}/pyproject.toml +15 -2
  5. westpa-2022.12/setup.cfg +4 -0
  6. {westpa-2022.10 → westpa-2022.12}/setup.py +3 -2
  7. {westpa-2022.10 → westpa-2022.12}/src/westpa/_version.py +3 -3
  8. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/core/w_truncate.py +15 -6
  9. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_assign.py +4 -4
  10. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_fluxanl.py +1 -3
  11. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_ntop.py +2 -2
  12. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_red.py +7 -2
  13. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/_assign.c +1823 -1204
  14. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/assign.py +11 -5
  15. westpa-2022.12/src/westpa/core/binning/mab.py +506 -0
  16. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/data_manager.py +3 -3
  17. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/h5io.py +2 -2
  18. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/kinetics/_kinetics.c +2104 -1480
  19. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/kinetics/_kinetics.pyx +1 -1
  20. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/kinetics/matrates.py +1 -1
  21. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/propagators/executable.py +11 -7
  22. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/reweight/_reweight.c +1857 -1237
  23. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/reweight/_reweight.pyx +1 -1
  24. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/sim_manager.py +9 -4
  25. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/states.py +7 -7
  26. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/we_driver.py +4 -2
  27. {westpa-2022.10 → westpa-2022.12}/src/westpa/fasthist/_fasthist.c +1859 -1178
  28. {westpa-2022.10 → westpa-2022.12}/src/westpa/mclib/__init__.py +10 -3
  29. {westpa-2022.10 → westpa-2022.12}/src/westpa/mclib/_mclib.c +2791 -1914
  30. {westpa-2022.10 → westpa-2022.12}/src/westpa/mclib/_mclib.pyx +7 -1
  31. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/mcbs.py +9 -2
  32. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/plotting.py +4 -4
  33. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/cmds/w_ttimes.py +4 -1
  34. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/stats/edfs.py +1 -1
  35. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/stats/mcbs.py +9 -2
  36. {westpa-2022.10 → westpa-2022.12}/src/westpa/trajtree/_trajtree.c +2343 -1734
  37. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/stringmethod/string_method.py +1 -1
  38. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/weed/ProbAdjustEquil.py +2 -2
  39. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/weed/weed_driver.py +10 -0
  40. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/wess/wess_driver.py +10 -0
  41. {westpa-2022.10 → westpa-2022.12/src/westpa.egg-info}/PKG-INFO +16 -6
  42. {westpa-2022.10 → westpa-2022.12}/src/westpa.egg-info/SOURCES.txt +1 -2
  43. {westpa-2022.10 → westpa-2022.12}/src/westpa.egg-info/requires.txt +6 -1
  44. westpa-2022.12/tests/test_binning.py +700 -0
  45. {westpa-2022.10 → westpa-2022.12}/tests/test_data_manager.py +4 -4
  46. westpa-2022.10/src/westpa/fasthist/__main__.py → westpa-2022.12/tests/test_fasthist.py +36 -35
  47. {westpa-2022.10 → westpa-2022.12}/tests/test_kinetics.py +26 -16
  48. {westpa-2022.10 → westpa-2022.12}/tests/test_sim_manager.py +6 -6
  49. {westpa-2022.10 → westpa-2022.12}/tests/test_we_driver.py +1 -1
  50. westpa-2022.10/setup.cfg +0 -12
  51. westpa-2022.10/src/westpa/core/binning/mab.py +0 -427
  52. westpa-2022.10/tests/test_binning.py +0 -326
  53. {westpa-2022.10 → westpa-2022.12}/LICENSE +0 -0
  54. {westpa-2022.10 → westpa-2022.12}/MANIFEST.in +0 -0
  55. {westpa-2022.10 → westpa-2022.12}/src/westpa/__init__.py +0 -0
  56. {westpa-2022.10 → westpa-2022.12}/src/westpa/analysis/__init__.py +0 -0
  57. {westpa-2022.10 → westpa-2022.12}/src/westpa/analysis/core.py +0 -0
  58. {westpa-2022.10 → westpa-2022.12}/src/westpa/analysis/statistics.py +0 -0
  59. {westpa-2022.10 → westpa-2022.12}/src/westpa/analysis/trajectories.py +0 -0
  60. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/__init__.py +0 -0
  61. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/core/__init__.py +0 -0
  62. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/core/w_fork.py +0 -0
  63. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/core/w_init.py +0 -0
  64. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/core/w_run.py +0 -0
  65. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/core/w_states.py +0 -0
  66. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/core/w_succ.py +0 -0
  67. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/__init__.py +0 -0
  68. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/ploterr.py +0 -0
  69. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/plothist.py +0 -0
  70. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_bins.py +0 -0
  71. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_crawl.py +0 -0
  72. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_direct.py +0 -0
  73. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_dumpsegs.py +0 -0
  74. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_eddist.py +0 -0
  75. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_ipa.py +0 -0
  76. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_kinavg.py +0 -0
  77. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_kinetics.py +0 -0
  78. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_multi_west.py +0 -0
  79. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_pdist.py +0 -0
  80. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_postanalysis_matrix.py +0 -0
  81. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_postanalysis_reweight.py +0 -0
  82. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_reweight.py +0 -0
  83. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_select.py +0 -0
  84. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_stateprobs.py +0 -0
  85. {westpa-2022.10 → westpa-2022.12}/src/westpa/cli/tools/w_trace.py +0 -0
  86. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/__init__.py +0 -0
  87. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/_rc.py +0 -0
  88. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/__init__.py +0 -0
  89. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/_assign.pyx +0 -0
  90. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/binless.py +0 -0
  91. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/binless_driver.py +0 -0
  92. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/binless_manager.py +0 -0
  93. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/bins.py +0 -0
  94. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/mab_driver.py +0 -0
  95. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/binning/mab_manager.py +0 -0
  96. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/extloader.py +0 -0
  97. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/kinetics/__init__.py +0 -0
  98. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/kinetics/events.py +0 -0
  99. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/kinetics/rate_averaging.py +0 -0
  100. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/progress.py +0 -0
  101. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/propagators/__init__.py +0 -0
  102. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/reweight/__init__.py +0 -0
  103. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/reweight/matrix.py +0 -0
  104. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/segment.py +0 -0
  105. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/systems.py +0 -0
  106. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/textio.py +0 -0
  107. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/trajectory.py +0 -0
  108. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/wm_ops.py +0 -0
  109. {westpa-2022.10 → westpa-2022.12}/src/westpa/core/yamlcfg.py +0 -0
  110. {westpa-2022.10 → westpa-2022.12}/src/westpa/fasthist/__init__.py +0 -0
  111. {westpa-2022.10 → westpa-2022.12}/src/westpa/fasthist/_fasthist.pyx +0 -0
  112. {westpa-2022.10 → westpa-2022.12}/src/westpa/mclib/__main__.py +0 -0
  113. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/__init__.py +0 -0
  114. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/__init__.py +0 -0
  115. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/atool.py +0 -0
  116. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/base_mixin.py +0 -0
  117. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/binning.py +0 -0
  118. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/data_reader.py +0 -0
  119. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/iter_range.py +0 -0
  120. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/kinetics.py +0 -0
  121. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/output.py +0 -0
  122. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/trajwalker.py +0 -0
  123. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/aframe/transitions.py +0 -0
  124. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/cmds/__init__.py +0 -0
  125. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/files.py +0 -0
  126. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/miscfn.py +0 -0
  127. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/stats/__init__.py +0 -0
  128. {westpa-2022.10 → westpa-2022.12}/src/westpa/oldtools/stats/accumulator.py +0 -0
  129. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/__init__.py +0 -0
  130. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/binning.py +0 -0
  131. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/core.py +0 -0
  132. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/data_reader.py +0 -0
  133. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/dtypes.py +0 -0
  134. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/iter_range.py +0 -0
  135. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/kinetics_tool.py +0 -0
  136. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/plot.py +0 -0
  137. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/progress.py +0 -0
  138. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/selected_segs.py +0 -0
  139. {westpa-2022.10 → westpa-2022.12}/src/westpa/tools/wipi.py +0 -0
  140. {westpa-2022.10 → westpa-2022.12}/src/westpa/trajtree/__init__.py +0 -0
  141. {westpa-2022.10 → westpa-2022.12}/src/westpa/trajtree/_trajtree.pyx +0 -0
  142. {westpa-2022.10 → westpa-2022.12}/src/westpa/trajtree/trajtree.py +0 -0
  143. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/__init__.py +0 -0
  144. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/adaptvoronoi/__init__.py +0 -0
  145. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/adaptvoronoi/adaptVor_driver.py +0 -0
  146. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/hamsm_restarting/__init__.py +0 -0
  147. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/hamsm_restarting/example_overrides.py +0 -0
  148. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/hamsm_restarting/restart_driver.py +0 -0
  149. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/stringmethod/__init__.py +0 -0
  150. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/stringmethod/fourier_fitting.py +0 -0
  151. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/stringmethod/string_driver.py +0 -0
  152. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/weed/BinCluster.py +0 -0
  153. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/weed/UncertMath.py +0 -0
  154. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/weed/__init__.py +0 -0
  155. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/wess/ProbAdjust.py +0 -0
  156. {westpa-2022.10 → westpa-2022.12}/src/westpa/westext/wess/__init__.py +0 -0
  157. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/__init__.py +0 -0
  158. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/core.py +0 -0
  159. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/environment.py +0 -0
  160. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/mpi.py +0 -0
  161. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/processes.py +0 -0
  162. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/serial.py +0 -0
  163. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/threads.py +0 -0
  164. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/zeromq/__init__.py +0 -0
  165. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/zeromq/core.py +0 -0
  166. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/zeromq/node.py +0 -0
  167. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/zeromq/work_manager.py +0 -0
  168. {westpa-2022.10 → westpa-2022.12}/src/westpa/work_managers/zeromq/worker.py +0 -0
  169. {westpa-2022.10 → westpa-2022.12}/src/westpa.egg-info/dependency_links.txt +0 -0
  170. {westpa-2022.10 → westpa-2022.12}/src/westpa.egg-info/entry_points.txt +0 -0
  171. {westpa-2022.10 → westpa-2022.12}/src/westpa.egg-info/not-zip-safe +0 -0
  172. {westpa-2022.10 → westpa-2022.12}/src/westpa.egg-info/top_level.txt +0 -0
  173. {westpa-2022.10 → westpa-2022.12}/tests/test_executable.py +0 -0
  174. {westpa-2022.10 → westpa-2022.12}/tests/test_states.py +0 -0
  175. {westpa-2022.10 → westpa-2022.12}/tests/test_yamlfe.py +0 -0
  176. {westpa-2022.10 → westpa-2022.12}/versioneer.py +0 -0
@@ -4,18 +4,18 @@ in collaboration with Daniel Zuckerman (zuckermd@ohsu.edu)
4
4
  The original version of WESTPA was written by Matthew Zwier (matthew.zwier@drake.edu)
5
5
  as part of his Ph.D. dissertation with Lillian Chong.
6
6
 
7
- Other contributors are the following (In alphabetical order)
7
+ Other core contributors are the following (in alphabetical order)
8
8
 
9
9
  Joshua Adelman
10
- Alex DeGrave
11
- Page Harrison
12
- Joseph Kaus
13
- Patrick Pisciuneri
14
- A. J. Pratt
15
- Nicholas Rego
10
+ Anthony Bogetti
11
+ Jeremy Leung
12
+ AJ Pratt
13
+ John Russo
16
14
  Ali Saglam
17
- David Wang
15
+ Jeff Thompson
18
16
  Kim Wong
17
+ Darian Yang
18
+ She Zhang
19
19
 
20
20
  The work manager interface is derived from the ``concurrent.futures`` module
21
21
  of Python 3.2 by Brian Quinlan, (C) 2011 the Python Software Foundation.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: westpa
3
- Version: 2022.10
3
+ Version: 2022.12
4
4
  Summary: WESTPA is a package for constructing and running stochastic simulations using the "weighted ensemble" approach of Huber and Kim (1996).
5
5
  Home-page: http://github.com/westpa/westpa
6
6
  License: MIT
@@ -12,10 +12,11 @@ Classifier: Operating System :: POSIX
12
12
  Classifier: Programming Language :: Python
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Classifier: Programming Language :: Cython
15
- Requires-Python: >=3.6
15
+ Requires-Python: >=3.9
16
16
  License-File: LICENSE
17
17
  License-File: AUTHORS
18
- Requires-Dist: numpy<2,>=1.16.0
18
+ Requires-Dist: numpy<3,>=1.25.0; python_version >= "3.10"
19
+ Requires-Dist: numpy<2,>=1.25.0; python_version < "3.10"
19
20
  Requires-Dist: scipy>=0.19.1
20
21
  Requires-Dist: h5py>=2.10
21
22
  Requires-Dist: mdtraj>=1.9.5
@@ -40,6 +41,15 @@ Requires-Dist: pytest-cov; extra == "dev"
40
41
  Requires-Dist: pytest-rerunfailures; extra == "dev"
41
42
  Requires-Dist: pytest-timeout; extra == "dev"
42
43
  Requires-Dist: pre-commit; extra == "dev"
44
+ Dynamic: classifier
45
+ Dynamic: description
46
+ Dynamic: home-page
47
+ Dynamic: keywords
48
+ Dynamic: license
49
+ Dynamic: provides-extra
50
+ Dynamic: requires-dist
51
+ Dynamic: requires-python
52
+ Dynamic: summary
43
53
 
44
54
  ===============
45
55
  WESTPA 2.0
@@ -105,7 +115,7 @@ WESTPA is free software, licensed under the terms of the MIT License. See the fi
105
115
  Requirements
106
116
  ------------
107
117
 
108
- WESTPA is written in Python and requires version 3.7 or later. WESTPA also requires a number of Python scientific software packages.
118
+ WESTPA is written in Python and requires version 3.9 or later. WESTPA also requires a number of Python scientific software packages.
109
119
  The simplest way to meet these requirements is to download the
110
120
  Anaconda Python distribution from www.anaconda.com (free for all users).
111
121
 
@@ -137,7 +147,7 @@ See the install instructions on our `wiki`_ for more detailed information.
137
147
 
138
148
  To install from source (**not recommended**), start by downloading the corresponding tar.gz file from the `releases page`_. After downloading the file, unpack the file and install WESTPA by executing the following::
139
149
 
140
- tar xvzf westpa-2022.09.tar.gz
150
+ tar xvzf westpa-2022.11.tar.gz
141
151
  cd westpa
142
152
  python -m pip install -e .
143
153
 
@@ -62,7 +62,7 @@ WESTPA is free software, licensed under the terms of the MIT License. See the fi
62
62
  Requirements
63
63
  ------------
64
64
 
65
- WESTPA is written in Python and requires version 3.7 or later. WESTPA also requires a number of Python scientific software packages.
65
+ WESTPA is written in Python and requires version 3.9 or later. WESTPA also requires a number of Python scientific software packages.
66
66
  The simplest way to meet these requirements is to download the
67
67
  Anaconda Python distribution from www.anaconda.com (free for all users).
68
68
 
@@ -94,7 +94,7 @@ See the install instructions on our `wiki`_ for more detailed information.
94
94
 
95
95
  To install from source (**not recommended**), start by downloading the corresponding tar.gz file from the `releases page`_. After downloading the file, unpack the file and install WESTPA by executing the following::
96
96
 
97
- tar xvzf westpa-2022.09.tar.gz
97
+ tar xvzf westpa-2022.11.tar.gz
98
98
  cd westpa
99
99
  python -m pip install -e .
100
100
 
@@ -7,8 +7,8 @@ requires = [
7
7
  "wheel",
8
8
  "Cython >=0.29.16; python_version >='3.10'", # Note: sync with setup.py
9
9
  "Cython <3.0.3, >=0.29.16; python_version <'3.10'",
10
- "oldest-supported-numpy; python_version <'3.9'",
11
- "numpy >=1.25.0, <2; python_version >='3.9'",
10
+ "numpy >=2.0.0, <3; python_version >='3.10'", # Force numpy>=2 during build time so it works on both 1.XX and 2.XX
11
+ "numpy < 2.0.0; python_version <'3.10'", # Numpy 2 builds break PyTables on python 3.9
12
12
  "scipy >=0.19.1",
13
13
  "versioneer-518"
14
14
  ]
@@ -45,3 +45,16 @@ exclude = '''
45
45
  )
46
46
  )
47
47
  '''
48
+
49
+ # See the docstring in versioneer.py for instructions. Note that you must
50
+ # re-run 'versioneer.py setup' after changing this section, and commit the
51
+ # resulting files.
52
+
53
+ [tool.versioneer]
54
+ VCS = "git"
55
+ style = "pep440"
56
+ versionfile_source = "src/westpa/_version.py"
57
+ versionfile_build = "westpa/_version.py"
58
+ tag_prefix = "v"
59
+ parentdir_prefix = "westpa-"
60
+
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -109,7 +109,8 @@ CLASSIFIERS = [
109
109
  ]
110
110
 
111
111
  INSTALL_REQUIRES = [
112
- "numpy >= 1.16.0, <2",
112
+ "numpy >= 1.25.0, <3; python_version >='3.10'",
113
+ "numpy >= 1.25.0, <2; python_version <'3.10'", # pytables is broken for numpy2/py3.9
113
114
  "scipy >= 0.19.1",
114
115
  "h5py >= 2.10",
115
116
  "mdtraj >= 1.9.5",
@@ -139,7 +140,7 @@ metadata = dict(
139
140
  version=versioneer.get_version(),
140
141
  keywords='',
141
142
  cmdclass=versioneer.get_cmdclass(),
142
- python_requires=">=3.6",
143
+ python_requires=">=3.9",
143
144
  zip_safe=False,
144
145
  classifiers=CLASSIFIERS,
145
146
  entry_points={'console_scripts': console_scripts},
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-05-30T14:33:52-0400",
11
+ "date": "2025-03-03T16:14:34-0500",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "40fe71e4e393b47e0a231b178add25696e469405",
15
- "version": "2022.10"
14
+ "full-revisionid": "b3afe209fcffc6238c1d2ec700059c7e30f2adca",
15
+ "version": "2022.12"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -1,5 +1,5 @@
1
- import argparse
2
1
  import logging
2
+ from argparse import ArgumentParser
3
3
 
4
4
  import westpa
5
5
 
@@ -14,7 +14,7 @@ traj_segs directory) is deleted or moved for the corresponding iterations.
14
14
 
15
15
 
16
16
  def entry_point():
17
- parser = argparse.ArgumentParser(
17
+ parser = ArgumentParser(
18
18
  'w_truncate',
19
19
  description='''\
20
20
  Remove all iterations after a certain point in a WESTPA simulation.
@@ -30,7 +30,7 @@ def entry_point():
30
30
  metavar='WEST_H5FILE',
31
31
  help='''Take WEST data from WEST_H5FILE (default: read from the HDF5 file specified in west.cfg).''',
32
32
  )
33
- parser.add_argument('-n', '--iter', dest='n_iter', type=int, help='Truncate this iteration and those following.')
33
+ parser.add_argument('-n', '--iter', dest='n_iter', type=int, default=0, help='Truncate this iteration and those following.')
34
34
 
35
35
  args = parser.parse_args()
36
36
  westpa.rc.process_args(args, config_required=False)
@@ -40,7 +40,15 @@ def entry_point():
40
40
 
41
41
  dm.open_backing()
42
42
  # max_iter = dm.current_iteration
43
- n_iter = args.n_iter if args.n_iter > 0 else dm.current_iteration
43
+
44
+ if args.n_iter > dm.current_iteration:
45
+ parser.error(
46
+ 'Provided iteration {} > current iteration {} of the {} HDF5 file. Exiting without doing anything.'.format(
47
+ args.n_iter, dm.current_iteration, dm.we_h5filename.split('/')[-1]
48
+ )
49
+ )
50
+ else:
51
+ n_iter = args.n_iter if args.n_iter > 0 else dm.current_iteration
44
52
 
45
53
  for i in range(n_iter, dm.current_iteration + 1):
46
54
  dm.del_iter_group(i)
@@ -48,8 +56,9 @@ def entry_point():
48
56
  dm.del_iter_summary(n_iter)
49
57
  dm.current_iteration = n_iter - 1
50
58
 
51
- print('simulation data truncated after iteration {}'.format(dm.current_iteration))
52
- print('\n' + warning_string)
59
+ westpa.rc.pstatus('simulation data truncated after iteration {}'.format(dm.current_iteration))
60
+ westpa.rc.pstatus('\n' + warning_string)
61
+ westpa.rc.pflush()
53
62
 
54
63
  dm.flush_backing()
55
64
  dm.close_backing()
@@ -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))
@@ -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