matensemble 0.3.3__tar.gz → 0.3.4__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.
- {matensemble-0.3.3 → matensemble-0.3.4}/PKG-INFO +1 -1
- {matensemble-0.3.3 → matensemble-0.3.4}/pyproject.toml +1 -1
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/TODO.md +15 -4
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/pipeline.py +2 -4
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/strategy.py +7 -9
- {matensemble-0.3.3 → matensemble-0.3.4}/LICENSE +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/README.md +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/.python-version +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/README.md +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/__init__.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/chore.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dash/assets/index-1X2cLUgt.js +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dash/assets/index-DRkGfWlx.css +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dash/index.html +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dash/vite.svg +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/__init__.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/driver.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/ensemble.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/__init__.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/bispectrum_calculator.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/compute_diffraction.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/compute_order_from_pairs.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/compute_twist.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/correlations.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/ovito_calculators.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/task_lib/AnalysisSubprocess.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/task_lib/AnalysysDescriptor.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/task_lib/MDSubprocess.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/task_lib/__init__.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/task_lib/analysis_registry.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/utils/__init__.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/utils/lammps_init.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/utils/preprocessors.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/utils/stat.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/utils/stress_rotate_z_theta.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/fluxlet.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/logger.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/manager.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/model.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/redis/__init__.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/redis/service.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/redis/test.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/runtime_worker.py +0 -0
- {matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: matensemble
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: An adaptive and highly asynchronous ensemble simulation workflow manager MatEnsemble (https://github.com/Q-CAD/MatEnsemble) built jointly on top of the hierarchical graph based scheduler FLUX and concurrent-futures infrastructure of python
|
|
5
5
|
Author: Soumendu Bagchi, Kaleb Duchesneau
|
|
6
6
|
Author-email: Soumendu Bagchi <soumendubagchi@gmail.com>, Kaleb Duchesneau <kalebduchesneau@gmail.com>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "matensemble"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.4"
|
|
4
4
|
description = "An adaptive and highly asynchronous ensemble simulation workflow manager MatEnsemble (https://github.com/Q-CAD/MatEnsemble) built jointly on top of the hierarchical graph based scheduler FLUX and concurrent-futures infrastructure of python"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license-files = ["LICENSE"]
|
|
@@ -171,6 +171,17 @@
|
|
|
171
171
|
- [x] Convert Scaffold into PowerPoint Presentation
|
|
172
172
|
- [x] Email coordinator about length of presentation and audience
|
|
173
173
|
|
|
174
|
+
# === May 29, 2026 ===
|
|
175
|
+
- [x] Fix the strategy error
|
|
176
|
+
- [x] Make sure conda env is working
|
|
177
|
+
- [ ] Make sure all containers are working and stable
|
|
178
|
+
* Frontier
|
|
179
|
+
* Perlmutter
|
|
180
|
+
* Pathfinder
|
|
181
|
+
* Linux
|
|
182
|
+
- [ ] Update tutorials for all systems
|
|
183
|
+
- [ ] Make all figures for JOSS paper and explain all of them
|
|
184
|
+
|
|
174
185
|
## === AFTER EVERYTHING ABOVE IS DONE AND STABLE ===
|
|
175
186
|
|
|
176
187
|
## --- Model Context Protocol ---
|
|
@@ -197,12 +208,12 @@
|
|
|
197
208
|
|
|
198
209
|
## --- Create first draft for JOSS ---
|
|
199
210
|
- [ ] Read some example papers
|
|
200
|
-
- [
|
|
201
|
-
- [
|
|
211
|
+
- [x] Create draft and show Dr. Bagchi
|
|
212
|
+
- [x] Polish the repository to be ready for review
|
|
202
213
|
- [ ] Make sure that the tests work
|
|
203
214
|
- [ ] Make sure that the example workflows work correctly
|
|
204
|
-
- [ ] Make sure that they can easily test the code
|
|
205
|
-
- [
|
|
215
|
+
- [ ] Make sure that they can easily test the code
|
|
216
|
+
- [x] Create a conda package that they can easily test the code without having
|
|
206
217
|
to compile flux and flux-sched themselves
|
|
207
218
|
|
|
208
219
|
## --- Reading List ---
|
|
@@ -278,7 +278,8 @@ class Pipeline:
|
|
|
278
278
|
Returns
|
|
279
279
|
-------
|
|
280
280
|
Callable
|
|
281
|
-
A dummy function that just prints a warning to the stdout
|
|
281
|
+
A dummy function that just prints a warning to the stdout. The
|
|
282
|
+
actual function is stored in the registry
|
|
282
283
|
"""
|
|
283
284
|
|
|
284
285
|
def decorator(func: Callable[..., Any]) -> Callable[..., Any]:
|
|
@@ -603,9 +604,6 @@ class Pipeline:
|
|
|
603
604
|
self._finished = True
|
|
604
605
|
return self._collect_results()
|
|
605
606
|
|
|
606
|
-
def add_user_strat(self, chore_name: str, bolo_list: list[str]):
|
|
607
|
-
self._strategy_spec = {"name": chore_name, "bolo_list": bolo_list}
|
|
608
|
-
|
|
609
607
|
def graph(self) -> nx.DiGraph:
|
|
610
608
|
return self._create_graph()
|
|
611
609
|
|
|
@@ -224,9 +224,6 @@ class NonAdaptiveStrategy(FutureProcessingStrategy):
|
|
|
224
224
|
return
|
|
225
225
|
|
|
226
226
|
|
|
227
|
-
# TODO: Make the strategy look through the bolo list and spawn a new chore with the output of another
|
|
228
|
-
# and then make sure that the chore that is acting as a processing strat is a on the bolo list
|
|
229
|
-
# and if that is done then you need to get the results and spawn a new chore from the ChoreSpec
|
|
230
227
|
class UserStrategy(FutureProcessingStrategy):
|
|
231
228
|
def __init__(self, manager, pipeline, processing_chore, bolo_list) -> None:
|
|
232
229
|
super().__init__(manager)
|
|
@@ -314,12 +311,13 @@ class UserStrategy(FutureProcessingStrategy):
|
|
|
314
311
|
# untrusted paths or third-party producers.
|
|
315
312
|
with (chore.workdir / "result.pickle").open("rb") as f:
|
|
316
313
|
chore_spec = pickle.load(f)
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
314
|
+
if chore_spec:
|
|
315
|
+
new_chore, new_out = self.pipeline._spawn_chore_from_spec(
|
|
316
|
+
chore_spec
|
|
317
|
+
)
|
|
318
|
+
self.pipeline._admit_spawned_chore(
|
|
319
|
+
new_chore, new_out, self.manager
|
|
320
|
+
)
|
|
323
321
|
except Exception as e:
|
|
324
322
|
self.manager._logger.exception(
|
|
325
323
|
f"FAILED TO SPAWN CHORE: chore={self.proc_chore} | due the following Exception ->\n{e}"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/compute_twist.py
RENAMED
|
File without changes
|
{matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/correlations.py
RENAMED
|
File without changes
|
{matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/postprocessors/ovito_calculators.py
RENAMED
|
File without changes
|
{matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/task_lib/AnalysisSubprocess.py
RENAMED
|
File without changes
|
{matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/task_lib/AnalysysDescriptor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/task_lib/analysis_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{matensemble-0.3.3 → matensemble-0.3.4}/src/matensemble/dynopro/utils/stress_rotate_z_theta.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|