westpa 2022.13__cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.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.
Files changed (162) hide show
  1. westpa/__init__.py +14 -0
  2. westpa/_version.py +21 -0
  3. westpa/analysis/__init__.py +5 -0
  4. westpa/analysis/core.py +749 -0
  5. westpa/analysis/statistics.py +27 -0
  6. westpa/analysis/trajectories.py +369 -0
  7. westpa/cli/__init__.py +0 -0
  8. westpa/cli/core/__init__.py +0 -0
  9. westpa/cli/core/w_fork.py +152 -0
  10. westpa/cli/core/w_init.py +230 -0
  11. westpa/cli/core/w_run.py +77 -0
  12. westpa/cli/core/w_states.py +212 -0
  13. westpa/cli/core/w_succ.py +99 -0
  14. westpa/cli/core/w_truncate.py +68 -0
  15. westpa/cli/tools/__init__.py +0 -0
  16. westpa/cli/tools/ploterr.py +506 -0
  17. westpa/cli/tools/plothist.py +706 -0
  18. westpa/cli/tools/w_assign.py +597 -0
  19. westpa/cli/tools/w_bins.py +166 -0
  20. westpa/cli/tools/w_crawl.py +119 -0
  21. westpa/cli/tools/w_direct.py +557 -0
  22. westpa/cli/tools/w_dumpsegs.py +94 -0
  23. westpa/cli/tools/w_eddist.py +506 -0
  24. westpa/cli/tools/w_fluxanl.py +376 -0
  25. westpa/cli/tools/w_ipa.py +832 -0
  26. westpa/cli/tools/w_kinavg.py +127 -0
  27. westpa/cli/tools/w_kinetics.py +96 -0
  28. westpa/cli/tools/w_multi_west.py +414 -0
  29. westpa/cli/tools/w_ntop.py +213 -0
  30. westpa/cli/tools/w_pdist.py +515 -0
  31. westpa/cli/tools/w_postanalysis_matrix.py +82 -0
  32. westpa/cli/tools/w_postanalysis_reweight.py +53 -0
  33. westpa/cli/tools/w_red.py +491 -0
  34. westpa/cli/tools/w_reweight.py +780 -0
  35. westpa/cli/tools/w_select.py +226 -0
  36. westpa/cli/tools/w_stateprobs.py +111 -0
  37. westpa/cli/tools/w_timings.py +113 -0
  38. westpa/cli/tools/w_trace.py +599 -0
  39. westpa/core/__init__.py +0 -0
  40. westpa/core/_rc.py +673 -0
  41. westpa/core/binning/__init__.py +55 -0
  42. westpa/core/binning/_assign.c +36018 -0
  43. westpa/core/binning/_assign.cpython-312-aarch64-linux-gnu.so +0 -0
  44. westpa/core/binning/_assign.pyx +370 -0
  45. westpa/core/binning/assign.py +454 -0
  46. westpa/core/binning/binless.py +96 -0
  47. westpa/core/binning/binless_driver.py +54 -0
  48. westpa/core/binning/binless_manager.py +189 -0
  49. westpa/core/binning/bins.py +47 -0
  50. westpa/core/binning/mab.py +506 -0
  51. westpa/core/binning/mab_driver.py +54 -0
  52. westpa/core/binning/mab_manager.py +197 -0
  53. westpa/core/data_manager.py +1761 -0
  54. westpa/core/extloader.py +74 -0
  55. westpa/core/h5io.py +1079 -0
  56. westpa/core/kinetics/__init__.py +24 -0
  57. westpa/core/kinetics/_kinetics.c +45174 -0
  58. westpa/core/kinetics/_kinetics.cpython-312-aarch64-linux-gnu.so +0 -0
  59. westpa/core/kinetics/_kinetics.pyx +815 -0
  60. westpa/core/kinetics/events.py +147 -0
  61. westpa/core/kinetics/matrates.py +156 -0
  62. westpa/core/kinetics/rate_averaging.py +266 -0
  63. westpa/core/progress.py +218 -0
  64. westpa/core/propagators/__init__.py +54 -0
  65. westpa/core/propagators/executable.py +592 -0
  66. westpa/core/propagators/loaders.py +196 -0
  67. westpa/core/reweight/__init__.py +14 -0
  68. westpa/core/reweight/_reweight.c +36899 -0
  69. westpa/core/reweight/_reweight.cpython-312-aarch64-linux-gnu.so +0 -0
  70. westpa/core/reweight/_reweight.pyx +439 -0
  71. westpa/core/reweight/matrix.py +126 -0
  72. westpa/core/segment.py +119 -0
  73. westpa/core/sim_manager.py +839 -0
  74. westpa/core/states.py +359 -0
  75. westpa/core/systems.py +93 -0
  76. westpa/core/textio.py +74 -0
  77. westpa/core/trajectory.py +603 -0
  78. westpa/core/we_driver.py +910 -0
  79. westpa/core/wm_ops.py +43 -0
  80. westpa/core/yamlcfg.py +298 -0
  81. westpa/fasthist/__init__.py +34 -0
  82. westpa/fasthist/_fasthist.c +38755 -0
  83. westpa/fasthist/_fasthist.cpython-312-aarch64-linux-gnu.so +0 -0
  84. westpa/fasthist/_fasthist.pyx +222 -0
  85. westpa/mclib/__init__.py +271 -0
  86. westpa/mclib/__main__.py +28 -0
  87. westpa/mclib/_mclib.c +34610 -0
  88. westpa/mclib/_mclib.cpython-312-aarch64-linux-gnu.so +0 -0
  89. westpa/mclib/_mclib.pyx +226 -0
  90. westpa/oldtools/__init__.py +4 -0
  91. westpa/oldtools/aframe/__init__.py +35 -0
  92. westpa/oldtools/aframe/atool.py +75 -0
  93. westpa/oldtools/aframe/base_mixin.py +26 -0
  94. westpa/oldtools/aframe/binning.py +178 -0
  95. westpa/oldtools/aframe/data_reader.py +560 -0
  96. westpa/oldtools/aframe/iter_range.py +200 -0
  97. westpa/oldtools/aframe/kinetics.py +117 -0
  98. westpa/oldtools/aframe/mcbs.py +153 -0
  99. westpa/oldtools/aframe/output.py +39 -0
  100. westpa/oldtools/aframe/plotting.py +88 -0
  101. westpa/oldtools/aframe/trajwalker.py +126 -0
  102. westpa/oldtools/aframe/transitions.py +469 -0
  103. westpa/oldtools/cmds/__init__.py +0 -0
  104. westpa/oldtools/cmds/w_ttimes.py +361 -0
  105. westpa/oldtools/files.py +34 -0
  106. westpa/oldtools/miscfn.py +23 -0
  107. westpa/oldtools/stats/__init__.py +4 -0
  108. westpa/oldtools/stats/accumulator.py +35 -0
  109. westpa/oldtools/stats/edfs.py +129 -0
  110. westpa/oldtools/stats/mcbs.py +96 -0
  111. westpa/tools/__init__.py +33 -0
  112. westpa/tools/binning.py +472 -0
  113. westpa/tools/core.py +340 -0
  114. westpa/tools/data_reader.py +159 -0
  115. westpa/tools/dtypes.py +31 -0
  116. westpa/tools/iter_range.py +198 -0
  117. westpa/tools/kinetics_tool.py +343 -0
  118. westpa/tools/plot.py +283 -0
  119. westpa/tools/progress.py +17 -0
  120. westpa/tools/selected_segs.py +154 -0
  121. westpa/tools/wipi.py +751 -0
  122. westpa/trajtree/__init__.py +4 -0
  123. westpa/trajtree/_trajtree.c +17829 -0
  124. westpa/trajtree/_trajtree.cpython-312-aarch64-linux-gnu.so +0 -0
  125. westpa/trajtree/_trajtree.pyx +130 -0
  126. westpa/trajtree/trajtree.py +117 -0
  127. westpa/westext/__init__.py +0 -0
  128. westpa/westext/adaptvoronoi/__init__.py +3 -0
  129. westpa/westext/adaptvoronoi/adaptVor_driver.py +214 -0
  130. westpa/westext/hamsm_restarting/__init__.py +3 -0
  131. westpa/westext/hamsm_restarting/example_overrides.py +35 -0
  132. westpa/westext/hamsm_restarting/restart_driver.py +1165 -0
  133. westpa/westext/stringmethod/__init__.py +11 -0
  134. westpa/westext/stringmethod/fourier_fitting.py +69 -0
  135. westpa/westext/stringmethod/string_driver.py +253 -0
  136. westpa/westext/stringmethod/string_method.py +306 -0
  137. westpa/westext/weed/BinCluster.py +180 -0
  138. westpa/westext/weed/ProbAdjustEquil.py +100 -0
  139. westpa/westext/weed/UncertMath.py +247 -0
  140. westpa/westext/weed/__init__.py +10 -0
  141. westpa/westext/weed/weed_driver.py +192 -0
  142. westpa/westext/wess/ProbAdjust.py +101 -0
  143. westpa/westext/wess/__init__.py +6 -0
  144. westpa/westext/wess/wess_driver.py +217 -0
  145. westpa/work_managers/__init__.py +57 -0
  146. westpa/work_managers/core.py +396 -0
  147. westpa/work_managers/environment.py +134 -0
  148. westpa/work_managers/mpi.py +318 -0
  149. westpa/work_managers/processes.py +201 -0
  150. westpa/work_managers/serial.py +28 -0
  151. westpa/work_managers/threads.py +79 -0
  152. westpa/work_managers/zeromq/__init__.py +20 -0
  153. westpa/work_managers/zeromq/core.py +635 -0
  154. westpa/work_managers/zeromq/node.py +131 -0
  155. westpa/work_managers/zeromq/work_manager.py +526 -0
  156. westpa/work_managers/zeromq/worker.py +320 -0
  157. westpa-2022.13.dist-info/METADATA +179 -0
  158. westpa-2022.13.dist-info/RECORD +162 -0
  159. westpa-2022.13.dist-info/WHEEL +7 -0
  160. westpa-2022.13.dist-info/entry_points.txt +30 -0
  161. westpa-2022.13.dist-info/licenses/LICENSE +21 -0
  162. westpa-2022.13.dist-info/top_level.txt +1 -0
