Snek5000
Snek5000: a new Python framework for Nek5000 - Published in JOSS (2023)
Science Score: 100.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
✓Committers with academic emails
2 of 10 committers (20.0%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Keywords from Contributors
Scientific Fields
Repository
:snake: Python framework for Nek5000 :rocket:
Basic Info
- Host: GitHub
- Owner: snek5000
- License: bsd-3-clause
- Language: Python
- Default Branch: main
- Homepage: https://snek5000.readthedocs.io
- Size: 1.9 MB
Statistics
- Stars: 29
- Watchers: 3
- Forks: 10
- Open Issues: 17
- Releases: 11
Topics
Metadata Files
README.md
Documentation: https://snek5000.readthedocs.io/
Snek5000 is a Python package which allows one to write Fluidsim solvers based for the simulations on the Fortran CFD code Nek5000. There are open-source solvers (in particular snek5000-phill, snek5000-cbox and snek5000-tgv) and it's not difficult to write your own solver based on your Nek5000 cases (as shown in this tutorial).
With a Snek5000-Fluidsim solver, it becomes very easy to
- launch/restart simulations with Python scripts and terminal commands,
- load simulations, read the associated parameters/data and produce nice figures/movies.
Snek5000 can be seen as a workflow manager for Nek5000 or a Python wrapper around Nek5000. It uses Nek5000 on the background and is thus NOT a rewrite of Nek5000!
Snek5000 is powered by nice Python packages such as Snakemake, Fluidsim, Pymech, Matplotlib, Jinja, Pytest, Xarray, etc.
Quick start
Install it as follows:
```sh export NEKSOURCEROOT="/path/to/Nek5000"
pip install snek5000 ```
See here for detailed installation instructions and notes on incompatible Nek5000 versions.
Why Snek5000?
The snek5000 Python
API allows
you to launch/restart/load simulations. For example, the periodic hill Nek5000
example can be
launched with our snek5000-phill solver (installable with pip install snek5000-phill) as follows:
```python from phill.solver import Simul
params = Simul.createdefaultparams()
modify parameters as needed, for example
params.output.subdirectory = "examplessnekphill" params.shortnametyperun = "readme"
params.oper.nx = 12 params.oper.ny = 10 params.oper.nz = 8
params.nek.general.writeinterval = 4 params.nek.general.numsteps = 12
...
instantiate the object representing the simulation
sim = Simul(params)
compile and launch the simulation (blocking)
sim.make.exec("run_fg") ```
A simulation directory is created automatically (with this example, something
like
~/Sim_data/examples_snek_phill/phill_readme_12x10x8_V1.x1.x1._2022-10-27_15-21-58).
Then, the simulation object can be recreated from this directory. An easy way
would be to go into this directory, start IPython with the snek-ipy-load
command. Then, to post-process the results run:
```python
get/print the simulation parameters from the object
sim.params
few examples of various read and plots
sim.output.printstdout.plotdtcfl() sim.output.printstdout.plotnbiterations()
sim.output.physfields.plothexa() sim.output.physfields.animate("pressure", interactive=True) sim.output.physfields.animate( "pressure", dtframeinsec=0.1, equation="y=0.5", savefile="mygreatmovie.gif" ) ```
As another example, this movie has been produced by a sim.output.phys_fields.animate
call from a [snek5000-cbox]
simulation:
https://user-images.githubusercontent.com/8842662/202872147-4ea3c749-dc63-4a73-98a0-6c787edb9cd3.mp4
Solvers can also have extra capabilities such as
processing data from history points.
To see how this works, run a short snek5000-cbox simulation
script where history points are defined,
change to the simulation directory, execute snek-ipy-load command and then
```python
Plot all history points
sim.output.history_points.plot()
Print the coordinates of the history points
sim.output.history_points.coords
Load one history point as a dataframe for further post-processing
coords, data = sim.output.historypoints.load1point(2) ```

Check out the tutorials to learn how to use Snek5000.
Need more reasons to use snek5000?
#### Advantages ##### Parameters, get started without studying the whole documentation - Saves you from the trouble in setting up multiple source files (`.box`, `.par`, `SIZE`) - Uses sensible names and defaults for the parameters - Avoids typos and human errors thanks to a nice [parameter container object] - Records metadata related to the simulation into human and machine readable files (`params_simul.xml`, `config_simul.yml`) - Checks for consistency of parameters - Automatically sets some parameters as Python properties ##### Workflow - Out of source build (per run), which can be inspected or executed using the conventional `makenek` for debugging - Reproducible workflows, not susceptible to changes in environment variables by default - Scriptable simulation execution allowing parametric studies - Easy to load simulation for performing offline post-processing and restarting the simulation - Better than Bash scripting like: ```sh # Build case cd src/phill/ CASE="phill" echo "$CASE.box" | genbox mv -f box.re2 phill.re2 echo "$CASE\n0.01" | genmap FFLAGS="-mcmodel=medium -march=native" CFLAGS="-mcmodel=medium -march=native" makenek cd - # Run case cd src/phill/ nekmpi $CASEContributing
Contributions are welcome! You can help by testing out the code, filing issues and submitting patches. See contributing guidelines.
Owner
- Name: snek5000
- Login: snek5000
- Kind: organization
- Repositories: 5
- Profile: https://github.com/snek5000
JOSS Publication
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: 'Snek5000: a new Python framework for Nek5000'
abstract: |
Computational fluid dynamics (CFD) simulations are essential tools in various
scientific and engineering disciplines. Nek5000 is a CFD Fortran code based on
spectral element methods with a proven track record in numerous applications.
In this article, we present Snek5000, a Python package designed to streamline
the management and visualization of fluid dynamics simulations based on
Nek5000. The package builds upon the functionality of Nek5000 by providing a
user-friendly interface for launching and restarting simulations, loading
simulation data, and generating figures and movies. This paper introduces
Snek5000, discusses its design principles, and highlights its impact on the
scientific community.
authors:
- family-names: Mohanan
given-names: Ashwin Vishnu
orcid: https://orcid.org/0000-0002-2979-6327
- family-names: Khoubani
given-names: Arman
orcid: https://orcid.org/0000-0002-0295-5308
- family-names: Augier
given-names: Pierre
orcid: https://orcid.org/0000-0001-9481-4459
version: 0.9.2
date-released: 2023-08-24
doi: 10.21105/joss.05586
license: BSD-3-Clause
repository-code: "https://github.com/snek5000/snek5000"
identifiers:
- type: doi
value: 10.5281/zenodo.7399621
description: The concept DOI for the collection containing all versions of Snek5000 source code
GitHub Events
Total
- Watch event: 4
- Delete event: 10
- Issue comment event: 10
- Push event: 11
- Pull request event: 14
- Fork event: 1
- Create event: 8
Last Year
- Watch event: 4
- Delete event: 10
- Issue comment event: 10
- Push event: 11
- Pull request event: 14
- Fork event: 1
- Create event: 8
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Ashwin V. Mohanan | d****v@f****t | 591 |
| paugier | p****r@u****r | 291 |
| pre-commit-ci[bot] | 6****] | 58 |
| khoubana | a****i@u****r | 28 |
| dependabot[bot] | 4****] | 8 |
| Kyle Niemeyer | k****r@f****m | 2 |
| Ashwin Vishnu | a****n@f****t | 2 |
| akhoubani | a****i@g****m | 1 |
| Philip Cardiff | p****f@g****m | 1 |
| Ashwin Mohanan | a****n@s****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 42
- Total pull requests: 109
- Average time to close issues: 4 months
- Average time to close pull requests: 17 days
- Total issue authors: 5
- Total pull request authors: 7
- Average comments per issue: 2.29
- Average comments per pull request: 2.2
- Merged pull requests: 96
- Bot issues: 0
- Bot pull requests: 56
Past Year
- Issues: 0
- Pull requests: 17
- Average time to close issues: N/A
- Average time to close pull requests: 2 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.88
- Merged pull requests: 13
- Bot issues: 0
- Bot pull requests: 17
Top Authors
Issue Authors
- paugier (23)
- ashwinvis (8)
- akhoubani (6)
- joneuhauser (4)
- maxhutch (1)
Pull Request Authors
- pre-commit-ci[bot] (46)
- paugier (34)
- dependabot[bot] (16)
- ashwinvis (12)
- akhoubani (5)
- philipcardiff (1)
- kyleniemeyer (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 42 last-month
- Total dependent packages: 3
- Total dependent repositories: 1
- Total versions: 17
- Total maintainers: 1
pypi.org: snek5000
Python framework for Nek5000
- Homepage: https://github.com/snek5000/snek5000
- Documentation: https://snek5000.readthedocs.io
- License: BSD-3-Clause
-
Latest release: 0.9.2
published over 2 years ago
Rankings
Maintainers (1)
Dependencies
- alabaster ==0.7.12
- anyio ==3.6.2
- appdirs ==1.4.4
- argon2-cffi ==21.3.0
- argon2-cffi-bindings ==21.2.0
- asttokens ==2.2.1
- attrs ==22.1.0
- babel ==2.11.0
- backcall ==0.2.0
- beautifulsoup4 ==4.11.1
- bleach ==5.0.1
- breathe ==4.34.0
- certifi ==2022.9.24
- cffi ==1.15.1
- charset-normalizer ==2.1.1
- click ==8.1.3
- colorama ==0.4.6
- configargparse ==1.5.3
- connection-pool ==0.0.3
- contourpy ==1.0.6
- cycler ==0.11.0
- datrie ==0.8.2
- debugpy ==1.6.4
- decorator ==5.1.1
- defusedxml ==0.7.1
- distro ==1.8.0
- docutils ==0.17.1
- dpath ==2.1.2
- entrypoints ==0.4
- executing ==1.2.0
- fastjsonschema ==2.16.2
- filelock ==3.8.1
- fluiddyn ==0.5.1
- fluidsim-core ==0.7.2
- fonttools ==4.38.0
- furo ==2022.9.29
- gitdb ==4.0.10
- gitpython ==3.1.30
- greenlet ==2.0.1
- h5netcdf ==1.1.0
- h5py ==3.7.0
- idna ==3.4
- imagesize ==1.4.1
- importlib-metadata ==5.1.0
- inflection ==0.5.1
- ipykernel ==6.17.1
- ipython ==8.7.0
- jedi ==0.18.2
- jinja2 ==3.1.2
- jsonschema ==4.17.3
- jupyter-cache ==0.5.0
- jupyter-client ==7.4.7
- jupyter-core ==5.1.0
- jupyter-server ==1.23.3
- jupyter-server-mathjax ==0.2.6
- jupyterlab-pygments ==0.2.2
- kiwisolver ==1.4.4
- linkify-it-py ==2.0.0
- livereload ==2.6.3
- markdown-it-py ==2.1.0
- markupsafe ==2.1.1
- matplotlib ==3.6.2
- matplotlib-inline ==0.1.6
- mdit-py-plugins ==0.3.1
- mdurl ==0.1.2
- mistune ==2.0.4
- myst-nb ==0.17.1
- myst-parser ==0.18.1
- nbclient ==0.5.13
- nbconvert ==7.2.5
- nbdime ==3.1.1
- nbformat ==5.7.0
- nest-asyncio ==1.5.6
- numpy ==1.23.5
- packaging ==21.3
- pandas ==1.5.2
- pandocfilters ==1.5.0
- parso ==0.8.3
- pexpect ==4.8.0
- pickleshare ==0.7.5
- pillow ==9.3.0
- plac ==1.3.5
- platformdirs ==2.5.4
- prometheus-client ==0.15.0
- prompt-toolkit ==3.0.33
- psutil ==5.9.4
- ptyprocess ==0.7.0
- pulp ==2.7.0
- pure-eval ==0.2.2
- pycparser ==2.21
- pygments ==2.13.0
- pymech ==1.5.0
- pyparsing ==3.0.9
- pyrsistent ==0.19.2
- python-dateutil ==2.8.2
- pytz ==2022.6
- pyyaml ==6.0
- pyzmq ==24.0.1
- qtpy ==2.3.0
- requests ==2.28.1
- reretry ==0.11.1
- scipy ==1.9.3
- send2trash ==1.8.0
- setuptools-scm ==7.0.5
- six ==1.16.0
- smart-open ==6.2.0
- smmap ==5.0.0
- snakemake ==7.18.2
- sniffio ==1.3.0
- snowballstemmer ==2.2.0
- soupsieve ==2.3.2.post1
- sphinx ==5.3.0
- sphinx-autobuild ==2021.3.14
- sphinx-basic-ng ==1.0.0b1
- sphinx-copybutton ==0.5.1
- sphinx-inline-tabs ==2022.1.2b11
- sphinxcontrib-applehelp ==1.0.2
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==2.0.0
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.5
- sqlalchemy ==1.4.44
- stack-data ==0.6.2
- stopit ==1.1.2
- tabulate ==0.9.0
- terminado ==0.17.0
- throttler ==1.2.2
- tinycss2 ==1.2.1
- tomli ==2.0.1
- toposort ==1.7
- tornado ==6.2
- traitlets ==5.6.0
- typing-extensions ==4.4.0
- uc-micro-py ==1.0.1
- urllib3 ==1.26.13
- wcwidth ==0.2.5
- webencodings ==0.5.1
- websocket-client ==1.4.2
- wrapt ==1.14.1
- xarray ==2022.12.0
- yte ==1.5.1
- zipp ==3.11.0
- appdirs ==1.4.4
- attrs ==22.1.0
- certifi ==2022.12.7
- charset-normalizer ==2.1.1
- configargparse ==1.5.3
- connection-pool ==0.0.3
- contourpy ==1.0.6
- cycler ==0.11.0
- datrie ==0.8.2
- distro ==1.8.0
- docutils ==0.19
- dpath ==2.1.2
- fastjsonschema ==2.16.2
- filelock ==3.8.1
- fluiddyn ==0.5.1
- fluidsim-core ==0.7.2
- fonttools ==4.38.0
- gitdb ==4.0.10
- gitpython ==3.1.30
- h5netcdf ==1.1.0
- h5py ==3.7.0
- idna ==3.4
- inflection ==0.5.1
- jinja2 ==3.1.2
- jsonschema ==4.17.3
- jupyter-core ==5.1.0
- kiwisolver ==1.4.4
- markupsafe ==2.1.1
- matplotlib ==3.6.2
- nbformat ==5.7.0
- numpy ==1.23.5
- packaging ==21.3
- pandas ==1.5.2
- pillow ==9.3.0
- plac ==1.3.5
- platformdirs ==2.5.4
- psutil ==5.9.4
- pulp ==2.7.0
- pymech ==1.5.0
- pyparsing ==3.0.9
- pyrsistent ==0.19.2
- python-dateutil ==2.8.2
- pytz ==2022.6
- pyyaml ==6.0
- qtpy ==2.3.0
- requests ==2.28.1
- reretry ==0.11.1
- six ==1.16.0
- smart-open ==6.2.0
- smmap ==5.0.0
- snakemake ==7.18.2
- stopit ==1.1.2
- tabulate ==0.9.0
- throttler ==1.2.2
- toposort ==1.7
- traitlets ==5.6.0
- urllib3 ==1.26.13
- wrapt ==1.14.1
- xarray ==2022.12.0
- yte ==1.5.1
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v2 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- alabaster ==0.7.12 development
- anyio ==3.6.2 development
- appdirs ==1.4.4 development
- argcomplete ==2.0.0 development
- argon2-cffi ==21.3.0 development
- argon2-cffi-bindings ==21.2.0 development
- asttokens ==2.2.1 development
- attrs ==22.1.0 development
- babel ==2.11.0 development
- backcall ==0.2.0 development
- beautifulsoup4 ==4.11.1 development
- bleach ==5.0.1 development
- breathe ==4.34.0 development
- build ==0.9.0 development
- certifi ==2022.9.24 development
- cffi ==1.15.1 development
- cfgv ==3.3.1 development
- charset-normalizer ==2.1.1 development
- click ==8.1.3 development
- colorama ==0.4.6 development
- colorlog ==6.7.0 development
- commonmark ==0.9.1 development
- configargparse ==1.5.3 development
- connection-pool ==0.0.3 development
- contourpy ==1.0.6 development
- coverage ==6.5.0 development
- cryptography ==38.0.4 development
- cycler ==0.11.0 development
- datrie ==0.8.2 development
- debugpy ==1.6.4 development
- decorator ==5.1.1 development
- defusedxml ==0.7.1 development
- distlib ==0.3.6 development
- distro ==1.8.0 development
- docstring-to-markdown ==0.11 development
- docutils ==0.17.1 development
- dpath ==2.1.2 development
- entrypoints ==0.4 development
- exceptiongroup ==1.0.4 development
- executing ==1.2.0 development
- fancycompleter ==0.9.1 development
- fastjsonschema ==2.16.2 development
- filelock ==3.8.1 development
- fluiddyn ==0.5.1 development
- fluidsim-core ==0.7.2 development
- fonttools ==4.38.0 development
- fortran-language-server ==1.12.0 development
- furo ==2022.9.29 development
- gitdb ==4.0.10 development
- gitpython ==3.1.30 development
- greenlet ==2.0.1 development
- h5netcdf ==1.1.0 development
- h5py ==3.7.0 development
- identify ==2.5.9 development
- idna ==3.4 development
- imagesize ==1.4.1 development
- importlib-metadata ==5.1.0 development
- inflection ==0.5.1 development
- iniconfig ==1.1.1 development
- ipykernel ==6.17.1 development
- ipython ==8.7.0 development
- jaraco-classes ==3.2.3 development
- jedi ==0.18.2 development
- jeepney ==0.8.0 development
- jinja2 ==3.1.2 development
- jsonschema ==4.17.3 development
- jupyter-cache ==0.5.0 development
- jupyter-client ==7.4.7 development
- jupyter-core ==5.1.0 development
- jupyter-server ==1.23.3 development
- jupyter-server-mathjax ==0.2.6 development
- jupyterlab-pygments ==0.2.2 development
- keyring ==23.11.0 development
- kiwisolver ==1.4.4 development
- linkify-it-py ==2.0.0 development
- livereload ==2.6.3 development
- markdown-it-py ==2.1.0 development
- markupsafe ==2.1.1 development
- matplotlib ==3.6.2 development
- matplotlib-inline ==0.1.6 development
- mdit-py-plugins ==0.3.1 development
- mdurl ==0.1.2 development
- mistune ==2.0.4 development
- more-itertools ==9.0.0 development
- myst-nb ==0.17.1 development
- myst-parser ==0.18.1 development
- nbclient ==0.5.13 development
- nbconvert ==7.2.5 development
- nbdime ==3.1.1 development
- nbformat ==5.7.0 development
- nest-asyncio ==1.5.6 development
- nodeenv ==1.7.0 development
- nox ==2022.11.21 development
- numpy ==1.23.5 development
- packaging ==21.3 development
- pandas ==1.5.2 development
- pandocfilters ==1.5.0 development
- parso ==0.8.3 development
- pdbpp ==0.10.3 development
- pep517 ==0.13.0 development
- pexpect ==4.8.0 development
- pickleshare ==0.7.5 development
- pillow ==9.3.0 development
- pkginfo ==1.9.2 development
- plac ==1.3.5 development
- platformdirs ==2.5.4 development
- pluggy ==1.0.0 development
- pre-commit ==2.20.0 development
- prometheus-client ==0.15.0 development
- prompt-toolkit ==3.0.33 development
- psutil ==5.9.4 development
- ptyprocess ==0.7.0 development
- pulp ==2.7.0 development
- pure-eval ==0.2.2 development
- pycparser ==2.21 development
- pygments ==2.13.0 development
- pymech ==1.5.0 development
- pyparsing ==3.0.9 development
- pyrepl ==0.9.0 development
- pyrsistent ==0.19.2 development
- pytest ==7.2.0 development
- pytest-cov ==4.0.0 development
- pytest-datadir ==1.4.1 development
- pytest-mock ==3.10.0 development
- python-dateutil ==2.8.2 development
- python-lsp-jsonrpc ==1.0.0 development
- python-lsp-server ==1.6.0 development
- pytz ==2022.6 development
- pyyaml ==6.0 development
- pyzmq ==24.0.1 development
- qtpy ==2.3.0 development
- readme-renderer ==37.3 development
- requests ==2.28.1 development
- requests-toolbelt ==0.10.1 development
- reretry ==0.11.1 development
- rfc3986 ==2.0.0 development
- rich ==12.6.0 development
- scipy ==1.9.3 development
- secretstorage ==3.3.3 development
- send2trash ==1.8.0 development
- setuptools-scm ==7.0.5 development
- six ==1.16.0 development
- smart-open ==6.2.0 development
- smmap ==5.0.0 development
- snakemake ==7.18.2 development
- sniffio ==1.3.0 development
- snowballstemmer ==2.2.0 development
- soupsieve ==2.3.2.post1 development
- sphinx ==5.3.0 development
- sphinx-autobuild ==2021.3.14 development
- sphinx-basic-ng ==1.0.0b1 development
- sphinx-copybutton ==0.5.1 development
- sphinx-inline-tabs ==2022.1.2b11 development
- sphinxcontrib-applehelp ==1.0.2 development
- sphinxcontrib-devhelp ==1.0.2 development
- sphinxcontrib-htmlhelp ==2.0.0 development
- sphinxcontrib-jsmath ==1.0.1 development
- sphinxcontrib-qthelp ==1.0.3 development
- sphinxcontrib-serializinghtml ==1.1.5 development
- sqlalchemy ==1.4.44 development
- stack-data ==0.6.2 development
- stopit ==1.1.2 development
- tabulate ==0.9.0 development
- terminado ==0.17.0 development
- throttler ==1.2.2 development
- tinycss2 ==1.2.1 development
- toml ==0.10.2 development
- tomli ==2.0.1 development
- toposort ==1.7 development
- tornado ==6.2 development
- traitlets ==5.6.0 development
- twine ==4.0.2 development
- typing-extensions ==4.4.0 development
- uc-micro-py ==1.0.1 development
- ujson ==5.6.0 development
- urllib3 ==1.26.13 development
- virtualenv ==20.17.0 development
- wcwidth ==0.2.5 development
- webencodings ==0.5.1 development
- websocket-client ==1.4.2 development
- wmctrl ==0.4 development
- wrapt ==1.14.1 development
- xarray ==2022.12.0 development
- yte ==1.5.1 development
- zipp ==3.11.0 development
- appdirs ==1.4.4 test
- argcomplete ==2.0.0 test
- asttokens ==2.2.1 test
- attrs ==22.1.0 test
- backcall ==0.2.0 test
- certifi ==2022.9.24 test
- charset-normalizer ==2.1.1 test
- colorlog ==6.7.0 test
- configargparse ==1.5.3 test
- connection-pool ==0.0.3 test
- contourpy ==1.0.6 test
- coverage ==6.5.0 test
- cycler ==0.11.0 test
- datrie ==0.8.2 test
- decorator ==5.1.1 test
- distlib ==0.3.6 test
- distro ==1.8.0 test
- docutils ==0.19 test
- dpath ==2.1.2 test
- exceptiongroup ==1.0.4 test
- executing ==1.2.0 test
- fastjsonschema ==2.16.2 test
- filelock ==3.8.1 test
- fluiddyn ==0.5.1 test
- fluidsim-core ==0.7.2 test
- fonttools ==4.38.0 test
- gitdb ==4.0.10 test
- gitpython ==3.1.30 test
- h5netcdf ==1.1.0 test
- h5py ==3.7.0 test
- idna ==3.4 test
- inflection ==0.5.1 test
- iniconfig ==1.1.1 test
- ipython ==8.7.0 test
- jedi ==0.18.2 test
- jinja2 ==3.1.2 test
- jsonschema ==4.17.3 test
- jupyter-core ==5.1.0 test
- kiwisolver ==1.4.4 test
- markupsafe ==2.1.1 test
- matplotlib ==3.6.2 test
- matplotlib-inline ==0.1.6 test
- nbformat ==5.7.0 test
- nox ==2022.11.21 test
- numpy ==1.23.5 test
- packaging ==21.3 test
- pandas ==1.5.2 test
- parso ==0.8.3 test
- pexpect ==4.8.0 test
- pickleshare ==0.7.5 test
- pillow ==9.3.0 test
- plac ==1.3.5 test
- platformdirs ==2.5.4 test
- pluggy ==1.0.0 test
- prompt-toolkit ==3.0.33 test
- psutil ==5.9.4 test
- ptyprocess ==0.7.0 test
- pulp ==2.7.0 test
- pure-eval ==0.2.2 test
- pygments ==2.13.0 test
- pymech ==1.5.0 test
- pyparsing ==3.0.9 test
- pyrsistent ==0.19.2 test
- pytest ==7.2.0 test
- pytest-cov ==4.0.0 test
- pytest-datadir ==1.4.1 test
- pytest-mock ==3.10.0 test
- python-dateutil ==2.8.2 test
- pytz ==2022.6 test
- pyyaml ==6.0 test
- qtpy ==2.3.0 test
- requests ==2.28.1 test
- reretry ==0.11.1 test
- six ==1.16.0 test
- smart-open ==6.2.0 test
- smmap ==5.0.0 test
- snakemake ==7.18.2 test
- stack-data ==0.6.2 test
- stopit ==1.1.2 test
- tabulate ==0.9.0 test
- throttler ==1.2.2 test
- tomli ==2.0.1 test
- toposort ==1.7 test
- traitlets ==5.6.0 test
- urllib3 ==1.26.13 test
- virtualenv ==20.17.0 test
- wcwidth ==0.2.5 test
- wrapt ==1.14.1 test
- xarray ==2022.12.0 test
- yte ==1.5.1 test
- appdirs ==1.4.4 test
- argcomplete ==2.0.0 test
- asttokens ==2.2.1 test
- attrs ==22.1.0 test
- backcall ==0.2.0 test
- certifi ==2022.9.24 test
- charset-normalizer ==2.1.1 test
- colorlog ==6.7.0 test
- configargparse ==1.5.3 test
- connection-pool ==0.0.3 test
- contourpy ==1.0.6 test
- coverage ==6.5.0 test
- cycler ==0.11.0 test
- datrie ==0.8.2 test
- decorator ==5.1.1 test
- distlib ==0.3.6 test
- distro ==1.8.0 test
- docutils ==0.19 test
- dpath ==2.1.2 test
- exceptiongroup ==1.0.4 test
- executing ==1.2.0 test
- fastjsonschema ==2.16.2 test
- filelock ==3.8.1 test
- fluiddyn ==0.5.1 test
- fluidsim-core ==0.7.2 test
- fonttools ==4.38.0 test
- gitdb ==4.0.10 test
- gitpython ==3.1.30 test
- h5netcdf ==1.1.0 test
- h5py ==3.7.0 test
- idna ==3.4 test
- inflection ==0.5.1 test
- iniconfig ==1.1.1 test
- ipython ==8.7.0 test
- jedi ==0.18.2 test
- jinja2 ==3.1.2 test
- jsonschema ==4.17.3 test
- jupyter-core ==5.1.0 test
- kiwisolver ==1.4.4 test
- markupsafe ==2.1.1 test
- matplotlib ==3.6.2 test
- matplotlib-inline ==0.1.6 test
- nbformat ==5.7.0 test
- nox ==2022.11.21 test
- numpy ==1.23.5 test
- packaging ==21.3 test
- pandas ==1.5.2 test
- parso ==0.8.3 test
- pexpect ==4.8.0 test
- pickleshare ==0.7.5 test
- pillow ==9.3.0 test
- plac ==1.3.5 test
- platformdirs ==2.5.4 test
- pluggy ==1.0.0 test
- prompt-toolkit ==3.0.33 test
- psutil ==5.9.4 test
- ptyprocess ==0.7.0 test
- pulp ==2.7.0 test
- pure-eval ==0.2.2 test
- pygments ==2.13.0 test
- pymech ==1.5.0 test
- pyparsing ==3.0.9 test
- pyrsistent ==0.19.2 test
- pytest ==7.2.0 test
- pytest-cov ==4.0.0 test
- pytest-datadir ==1.4.1 test
- pytest-mock ==3.10.0 test
- python-dateutil ==2.8.2 test
- pytz ==2022.6 test
- pyyaml ==6.0 test
- qtpy ==2.3.0 test
- requests ==2.28.1 test
- reretry ==0.11.1 test
- six ==1.16.0 test
- smart-open ==6.2.0 test
- smmap ==5.0.0 test
- snakemake ==7.18.2 test
- stack-data ==0.6.2 test
- stopit ==1.1.2 test
- tabulate ==0.9.0 test
- throttler ==1.2.2 test
- tomli ==2.0.1 test
- toposort ==1.7 test
- traitlets ==5.6.0 test
- urllib3 ==1.26.13 test
- virtualenv ==20.17.0 test
- wcwidth ==0.2.5 test
- wrapt ==1.14.1 test
- xarray ==2022.12.0 test
- yte ==1.5.1 test
- actions/checkout v3 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite
- snek5000 >= 0.9.0
