Skip to content

Commit 3db339b

Browse files
authored
Merge branch 'main' into paper
2 parents 07d91c6 + 5de07ac commit 3db339b

File tree

69 files changed

+21349
-1925
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+21349
-1925
lines changed

.ci_support/build_notebooks.sh

Lines changed: 0 additions & 11 deletions
This file was deleted.

.ci_support/environment-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ dependencies:
99
- openmpi
1010
- cloudpickle =3.1.1
1111
- mpi4py =4.0.1
12-
- pyzmq =26.2.1
12+
- pyzmq =26.3.0
1313
- flux-core
1414
- jupyter-book =1.0.0
15-
- h5py =3.12.1
15+
- h5py =3.13.0
1616
- python =3.12
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
channels:
2+
- conda-forge
3+
dependencies:
4+
- jupyter
5+
- papermill
6+
- numpy
7+
- openmpi
8+
- cloudpickle =3.1.1
9+
- mpi4py
10+
- pyzmq =26.3.0
11+
- flux-core =0.59.0
12+
- versioneer =0.28
13+
- h5py
14+
- matplotlib =3.10.0
15+
- networkx =3.4.2
16+
- pygraphviz =1.14
17+
- pysqa =0.2.4
18+
- ipython =9.0.2
19+
- atomistics =0.2.4
20+
- qe =7.2
21+
- gpaw =24.6.0

.ci_support/environment-mpich.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ dependencies:
66
- mpich
77
- cloudpickle =3.1.1
88
- mpi4py =4.0.1
9-
- pyzmq =26.2.1
10-
- h5py =3.12.1
9+
- pyzmq =26.3.0
10+
- h5py =3.13.0
1111
- networkx =3.4.2
1212
- pygraphviz =1.14
13-
- ipython =8.32.0
14-
- pysqa =0.2.3
13+
- ipython =9.0.2
14+
- pysqa =0.2.4
1515
- setuptools =75.1.0

.ci_support/environment-openmpi.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ dependencies:
66
- openmpi
77
- cloudpickle =3.1.1
88
- mpi4py =4.0.1
9-
- pyzmq =26.2.1
10-
- h5py =3.12.1
9+
- pyzmq =26.3.0
10+
- h5py =3.13.0
1111
- networkx =3.4.2
1212
- pygraphviz =1.14
13-
- pysqa =0.2.3
14-
- ipython =8.32.0
13+
- pysqa =0.2.4
14+
- ipython =9.0.2
1515
- setuptools =75.1.0

.ci_support/environment-uml.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
channels:
2+
- conda-forge
3+
dependencies:
4+
- python
5+
- pylint
6+
- graphviz

.ci_support/environment-win.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ dependencies:
66
- msmpi
77
- cloudpickle =3.1.1
88
- mpi4py =4.0.1
9-
- pyzmq =26.2.1
10-
- h5py =3.12.1
9+
- pyzmq =26.3.0
10+
- h5py =3.13.0
1111
- networkx =3.4.2
1212
- pygraphviz =1.14
13-
- ipython =8.32.0
13+
- ipython =9.0.2
1414
- setuptools =75.1.0

.github/workflows/pipeline.yml