@@ -0,0 +1,320 @@
1
+ '''
2
+ Created on May 29, 2015
3
+
4
+ @author: mzwier
5
+ '''
6
+
7
+ import logging
8
+ import multiprocessing
9
+ import os
10
+ import signal
11
+ import threading
12
+
13
+ from .core import ZMQCore, Message, ZMQWMTimeout, PassiveMultiTimer, Task, Result, TIMEOUT_MASTER_BEACON
14
+
15
+ import zmq
16
+
17
+
18
+ log = logging.getLogger(__name__)
19
+
20
+
21
+ class ZMQWorker(ZMQCore):
22
+ '''This is the outward facing worker component of the ZMQ work manager. This
23
+ forms the interface to the master. This process cannot hang or crash due to an
24
+ error in tasks it executes, so tasks are isolated in ZMQExecutor, which
25
+ communicates with ZMQWorker via (what else?) ZeroMQ.'''
26
+
27
+ def __init__(self, rr_endpoint, ann_endpoint):
28
+ super().__init__()
29
+
30
+ # Upstream endpoints
31
+ self.rr_endpoint = rr_endpoint
32
+ self.ann_endpoint = ann_endpoint
33
+
34
+ # Downstream endpoints
35
+ self.task_endpoint = self.make_internal_endpoint()
36
+ self.result_endpoint = self.make_internal_endpoint()
37
+
38
+ self.master_id = None
39
+ self.identified = False
40
+
41
+ # The task currently being processed
42
+ self.pending_task = None
43
+
44
+ # Executor process
45
+
46
+ self.shutdown_timeout = 5.0 # Five second wait between shutdown message and SIGINT and SIGINT and SIGKILL
47
+ self.executor_process = None
48
+
49
+ @property
50
+ def is_master(self):
51
+ return False
52
+
53
+ def update_master_info(self, msg):
54
+ if self.master_id is None:
55
+ self.master_id = msg.master_id
56
+ self.timers.reset(TIMEOUT_MASTER_BEACON)
57
+
58
+ def identify(self, rr_socket):
59
+ if self.master_id is None or self.identified or self.timers.expired(TIMEOUT_MASTER_BEACON):
60
+ return
61
+ self.send_message(rr_socket, Message.IDENTIFY, payload=self.get_identification())
62
+ self.recv_ack(rr_socket, timeout=self.master_beacon_period * self.timeout_factor * 1000)
63
+ self.identified = True
64
+
65
+ def request_task(self, rr_socket, task_socket):
66
+ if self.master_id is None:
67
+ return
68
+ elif self.pending_task is not None:
69
+ return
70
+ elif self.timers.expired(TIMEOUT_MASTER_BEACON):
71
+ return
72
+ else:
73
+ self.send_message(rr_socket, Message.TASK_REQUEST)
74
+ reply = self.recv_message(rr_socket, timeout=self.master_beacon_period * self.timeout_factor * 1000)
75
+ self.update_master_info(reply)
76
+ if reply.message == Message.NAK:
77
+ # No task available
78
+ return
79
+ else:
80
+ with self.message_validation(reply):
81
+ assert isinstance(reply.payload, Task)
82
+ task = reply.payload
83
+ self.pending_task = task
84
+ self.send_message(task_socket, Message.TASK, task)
85
+
86
+ def handle_reconfigure_timeout(self, msg, timers):
87
+ with self.message_validation(msg):
88
+ assert msg.payload is not None
89
+ timer, new_period = msg.payload
90
+ timers.change_duration(timer, new_period)
91
+ timers.reset(timer)
92
+
93
+ def handle_result(self, result_socket, rr_socket):
94
+ msg = self.recv_message(result_socket)
95
+ with self.message_validation(msg):
96
+ assert msg.message == Message.RESULT
97
+ assert isinstance(msg.payload, Result)
98
+ assert msg.payload.task_id == self.pending_task.task_id
99
+
100
+ msg.src_id = self.node_id
101
+ self.pending_task = None
102
+ self.send_message(rr_socket, msg)
103
+ reply = self.recv_ack(rr_socket, timeout=self.master_beacon_period * self.timeout_factor * 1000)
104
+ self.update_master_info(reply)
105
+
106
+ def comm_loop(self):
107
+ '''Master communication loop for the worker process.'''
108
+
109
+ rr_socket = self.context.socket(zmq.REQ)
110
+
111
+ ann_socket = self.context.socket(zmq.SUB)
112
+ ann_socket.setsockopt(zmq.SUBSCRIBE, b'')
113
+ inproc_socket = self.context.socket(zmq.SUB)
114
+ inproc_socket.setsockopt(zmq.SUBSCRIBE, b'')
115
+
116
+ task_socket = self.context.socket(zmq.PUSH)
117
+ result_socket = self.context.socket(zmq.PULL)
118
+
119
+ self.log.info('This is {}'.format(self.node_description))
120
+
121
+ timers = self.timers = PassiveMultiTimer()
122
+ timers.add_timer(TIMEOUT_MASTER_BEACON, 86400)
123
+ timers.add_timer('worker_beacon', self.worker_beacon_period)
124
+ timers.add_timer('startup_timeout', self.startup_timeout)
125
+ peer_found = False
126
+
127
+ try:
128
+ rr_socket.connect(self.rr_endpoint)
129
+ ann_socket.connect(self.ann_endpoint)
130
+ inproc_socket.bind(self.inproc_endpoint)
131
+ task_socket.connect(self.task_endpoint)
132
+ result_socket.bind(self.result_endpoint)
133
+
134
+ poller = zmq.Poller()
135
+ poller.register(ann_socket, zmq.POLLIN)
136
+ poller.register(inproc_socket, zmq.POLLIN)
137
+ poller.register(result_socket, zmq.POLLIN)
138
+
139
+ timers.reset()
140
+ while True:
141
+ # If a timer is already expired, next_expiration_in() will return 0, which
142
+ # zeromq interprets as infinite wait; so instead we select a 1 ms wait in this
143
+ # case.
144
+ poll_results = dict(poller.poll((timers.next_expiration_in() or 0.001) * 1000))
145
+
146
+ if poll_results and not peer_found:
147
+ timers.remove_timer('startup_timeout')
148
+ peer_found = True
149
+ timers.change_duration(TIMEOUT_MASTER_BEACON, self.master_beacon_period * self.timeout_factor)
150
+ timers.reset(TIMEOUT_MASTER_BEACON)
151
+
152
+ announcements = []
153
+
154
+ # Check for internal messages first
155
+ if inproc_socket in poll_results:
156
+ announcements.extend(self.recv_all(inproc_socket))
157
+
158
+ # Process announcements
159
+ if ann_socket in poll_results:
160
+ announcements.extend(self.recv_all(ann_socket))
161
+
162
+ # announcements = Message.coalesce_announcements(announcements)
163
+ # self.log.debug('received {:d} announcements'.format(len(announcements)))
164
+
165
+ messages_by_tag = {}
166
+ for msg in announcements:
167
+ messages_by_tag.setdefault(msg.message, list()).append(msg)
168
+
169
+ # Check for shutdown messages
170
+ if Message.SHUTDOWN in messages_by_tag:
171
+ self.log.debug('received shutdown message')
172
+ return
173
+ elif Message.TASKS_AVAILABLE in messages_by_tag:
174
+ self.update_master_info(messages_by_tag[Message.TASKS_AVAILABLE][0])
175
+ elif Message.MASTER_BEACON in messages_by_tag:
176
+ self.update_master_info(messages_by_tag[Message.MASTER_BEACON][0])
177
+
178
+ if self.master_id is not None and timers.expired('worker_beacon'):
179
+ self.identify(rr_socket)
180
+ timers.reset('worker_beacon')
181
+
182
+ # Handle results, so that we clear ourselves of completed tasks
183
+ # before asking for more
184
+ if result_socket in poll_results:
185
+ self.handle_result(result_socket, rr_socket)
186
+ # immediately request another task if available
187
+ if not timers.expired(TIMEOUT_MASTER_BEACON):
188
+ self.request_task(rr_socket, task_socket)
189
+
190
+ # Handle any remaining messages
191
+ for tag, msgs in messages_by_tag.items():
192
+ if tag == Message.MASTER_BEACON:
193
+ self.identify(rr_socket)
194
+ elif tag == Message.RECONFIGURE_TIMEOUT:
195
+ for msg in msgs:
196
+ self.handle_reconfigure_timeout(msg, timers)
197
+ elif tag == Message.TASKS_AVAILABLE:
198
+ self.request_task(rr_socket, task_socket)
199
+
200
+ del announcements, messages_by_tag
201
+
202
+ if timers.expired(TIMEOUT_MASTER_BEACON):
203
+ self.log.error('no contact from master; shutting down')
204
+ return
205
+
206
+ if not peer_found and timers.expired('startup_timeout'):
207
+ self.log.error('startup phase elapsed with no contact from master; shutting down')
208
+ break
209
+
210
+ except ZMQWMTimeout:
211
+ # both handle_result() and request_task() have receive timeouts set to
212
+ # self.master_beacon_period*self.timeout_factor, and timeout exceptions
213
+ # propagate to this point.
214
+ self.log.error('timeout communicating with peer; shutting down')
215
+ finally:
216
+ self.shutdown_executor()
217
+ self.executor_process.join()
218
+ self.context.destroy(linger=1)
219
+ self.context = None
220
+ self.remove_ipc_endpoints()
221
+
222
+ def shutdown_executor(self):
223
+ if self.context is not None:
224
+ try:
225
+ self.log.debug('sending shutdown task to executor')
226
+ task_socket = self.context.socket(zmq.PUSH)
227
+ task_socket.connect(self.task_endpoint)
228
+ self.send_message(task_socket, Message.SHUTDOWN)
229
+ task_socket.close(linger=1)
230
+ except Exception:
231
+ pass
232
+
233
+ pid = self.executor_process.pid
234
+ self.executor_process.join(self.shutdown_timeout)
235
+ # is_alive() is prone to a race condition so catch the case that the PID is already dead
236
+ if self.executor_process.is_alive():
237
+ self.log.debug('sending SIGTERM to worker process {:d}'.format(pid))
238
+ self.executor_process.terminate()
239
+ # try:
240
+ # os.kill(self.executor_process.pid, signal.SIGINT)
241
+ # except ProcessLookupError:
242
+ # self.log.debug('worker process {:d} already dead'.format(pid))
243
+ self.executor_process.join(self.shutdown_timeout)
244
+ if self.executor_process.is_alive():
245
+ self.executor_process.kill()
246
+ self.log.warning('sending SIGKILL to worker process {:d}'.format(pid))
247
+ # try:
248
+ # os.kill(self.executor_process.pid, signal.SIGKILL)
249
+ # except ProcessLookupError:
250
+ # self.log.debug('worker process {:d} already dead'.format(pid))
251
+ self.executor_process.join()
252
+ self.log.debug('worker process {:d} terminated'.format(pid))
253
+ else:
254
+ self.log.debug('worker process {:d} terminated gracefully with code {:d}'.format(pid, self.executor_process.exitcode))
255
+
256
+ def install_signal_handlers(self, signals=None):
257
+ if not signals:
258
+ signals = {signal.SIGINT, signal.SIGQUIT, signal.SIGTERM}
259
+
260
+ for sig in signals:
261
+ signal.signal(sig, signal.SIG_IGN)
262
+
263
+ def startup(self, process_index=None):
264
+ self.install_signal_handlers()
265
+ executor = ZMQExecutor(self.task_endpoint, self.result_endpoint)
266
+ self.executor_process = multiprocessing.Process(target=executor.startup, args=(process_index,))
267
+ self.executor_process.start()
268
+ self.context = zmq.Context()
269
+ self.comm_thread = threading.Thread(target=self.comm_loop)
270
+ self.comm_thread.start()
271
+
272
+
273
+ class ZMQExecutor(ZMQCore):
274
+ '''The is the component of the ZMQ WM worker that actually executes tasks.
275
+ This is isolated in a separate process and controlled via ZMQ from
276
+ the ZMQWorker.'''
277
+
278
+ def __init__(self, task_endpoint, result_endpoint):
279
+ super().__init__()
280
+
281
+ self.task_endpoint = task_endpoint
282
+ self.result_endpoint = result_endpoint
283
+
284
+ def comm_loop(self):
285
+ task_socket = self.context.socket(zmq.PULL)
286
+ result_socket = self.context.socket(zmq.PUSH)
287
+
288
+ task_socket.bind(self.task_endpoint)
289
+ result_socket.connect(self.result_endpoint)
290
+
291
+ self.log.info('This is {}'.format(self.node_description))
292
+
293
+ try:
294
+ while True:
295
+ try:
296
+ msg = self.recv_message(task_socket, timeout=100)
297
+ except KeyboardInterrupt:
298
+ break
299
+ except ZMQWMTimeout:
300
+ continue
301
+ else:
302
+ if msg.message == Message.TASK:
303
+ task = msg.payload
304
+ result = task.execute()
305
+ self.send_message(result_socket, Message.RESULT, result)
306
+ elif msg.message == Message.SHUTDOWN:
307
+ break
308
+ finally:
309
+ self.context.destroy(linger=0)
310
+ self.context = None
311
+
312
+ def startup(self, process_index=None):
313
+ if process_index is not None:
314
+ from westpa.work_managers import environment
315
+
316
+ pi_name = '{}_PROCESS_INDEX'.format(environment.WMEnvironment.env_prefix)
317
+ self.log.debug('Setting {}={}'.format(pi_name, process_index))
318
+ os.environ[pi_name] = str(process_index)
319
+ self.context = zmq.Context()
320
+ self.comm_loop()
@@ -0,0 +1,179 @@
1
+ Metadata-Version: 2.4
2
+ Name: westpa
3
+ Version: 2022.13
4
+ Summary: WESTPA is a package for constructing and running stochastic simulations using the "weighted ensemble" approach of Huber and Kim (1996).
5
+ License-Expression: MIT
6
+ Project-URL: Homepage, https://westpa.github.io
7
+ Project-URL: Repository, https://github.com/westpa/westpa
8
+ Project-URL: Documentation, https://github.readthedocs.io
9
+ Project-URL: Issues, https://github.com/westpa/westpa/issues
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: Operating System :: POSIX
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Cython
17
+ Requires-Python: >=3.10
18
+ Description-Content-Type: text/x-rst
19
+ License-File: LICENSE
20
+ Requires-Dist: numpy<3,>=1.25.0
21
+ Requires-Dist: scipy>=0.19.1
22
+ Requires-Dist: h5py>=2.10
23
+ Requires-Dist: mdtraj>=1.9.5
24
+ Requires-Dist: pyyaml
25
+ Requires-Dist: pyzmq
26
+ Requires-Dist: matplotlib
27
+ Requires-Dist: blessings
28
+ Requires-Dist: ipykernel
29
+ Requires-Dist: pandas
30
+ Requires-Dist: tqdm
31
+ Requires-Dist: tables
32
+ Provides-Extra: tests
33
+ Requires-Dist: pytest; extra == "tests"
34
+ Requires-Dist: pytest-cov; extra == "tests"
35
+ Requires-Dist: pytest-rerunfailures; extra == "tests"
36
+ Requires-Dist: pytest-timeout; extra == "tests"
37
+ Provides-Extra: mpi
38
+ Requires-Dist: mpi4py; extra == "mpi"
39
+ Provides-Extra: dev
40
+ Requires-Dist: westpa[tests]; extra == "dev"
41
+ Requires-Dist: pre-commit; extra == "dev"
42
+ Dynamic: license-file
43
+
44
+ ===============
45
+ WESTPA 2.0
46
+ ===============
47
+
48
+ |ghactions| |anaconda| |tutorial|
49
+
50
+ |docs| |usersgroup|
51
+
52
+ .. |ghactions| image:: https://github.com/westpa/westpa/actions/workflows/test.yaml/badge.svg?branch=westpa2
53
+ :target: https://github.com/westpa/westpa/actions/workflows/test.yaml
54
+ :alt: GitHub Actions
55
+
56
+ .. |docs| image:: https://readthedocs.org/projects/westpa/badge/?version=latest
57
+ :target: https://westpa.readthedocs.io/en/latest/?badge=latest
58
+ :alt: Documentation Status
59
+
60
+ .. |tutorial| image:: https://img.shields.io/badge/WESTPA-tutorials-blueviolet.svg
61
+ :target: https://github.com/westpa/tutorials
62
+ :alt: WESTPA Tutorials GitHub
63
+
64
+ .. |usersgroup| image:: https://img.shields.io/badge/Google%20Group-Users-lightgrey.svg
65
+ :target: http://groups.google.com/group/westpa-users
66
+ :alt: Users Google Group
67
+
68
+ .. |anaconda| image:: https://anaconda.org/conda-forge/westpa/badges/version.svg
69
+ :alt: Anaconda
70
+ :target: https://anaconda.org/conda-forge/westpa
71
+
72
+
73
+ --------
74
+ Overview
75
+ --------
76
+
77
+ WESTPA is a package for constructing and running stochastic simulations using the "weighted ensemble" approach
78
+ of Huber and Kim (1996). For use of WESTPA please cite the following:
79
+
80
+ Zwier, M.C., Adelman, J.L., Kaus, J.W., Pratt, A.J., Wong, K.F., Rego, N.B., Suarez, E., Lettieri, S.,
81
+ Wang, D.W., Grabe, M., Zuckerman, D.M., and Chong, L.T. "WESTPA: An Interoperable, Highly
82
+ Scalable Software Package For Weighted Ensemble Simulation and Analysis," J. Chem. Theory Comput., 11: 800−809 (2015).
83
+
84
+ Russo, J. D., Zhang, S., Leung, J.M.G., Bogetti, A.T., Thompson, J.P., DeGrave, A.J., Torrillo, P.A., Pratt, A.J.,
85
+ Wong, K.F., Xia, J., Copperman, J., Adelman, J.L., Zwier, M.C., LeBard, D.N., Zuckerman, D.M., Chong, L.T.
86
+ WESTPA 2.0: High-Performance Upgrades for Weighted Ensemble Simulations and Analysis of Longer-Timescale Applications.
87
+ J. Chem. Theory Comput., 18 (2): 638–649 (2022).
88
+
89
+ See this page_ and this powerpoint_ for an overview of weighted ensemble simulation.
90
+
91
+ To help us fund development and improve WESTPA please fill out a one-minute survey_ and consider
92
+ contributing documentation or code to the WESTPA community.
93
+
94
+ WESTPA is free software, licensed under the terms of the MIT License. See the file ``LICENSE`` for more information.
95
+
96
+ .. _survey: https://docs.google.com/forms/d/e/1FAIpQLSfWaB2aryInU06cXrCyAFmhD_gPibgOfFk-dspLEsXuS9-RGQ/viewform
97
+ .. _page: https://westpa.github.io/westpa/overview.html
98
+ .. _powerpoint: https://docs.google.com/presentation/d/1PKsklN5aYLlLSTDOLdNGti6pcGs4Rgxm/edit?usp=sharing&ouid=117278498028744119802&rtpof=true&sd=true
99
+
100
+ ------------
101
+ Requirements
102
+ ------------
103
+
104
+ WESTPA is written in Python and requires version 3.10 or later. WESTPA also requires a number of Python scientific software packages.
105
+ The simplest way to meet these requirements is to download the
106
+ Anaconda Python distribution from www.anaconda.com (free for all users).
107
+
108
+ WESTPA currently runs on Unix-like operating systems, including Linux and
109
+ Mac OS X. It is developed and tested on x86_64 machines running Linux.
110
+
111
+ --------------------------------
112
+ Obtaining and Installing WESTPA
113
+ --------------------------------
114
+
115
+ WESTPA is developed and tested on Unix-like operating systems, including Linux and Mac OS X.
116
+
117
+
118
+ Regardless of the chosen method of installation, before installing WESTPA, we recommend you to first install the Python 3 version provided by the latest free `Anaconda Python distribution`_. After installing Anaconda, create a new python environment for the WESTPA install with the following::
119
+
120
+ conda create -n westpa python=3.11
121
+ conda activate westpa
122
+
123
+ Then, we recommend installing WESTPA through conda or pip. Execute either of the following::
124
+
125
+ conda install -c conda-forge westpa
126
+
127
+ or::
128
+
129
+ python -m pip install westpa
130
+
131
+ See the install instructions on our `wiki`_ for more detailed information.
132
+
133
+
134
+ 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::
135
+
136
+ tar xvzf westpa-2022.12.tar.gz
137
+ cd westpa
138
+ python -m pip install -e .
139
+
140
+ .. _`releases page`: https://github.com/westpa/westpa/releases
141
+ .. _`Anaconda Python distribution`: https://www.anaconda.com/download
142
+ .. _`wiki`: https://github.com/westpa/westpa/wiki/Installing-WESTPA
143
+
144
+ ---------------
145
+ Getting started
146
+ ---------------
147
+
148
+ High-level tutorials of how to use the WESTPA software can be found here_.
149
+ Further, all WESTPA command-line tools provide detailed help when
150
+ given the -h/--help option.
151
+
152
+ Finally, while WESTPA is a powerful tool that enables expert simulators to access much longer
153
+ timescales than is practical with standard simulations, there can be a steep learning curve to
154
+ figuring out how to effectively run the simulations on your computing resource of choice.
155
+ For serious users who have completed the online tutorials and are ready for production simulations
156
+ of their system, we invite you to contact Lillian Chong (ltchong AT pitt DOT edu) about spending
157
+ a few days with her lab and/or setting up video conferencing sessions to help you get your
158
+ simulations off the ground.
159
+
160
+ .. _here: https://github.com/westpa/westpa/wiki/Tutorials
161
+
162
+ ------------
163
+ Getting help
164
+ ------------
165
+
166
+ WESTPA FAQ_
167
+
168
+ A mailing list for WESTPA is available, at which one can ask questions (or see
169
+ if a question one has was previously addressed). This is the preferred means
170
+ for obtaining help and support. See http://groups.google.com/group/westpa-users
171
+ to sign up or search archived messages.
172
+
173
+ .. _FAQ: https://github.com/westpa/westpa/wiki/Frequently-Asked-Questions
174
+
175
+ ----------
176
+ Developers
177
+ ----------
178
+
179
+ Search archived messages or post to the westpa-devel Google group: https://groups.google.com/group/westpa-devel.
@@ -0,0 +1,162 @@
1
+ westpa/__init__.py,sha256=xyNfYIcP2ncBLu_foO1NKmJrQh8-uYdwvMuM0HsOG1M,329
2
+ westpa/_version.py,sha256=HzXELH4G2hwAc_BIg7Hw3TFPzpS3Heelj4osiHQeXZU,499
3
+ westpa/analysis/__init__.py,sha256=CcmVPCB9OSEib0mJ4U-s9v3nrj4h-T_9AGApAbPnn8I,268
4
+ westpa/analysis/core.py,sha256=WhsyNjCI0sB54K5LXWKiuiXEXzh8XmpeIgteRzT9aWo,22599
5
+ westpa/analysis/statistics.py,sha256=M3Gj1bOiAu_SA4upR7gENYEOP2gnIEaSOZeGyoIxAc8,789
6
+ westpa/analysis/trajectories.py,sha256=n43ZCqSVLOp_jN518cfTfvTqX5Wzz4kdW0oNIS5oUjA,13196
7
+ westpa/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ westpa/cli/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ westpa/cli/core/w_fork.py,sha256=UZVY6nUdMRRbKPfNFGAfEAu7tVhu7NewopPdQ0s8cz8,5693
10
+ westpa/cli/core/w_init.py,sha256=V_CvlAuq8flg-zUO01sbMGYkLqrEDD4DU9sV90bYFus,8793
11
+ westpa/cli/core/w_run.py,sha256=9fLOJjCYQadB28gdsKwGxwjJtSB5u0DRITzAWmL3rJg,2159
12
+ westpa/cli/core/w_states.py,sha256=Fkr0WdUut59vPtj0_TZWAmY5_qf5H_WsoiusO7Slz50,9433
13
+ westpa/cli/core/w_succ.py,sha256=ZK1MHHu7t53VdBrRgJUe7b1R8DnhMKPjHOqbbOjC_As,3074
14
+ westpa/cli/core/w_truncate.py,sha256=QdIwMespZD69t3tDkqC1bZRo4CICs18ShlVXYSeFPd8,2030
15
+ westpa/cli/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ westpa/cli/tools/ploterr.py,sha256=Fm4Yoexm2c1H5_H8t2GMsXncHcJAltWpp0c5XMnDpW0,18906
17
+ westpa/cli/tools/plothist.py,sha256=2jpAk_-T2XoWUExUyUNk0JOucPjQX51JxtntXRlQ54I,28051
18
+ westpa/cli/tools/w_assign.py,sha256=ISCbozLoIJtZXxMrmXDbh_EplPPW7ltpK_Jp1fvUFH8,25957
19
+ westpa/cli/tools/w_bins.py,sha256=e9YMvQoQ5jjzBK8zlZgXNDCDhFGMMKgb2b-UdyI_qgQ,6801
20
+ westpa/cli/tools/w_crawl.py,sha256=qbQ5jp0EDFIY6DQovM_t8KRW8we257KV8eXjBBNXFCA,4109
21
+ westpa/cli/tools/w_direct.py,sha256=S2qICD66sW03KacMY7byQnSccyBBxZLwgocrymghO38,22720
22
+ westpa/cli/tools/w_dumpsegs.py,sha256=uv0WxvKGauyW6VT3zGyALUXVqSXwDrhwbF3ZVSJV9Mo,3952
23
+ westpa/cli/tools/w_eddist.py,sha256=pAZVIOSgMiJxo7f6AXES_UhAwMaeK4S5Tl58O21hB-w,20056
24
+ westpa/cli/tools/w_fluxanl.py,sha256=jQ3X2yoBlr0QyVPZjMefTm1jLnhaCGrrIMqdvYlQhRg,15453
25
+ westpa/cli/tools/w_ipa.py,sha256=qpQIKk1nBzWjouT4hKgBuIT9AnO0rKZ0AwCzp_40vJo,37457
26
+ westpa/cli/tools/w_kinavg.py,sha256=MjmomiIWoBnjfm8Pq-93y6DoCq26DbCxdJ5bcP-25Ys,4324
27
+ westpa/cli/tools/w_kinetics.py,sha256=ALx8t9GGARfdMxgkPEqQzWoRVQkqJneM4EZF2ur_oPk,3542
28
+ westpa/cli/tools/w_multi_west.py,sha256=Vye1OTiyFHaUkPKMxyOediE1_6hq-EMp7SeoaVO7rwk,20049
29
+ westpa/cli/tools/w_ntop.py,sha256=9Mmz0ZeIyP55N6stuO3FSpFg3Whp4Cu4pmkDEoBGmIk,8234
30
+ westpa/cli/tools/w_pdist.py,sha256=I7yGHMvmU--jjuZNMSxtTSR_vLVhYvhJpjluzcjPGaQ,20821
31
+ westpa/cli/tools/w_postanalysis_matrix.py,sha256=owHtPNcD2RF33C-3oq4LhNWG6M-_nWCGenrNtV574Dc,3227
32
+ westpa/cli/tools/w_postanalysis_reweight.py,sha256=lFjSuBWZ-25AKwA6_ee168BfINjbnVmxPDxYKJHFUkw,1808
33
+ westpa/cli/tools/w_red.py,sha256=zDLdQ--DYPu4t1w8YXEfNWMt3grKLg2ezwEwfgnbluA,15421
34
+ westpa/cli/tools/w_reweight.py,sha256=n3O7ULAHwPRYME_eIDtsJmI5atSDC1CquR_jsIAQhac,33412
35
+ westpa/cli/tools/w_select.py,sha256=cNtuIgv8-P7bPyHDJmbrVwSasMFth5ULVTpz2QjVdfU,9717
36
+ westpa/cli/tools/w_stateprobs.py,sha256=fOaHZe7RYCNsIJmbXQqkdU6_cxqKcQLrKh2sxdaYvIQ,3872
37
+ westpa/cli/tools/w_timings.py,sha256=efzcWS_Hl1h0eaLGNOrW0GWwEl3ixfYUpoSKvqb9NBk,3530
38
+ westpa/cli/tools/w_trace.py,sha256=CTZ9xoHCcKOkxy_UX21mCDNJ6wQSEksobKG20anOAE4,23166
39
+ westpa/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ westpa/core/_rc.py,sha256=oXdBGsVF6F594PZ9hWjAylyNp8dhSq3GSgptUD4rgBs,25508
41
+ westpa/core/data_manager.py,sha256=AUlagEphGk8sFxOeS4-B3Fk9k55Wn98H8X64xG9zU9o,74990
42
+ westpa/core/extloader.py,sha256=yxyJN-lHo3Zjd6jS6_uhC1fIl52H-h8sbV9zYJfEWGg,2239
43
+ westpa/core/h5io.py,sha256=lbdfCVY3Z0n1pZS9bDhrbvHR6JS6z4c30rlaa3IbHrs,41375
44
+ westpa/core/progress.py,sha256=tEDDn-JPY6ZNzYqyrdgA7peo7pDu8kOMvqfyiHWUgps,6753
45
+ westpa/core/segment.py,sha256=Gd_5htIZ6xKxxCms9XMtJncehGvMVxZeNdy4drxrnpc,4421
46
+ westpa/core/sim_manager.py,sha256=w5u5UB7eOIBTJ89_3PibVwhuzkI5tf4CT_eqzkv5Tzg,39160
47
+ westpa/core/states.py,sha256=eVEqpQTMyoKmNwz3DFD2S0wM_4vVayl35wbKK3JUJ0Q,13327
48
+ westpa/core/systems.py,sha256=pb9YNFUcDhx3Fvhb0NcjlPCdhSUk41IhI0Sqdtr91q8,3693
49
+ westpa/core/textio.py,sha256=lqohyyyfMTkFvTdQ8V45yUpASiJsWTh42XAG15K63dA,2434
50
+ westpa/core/trajectory.py,sha256=f1DZKcQ3Y1yts4owaG3U8VYbQ0ihSeTb2H1uwG1HdrY,20022
51
+ westpa/core/we_driver.py,sha256=cEEbMwnadeK16CGbOnFiJoFzs7F9SSdf7-0BLCT4F1c,40751
52
+ westpa/core/wm_ops.py,sha256=o_pc0BHpfCkbveTO5h76hxjXJpQgw1S-zIzVmM_u-Qc,1529
53
+ westpa/core/yamlcfg.py,sha256=FVPxZaJ9Hz8TpmcbDVee_tunygnUdMpMlUj78qrWftE,8974
54
+ westpa/core/binning/__init__.py,sha256=XmjBP6fg_id_vDELkcWW3u2GeuL5OPWblvX-kc7mINk,1297
55
+ westpa/core/binning/_assign.c,sha256=VSzMZuZBSaxTVoQyUNP2tNRizAhe0efllDKrJljH7hM,1452150
56
+ westpa/core/binning/_assign.cpython-312-aarch64-linux-gnu.so,sha256=LgJTc9p-X4ZnOBHNx_G7prOq8taLR8VVnBUu04GvzNc,2279680
57
+ westpa/core/binning/_assign.pyx,sha256=PB6l6zMu2M0t6CPwsdumfqRyr_6XWH2F5orx5bXl-fE,14616
58
+ westpa/core/binning/assign.py,sha256=BK36b890emddIqlJgj6NY3rOT0cq7IeFiwiSc5v0dQw,18110
59
+ westpa/core/binning/binless.py,sha256=Fb9TI5swQntzXjmlWFbYQ9yjzjLxDKNVVdmRxRqOnIY,4056
60
+ westpa/core/binning/binless_driver.py,sha256=T5qWpLnjxCS9RdKeWf7eVCC_s6TQFDENL7X3VG6JIYo,2231
61
+ westpa/core/binning/binless_manager.py,sha256=n-2JXiPnoZf33mv54NN7uYdgPucP1y6e-CmeSoU-i4w,9414
62
+ westpa/core/binning/bins.py,sha256=WDj7DNX3MTVkRvkgAooa9G8VThxw32uIfMTuk9sS194,1460
63
+ westpa/core/binning/mab.py,sha256=lH8bBxmIzhje1mK18PrN3yUcb_Ghqud63IKv9D7wP08,20296
64
+ westpa/core/binning/mab_driver.py,sha256=azSqc9pqHk_zc1ptGNjXARDbK-UAnPVmCiYwebi5mPY,2223
65
+ westpa/core/binning/mab_manager.py,sha256=07Kx1oSWVS-fN9GBOKEYokkMNXUu7jr1UaJOHPL9G5U,9815
66
+ westpa/core/kinetics/__init__.py,sha256=djtiki7X5-IEzwjwswbdgrolwUIzVAHKxCiI5B3WH28,510
67
+ westpa/core/kinetics/_kinetics.c,sha256=4o0OcEeQ1EfYH_sxlaqoItXrpy7VTdv7gnzYKqNr-lY,1911949
68
+ westpa/core/kinetics/_kinetics.cpython-312-aarch64-linux-gnu.so,sha256=6t3SWj545tVg2iENRfU6Yy6uGxVA4RrxDGSvbnZRl3Q,3185976
69
+ westpa/core/kinetics/_kinetics.pyx,sha256=eTolsM069Fn1ijiRG8ChdwkxZpbqQjpo15R7jqV2unM,29532
70
+ westpa/core/kinetics/events.py,sha256=VqYBN5rVOf3hAYUA6xQ6UN7GP6tVgRFIoP69tfGhkTo,6511
71
+ westpa/core/kinetics/matrates.py,sha256=3kpmV8GJ0mv-8Iy_IdUCfo-gWOGtMzUWHmkibYRgyzs,5569
72
+ westpa/core/kinetics/rate_averaging.py,sha256=gIKDXBAOSDI6KythepoC4QipUPksTRBc9zbM7DRtwo4,10300
73
+ westpa/core/propagators/__init__.py,sha256=rx_kkeg3Tbb_rI0uhLGCD3OwSYj9QuhxF8QGN3mILrg,2373
74
+ westpa/core/propagators/executable.py,sha256=jInxV1QQHtB-d0l6U-S-W40Up6W_l-YoT_BO_zE5_yE,27627
75
+ westpa/core/propagators/loaders.py,sha256=TColR8wh6EEuFmh7ocqnBejFjcAnyzdepKhxOoeAcLs,8300
76
+ westpa/core/reweight/__init__.py,sha256=8goYojsHMcJCZblBC2sc2fcj-NUNVEstbSLswKNlVfg,284
77
+ westpa/core/reweight/_reweight.c,sha256=yc2O1XADfZfeCYCeFYJcQ43jNU56TxsK8BJlC1_Ot98,1490896
78
+ westpa/core/reweight/_reweight.cpython-312-aarch64-linux-gnu.so,sha256=l8QPOoHnmnUgyAGubNoB66CeukbwBudQNiVXCL5ZqHA,2434288
79
+ westpa/core/reweight/_reweight.pyx,sha256=-1yuuRGaKJWhfYXAX2QzeKUCEO-9JrXYuNsDFSDksYQ,14521
80
+ westpa/core/reweight/matrix.py,sha256=219sRxkML1V9niPIndSoRvJAC0fUmpG0PLDKpmfWW-g,5509
81
+ westpa/fasthist/__init__.py,sha256=oWj0gKEkKfHjGHwkzmpgAxDz55h2ze_sqQVzWSsOP6s,1071
82
+ westpa/fasthist/_fasthist.c,sha256=WpiPb9UqHaJrv6bonaamu1-Dz2Gpch2iTzIzp-GtYW4,1521431
83
+ westpa/fasthist/_fasthist.cpython-312-aarch64-linux-gnu.so,sha256=7ybpg63kqlmU29eQiM49eO22x8jmmee9Q6rKu8wAIaw,2312904
84
+ westpa/fasthist/_fasthist.pyx,sha256=3JJwTA-ZcT25KzwmQIuItFBRi4z3-h7zcDqkHep8Owk,10093
85
+ westpa/mclib/__init__.py,sha256=idY4CVkcsjx0iIJZ9AcNQdSq3PZcSOFZrqBaOqvYlpU,11653
86
+ westpa/mclib/__main__.py,sha256=cKqfE9koMcrHkslEPpFISA4Eblwl0mllaxn7pFeyX1A,881
87
+ westpa/mclib/_mclib.c,sha256=3nnjZGksYOGvaX70Nm3I2DRtevFde-uycPIs8jmn0vM,1333524
88
+ westpa/mclib/_mclib.cpython-312-aarch64-linux-gnu.so,sha256=aIo77PJ8sAE1u4tgSn-i-UfVZDBkU1rktgU-HwmrmyQ,2213264
89
+ westpa/mclib/_mclib.pyx,sha256=Wx3txJyqlfJg2vTfHSapGp8q54chJuM9XhaWAIuCTXY,7931
90
+ westpa/oldtools/__init__.py,sha256=rxAxsQNQMADy5j8xrqW_7Vk3D9ajM7lfDjHaKQHRDTI,62
91
+ westpa/oldtools/files.py,sha256=JmLtZqxD88cybEHcOU6kodAeOJYxylpYFl4OQqU13Hs,944
92
+ westpa/oldtools/miscfn.py,sha256=595W28JazmiU9ioDgOKU9ZxtXJue_q-8WcpOKTgkikQ,909
93
+ westpa/oldtools/aframe/__init__.py,sha256=1MMuHYaL790Y1bh7NU3gweTYRIr2xgR1U9bmNrJVrSM,1047
94
+ westpa/oldtools/aframe/atool.py,sha256=5_ZkivLChU1wMaEvI-F7i-huMRYg2Dy8AH36eivWI0Y,2185
95
+ westpa/oldtools/aframe/base_mixin.py,sha256=OAK5NfVfwdPxvFzhxxT_oEnFKR_5s0NRoqTVA6G1gXY,654
96
+ westpa/oldtools/aframe/binning.py,sha256=L259HcIn-1Qz1AKUWBXjZ3HFE0odry7OZf-aG070fSE,7565
97
+ westpa/oldtools/aframe/data_reader.py,sha256=nuIkR-vFRW_stcXwcjMSZI1RO73By-x-phfTrlD73Jc,20927
98
+ westpa/oldtools/aframe/iter_range.py,sha256=HFODveMwtKAbHXpbt8bII7edVy8RqwC-QPlLXLX66dU,8465
99
+ westpa/oldtools/aframe/kinetics.py,sha256=Ohq_B6zbxE6wVX40Ox8FuiGmnrhQ0h4ovvZnJuoul-I,4389
100
+ westpa/oldtools/aframe/mcbs.py,sha256=TmHGoatGId8iL1g1RiLiqZBwjl0ipFhtza2e0mxuyn8,6037
101
+ westpa/oldtools/aframe/output.py,sha256=SVFF-fXsl12f8mV5xTvy8rm5YIs_p4xDvN8zEYaVnTE,1540
102
+ westpa/oldtools/aframe/plotting.py,sha256=IUa8XmuT_tkWmmbMZluKzsBrUfcfce7Phk9xigacOu4,2455
103
+ westpa/oldtools/aframe/trajwalker.py,sha256=mXkLMg3aIBo76fogCXZs3xNwpTc9Y6qfHNIEhYRIERg,5540
104
+ westpa/oldtools/aframe/transitions.py,sha256=3cQan9ju2s5hW9KvYs38kuKvSh5RjAsvHlvaY2eOZ_M,18542
105
+ westpa/oldtools/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
+ westpa/oldtools/cmds/w_ttimes.py,sha256=5fmAMwqfEuaLd5FK2eXtzBtAIG2aogjlWzBHCpyCpaM,13243
107
+ westpa/oldtools/stats/__init__.py,sha256=KFbQJ1tD1Dnq6x50hv_g8xlaL45E65cATSg4APIzweY,119
108
+ westpa/oldtools/stats/accumulator.py,sha256=AZ1RshALSHjdhfDXidE5_yHaDEsdDXfSzsmogECCoJ8,1137
109
+ westpa/oldtools/stats/edfs.py,sha256=qwgSVoNk_UnnPi1SvXnrQQR28cS-irZvwCErbXdWW1I,4096
110
+ westpa/oldtools/stats/mcbs.py,sha256=pkjV9QPNJQvwW0fURDOkr6OvTS20VVbcCp4bVp0iOMA,3511
111
+ westpa/tools/__init__.py,sha256=HZ4dvK0DV20RfuSzbABWz1qJMIEd1MinBa4tnSDgXa0,1032
112
+ westpa/tools/binning.py,sha256=JtkOcU20IMX98MUp0mH7YMS_R3ENv11mnT8mD8qxojs,20713
113
+ westpa/tools/core.py,sha256=y8kn8TN_R8h3iRE5oES-0BFHk3QLQMOmN66HrlXLons,12102
114
+ westpa/tools/data_reader.py,sha256=i4Uv4OGwiPN-vLrCGOf1vtgMgnLqIg0fYVA0Jn4iXG4,6316
115
+ westpa/tools/dtypes.py,sha256=5aEHhfqX6BJuTBUyirehZJ_G3al1q5GSWZSHyQmhynU,913
116
+ westpa/tools/iter_range.py,sha256=nVQIvqJ9oXOALyQIFsFp_UqMjW5BBQUd1ShZttb20xo,8730
117
+ westpa/tools/kinetics_tool.py,sha256=E_Yy4iYr7AxAOLNaty4j2CmczDBfMVJGSlQs4zIL_5A,14890
118
+ westpa/tools/plot.py,sha256=JlNe5GenVYjnEPNC_6kesu5qv9H6HFOfrBUjGHfSMqY,12854
119
+ westpa/tools/progress.py,sha256=LimIp3qr7rO7ZLGg2SgieFkzEYk1Sn8BtMAhOLRalnA,499
120
+ westpa/tools/selected_segs.py,sha256=cC6YKvhxj6IPz9ybF9Te89nBEKtcaypTjzKPPDQC2uc,4943
121
+ westpa/tools/wipi.py,sha256=ozNkR9d3oAUQn_TCyCk2bEKQWEmn6_NOtjXzAJPN1kM,29046
122
+ westpa/trajtree/__init__.py,sha256=K64Ok5bUP-fXo1H2rigJqxCnm-U23tJlRngNOnzR3gs,96
123
+ westpa/trajtree/_trajtree.c,sha256=KgasMd3dqY4VqL_rMjXEZXsDiX4vpKii5xPpMWJDn6o,765132
124
+ westpa/trajtree/_trajtree.cpython-312-aarch64-linux-gnu.so,sha256=q-qn6iaj8GYv4T-6QYl0xmkXFpjAtyH9Xx_wmBmlbHc,1184640
125
+ westpa/trajtree/_trajtree.pyx,sha256=w0iXHlQUHTZZrFvw-5RK72iXVbdPFY008C1_kN6DpUA,5378
126
+ westpa/trajtree/trajtree.py,sha256=sLf4kTi0QyvFdbSR__YcPwOR2wcOxtlkC4IPUFcq-9M,4497
127
+ westpa/westext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
+ westpa/westext/adaptvoronoi/__init__.py,sha256=Zk7CiLsUJr3qZwZPKSqOBTOVV8uUvsMXkCbiTflMLHA,88
129
+ westpa/westext/adaptvoronoi/adaptVor_driver.py,sha256=xZdBJo-VcX8USB-vpBZWh1qDCMwP-_GMl7V04zaxXN4,8827
130
+ westpa/westext/hamsm_restarting/__init__.py,sha256=0vhEngHBLOp89Mp1CVvt9BYDPosrc1nWGZVNicKFuf8,59
131
+ westpa/westext/hamsm_restarting/example_overrides.py,sha256=3eDzKh_F0yNVm0lN4u0Pnrnj_WR9y4JDXa1-CU7qlbY,1065
132
+ westpa/westext/hamsm_restarting/restart_driver.py,sha256=c5D1I82NVo93_zPcGVtA12c2P10mK_NmkBx06upz-GU,50284
133
+ westpa/westext/stringmethod/__init__.py,sha256=1Nk3Uygs6GWr_FJbNH0Rss2DENurIm4WGx86V0qXxy8,310
134
+ westpa/westext/stringmethod/fourier_fitting.py,sha256=499B3GdZ_pYuFP6kK7ICDnL8StMHSKgrjPX9Xyl1NL8,2256
135
+ westpa/westext/stringmethod/string_driver.py,sha256=8z4pEuflwRx0mb-KaRaqEk98cYUd2cvjglXDp4BRNQQ,9369
136
+ westpa/westext/stringmethod/string_method.py,sha256=4Mb2rtlnIWm7Xym3Lu5RB3c5HulE8tl6Jj3HYvYFjAQ,10421
137
+ westpa/westext/weed/BinCluster.py,sha256=sx9xzZy_ot54TkFuBrCXzAtdAwT89TQEpj2cexx9lVo,7680
138
+ westpa/westext/weed/ProbAdjustEquil.py,sha256=LEJyaEYPaHkXH6lIxgsSKbqTTtuwaoQ-IiBaR9r7Dlk,4248
139
+ westpa/westext/weed/UncertMath.py,sha256=RvmETtO4Jr7ti_aaO9jlzTTemqkbtwFljT6Thibn_u8,8768
140
+ westpa/westext/weed/__init__.py,sha256=LTg42k-I3HbtOWkbWkMHOLA-AK23rFz2ja8zg0qFCvk,451
141
+ westpa/westext/weed/weed_driver.py,sha256=zYwFNpJnocds3DHOEz0P3WJU0CzfnuKoBSuVM543jKs,8770
142
+ westpa/westext/wess/ProbAdjust.py,sha256=zc0H_SURBTgxvZFQCFrXeq_pHzRDAG-ejnD6WKQGt5o,3233
143
+ westpa/westext/wess/__init__.py,sha256=5nw6mcZx7eI4szw0v2q8XBusvb0Q2MUCgGKQUx2j0DE,153
144
+ westpa/westext/wess/wess_driver.py,sha256=6-qAfSL8MNrZqIT76ewOjotcJnIVWubfHynHscGEwQE,9632
145
+ westpa/work_managers/__init__.py,sha256=nHbI9PmRosOeZ11gCHIwpv9qwgXbwUnGt9vIZ0nLtOg,1670
146
+ westpa/work_managers/core.py,sha256=NVe9XhcfizBzXjkymgeo0xLzNLP0tP6-VoTE0uxu91U,15061
147
+ westpa/work_managers/environment.py,sha256=WexOkNB8ovvByB78kXB6uzm7nlE-fIB42IpfLIvZzoI,4948
148
+ westpa/work_managers/mpi.py,sha256=ArxswC1CMgBc5rZ1nr4cQQvwHlCWAcN-BkZt8ilhSgk,9511
149
+ westpa/work_managers/processes.py,sha256=Mtpm3FCR9UoiK3rbofHIdwHPfM_bwgM3sz7fJekQQnE,7757
150
+ westpa/work_managers/serial.py,sha256=fo5Sql5wO4PdFy2VbcssWy0G459MJwKjRWkklK6nDxo,694
151
+ westpa/work_managers/threads.py,sha256=-Xktf-LPqVRf7sMW7Yqdc_ayO_4x_f0zA9iZS_G-fuI,2335
152
+ westpa/work_managers/zeromq/__init__.py,sha256=rrl4YbEaZr2AiEBTMlhvEFH83dBlAwWR_1L8UkqoJVs,438
153
+ westpa/work_managers/zeromq/core.py,sha256=XtwJRvB5I-2V2vYhR_T4tTLKxObsMgPvBbjSz2bJUX4,22731
154
+ westpa/work_managers/zeromq/node.py,sha256=CeoJhXVqrZxrV3lMnDtm3LNkGFxjS4dr3E6wd7ZQRTE,4877
155
+ westpa/work_managers/zeromq/work_manager.py,sha256=UB_WvnejDRVi1ZU2QWpP9uzhnccOH7b3qHgU-wSstTY,22425
156
+ westpa/work_managers/zeromq/worker.py,sha256=YE-iU7_yOiVIu8Aal5j-qrq8sNsG4JSVtRJAiFjnBcw,12940
157
+ westpa-2022.13.dist-info/METADATA,sha256=2mWrLTLmQwHBeKAAJ9rrNqw0HwzUUZm_uNt37nSr8n0,7392
158
+ westpa-2022.13.dist-info/WHEEL,sha256=8dLfIaEdZhvKMcxjctjlRF9OMhsXJ-Ot8dAcG4hIc8U,193
159
+ westpa-2022.13.dist-info/entry_points.txt,sha256=ynuyZj7vSuOx3tVXj7_PAduVblO9YoN4pm-aikyB0gE,1479
160
+ westpa-2022.13.dist-info/top_level.txt,sha256=otaLnQtwo9jKCJmja4iOOsOVDThUvPfjJaeLrgGEhlE,7
161
+ westpa-2022.13.dist-info/RECORD,,
162
+ westpa-2022.13.dist-info/licenses/LICENSE,sha256=I2wUldIRJmflTYUxmSiITSZEKvlovlMPrE3JU5IslkY,1074
@@ -0,0 +1,7 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp312-cp312-manylinux_2_17_aarch64
5
+ Tag: cp312-cp312-manylinux2014_aarch64
6
+ Tag: cp312-cp312-manylinux_2_28_aarch64
7
+