Lines changed: 59 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,38 @@ jobs:
167167
- name: Notebooks
168168
shell: bash -l {0}
169169
timeout-minutes: 5
170-
run: >
171-
flux start
172-
.ci_support/build_notebooks.sh
170+
run: |
171+
papermill notebooks/1-single-node.ipynb notebooks/1-single-node-out.ipynb -k python3
172+
flux start papermill notebooks/2-hpc-cluster.ipynb notebooks/2-hpc-cluster-out.ipynb -k python3
173+
flux start papermill notebooks/3-hpc-job.ipynb notebooks/3-hpc-job-out.ipynb -k python3
174+
papermill notebooks/4-developer.ipynb notebooks/4-developer-out.ipynb -k python3
175+
176+
notebooks_integration:
177+
needs: [black]
178+
runs-on: ubuntu-latest
179+
steps:
180+
- uses: actions/checkout@v4
181+
- name: Merge Notebook environment
182+
run: |
183+
echo -e "channels:\n - conda-forge\n" > .condarc
184+
- name: Setup Mambaforge
185+
uses: conda-incubator/setup-miniconda@v3
186+
with:
187+
python-version: "3.12"
188+
miniforge-version: latest
189+
condarc-file: .condarc
190+
environment-file: .ci_support/environment-integration.yml
191+
- name: Install
192+
shell: bash -l {0}
193+
run: |
194+
pip install versioneer[toml]==0.29
195+
pip install . --no-deps --no-build-isolation
196+
- name: Notebooks
197+
shell: bash -l {0}
198+
timeout-minutes: 20
199+
run: |
200+
flux start papermill notebooks/5-1-gpaw.ipynb notebooks/5-1-gpaw-out.ipynb -k python3
201+
flux start papermill notebooks/5-2-quantum-espresso.ipynb notebooks/5-2-quantum-espresso-out.ipynb -k python3
173202
174203
unittest_flux_mpich:
175204
needs: [black]
@@ -200,7 +229,7 @@ jobs:
200229
timeout-minutes: 5
201230
run: >
202231
flux start
203-
python -m unittest tests/test_flux_executor.py tests/test_executor_backend_flux.py tests/test_cache_executor_pysqa_flux.py tests/test_plot_dependency_flux.py;
232+
python -m unittest tests/test_fluxpythonspawner.py tests/test_fluxjobexecutor_plot.py tests/test_fluxjobexecutor.py tests/test_fluxclusterexecutor.py;
204233
205234
unittest_flux_openmpi:
206235
needs: [black]
@@ -231,7 +260,7 @@ jobs:
231260
timeout-minutes: 5
232261
run: >
233262
flux start
234-
coverage run -a --omit="executorlib/_version.py,tests/*" -m unittest tests/test_flux_executor.py tests/test_executor_backend_flux.py tests/test_cache_executor_pysqa_flux.py tests/test_plot_dependency_flux.py;
263+
coverage run -a --omit="executorlib/_version.py,tests/*" -m unittest tests/test_fluxpythonspawner.py tests/test_fluxjobexecutor_plot.py tests/test_fluxjobexecutor.py tests/test_fluxclusterexecutor.py;
235264
coverage xml
236265
env:
237266
EXECUTORLIB_PMIX: "pmix"
@@ -259,9 +288,6 @@ jobs:
259288
- operating-system: ubuntu-latest
260289
python-version: '3.11'
261290

262-
- operating-system: ubuntu-latest
263-
python-version: '3.10'
264-
265291
steps:
266292
- uses: actions/checkout@v4
267293
- name: Conda config
@@ -300,9 +326,6 @@ jobs:
300326
- operating-system: ubuntu-latest
301327
python-version: '3.11'
302328

303-
- operating-system: ubuntu-latest
304-
python-version: '3.10'
305-
306329
steps:
307330
- uses: actions/checkout@v4
308331
- name: Conda config
@@ -385,3 +408,28 @@ jobs:
385408
env:
386409
PR_URL: ${{github.event.pull_request.html_url}}
387410
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
411+
412+
uml:
413+
needs: [unittest_old, unittest_win, unittest_openmpi, unittest_mpich, unittest_flux_openmpi, unittest_flux_mpich, notebooks, benchmark, minimal, pip_check, mypy]
414+
runs-on: ubuntu-latest
415+
steps:
416+
- uses: actions/checkout@v4
417+
- name: Conda config
418+
shell: bash -l {0}
419+
run: echo -e "channels:\n - conda-forge\n" > .condarc
420+
- uses: conda-incubator/setup-miniconda@v3
421+
with:
422+
python-version: "3.13"
423+
miniforge-version: latest
424+
condarc-file: .condarc
425+
environment-file: .ci_support/environment-uml.yml
426+
- name: Test
427+
shell: bash -l {0}
428+
timeout-minutes: 10
429+
run: |
430+
pyreverse -o png -p ./${{ github.event.repository.name }} ./${{ github.event.repository.name }}
431+
zip -m uml.zip *.png
432+
- uses: actions/upload-artifact@v4
433+
with:
434+
name: uml.zip
435+
path: uml.zip

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
rev: v0.9.6
3+
rev: v0.11.2
44
hooks:
55
- id: ruff
66
name: ruff lint

README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
# executorlib
22
[![Pipeline](https://github.com/pyiron/executorlib/actions/workflows/pipeline.yml/badge.svg)](https://github.com/pyiron/executorlib/actions/workflows/pipeline.yml)
33
[![codecov](https://codecov.io/gh/pyiron/executorlib/graph/badge.svg?token=KFIO3R08H3)](https://codecov.io/gh/pyiron/executorlib)
4-
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/pyiron/executorlib/HEAD?labpath=notebooks%2Fexamples.ipynb)
4+
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/pyiron/executorlib/HEAD)
5+
[![status](https://joss.theoj.org/papers/7a4bced702e5ea10e4630bc4d5dbaad2/status.svg)](https://joss.theoj.org/papers/7a4bced702e5ea10e4630bc4d5dbaad2)
6+
![GitHub Repo stars](https://img.shields.io/github/stars/pyiron/executorlib)
57

68
Up-scale python functions for high performance computing (HPC) with executorlib.
79

@@ -139,16 +141,21 @@ as hierarchical job scheduler within the allocations.
139141
* [SLURM](https://executorlib.readthedocs.io/en/latest/3-hpc-job.html#slurm)
140142
* [SLURM with Flux](https://executorlib.readthedocs.io/en/latest/3-hpc-job.html#slurm-with-flux)
141143
* [Flux](https://executorlib.readthedocs.io/en/latest/3-hpc-job.html#flux)
144+
* [Application](https://executorlib.readthedocs.io/en/latest/application.html)
145+
* [GPAW](https://executorlib.readthedocs.io/en/latest/5-1-gpaw.html)
146+
* [Quantum Espresso](https://executorlib.readthedocs.io/en/latest/5-2-quantum-espresso.html)
142147
* [Trouble Shooting](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html)
143148
* [Filesystem Usage](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#filesystem-usage)
144149
* [Firewall Issues](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#firewall-issues)
145150
* [Message Passing Interface](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#message-passing-interface)
146151
* [Python Version](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#python-version)
147152
* [Resource Dictionary](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#resource-dictionary)
148153
* [SSH Connection](https://executorlib.readthedocs.io/en/latest/trouble_shooting.html#ssh-connection)
149-
* [Developer](https://executorlib.readthedocs.io/en/latest/4-developer.html)
150-
* [Communication](https://executorlib.readthedocs.io/en/latest/4-developer.html#communication)
151-
* [External Executables](https://executorlib.readthedocs.io/en/latest/4-developer.html#external-executables)
154+
* [Support & Contribution](https://executorlib.readthedocs.io/en/latest/4-developer.html)
155+
* [Issues](https://executorlib.readthedocs.io/en/latest/4-developer.html#issues)
156+
* [Pull Requests](https://executorlib.readthedocs.io/en/latest/4-developer.html#pull-requests)
152157
* [License](https://executorlib.readthedocs.io/en/latest/4-developer.html#license)
153158
* [Modules](https://executorlib.readthedocs.io/en/latest/4-developer.html#modules)
159+
* [Communication](https://executorlib.readthedocs.io/en/latest/4-developer.html#communication)
160+
* [External Executables](https://executorlib.readthedocs.io/en/latest/4-developer.html#external-executables)
154161
* [Interface](https://executorlib.readthedocs.io/en/latest/api.html)

0 commit comments

Comments
 (0)