Snek5000

Snek5000: a new Python framework for Nek5000 - Published in JOSS (2023)

https://github.com/snek5000/snek5000

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

cfd closember fluiddyn fluidsim jinja2 nek5000 python simulation snakemake snek5000 workflow

Keywords from Contributors

mesh exoplanet energy-system hydrology fem mathematics stellarator molecular-dynamics finite-elements numerical-integration

Scientific Fields

Mathematics Computer Science - 69% confidence
Earth and Environmental Sciences Physical Sciences - 62% confidence
Last synced: 4 months ago · JSON representation ·

Repository

:snake: Python framework for Nek5000 :rocket:

Basic Info
Statistics
  • Stars: 29
  • Watchers: 3
  • Forks: 10
  • Open Issues: 17
  • Releases: 11
Topics
cfd closember fluiddyn fluidsim jinja2 nek5000 python simulation snakemake snek5000 workflow
Created over 5 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing Funding License Citation Codeowners

README.md

# Snek5000 [![PyPI](https://img.shields.io/pypi/v/snek5000)](https://pypi.org/project/snek5000/) [![Build Status](https://img.shields.io/github/actions/workflow/status/snek5000/snek5000/build.yaml?branch=main)](https://github.com/snek5000/snek5000/actions) [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/snek5000/snek5000/main.svg)](https://results.pre-commit.ci/latest/github/snek5000/snek5000/main) [![Documentation Status](https://readthedocs.org/projects/snek5000/badge/?version=latest)](https://snek5000.readthedocs.io/en/latest/?badge=latest) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=snek5000_snek5000&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=snek5000_snek5000) [![Code coverage](https://codecov.io/gh/snek5000/snek5000/branch/main/graph/badge.svg?token=WzGnN0dfbw)](https://codecov.io/gh/snek5000/snek5000) [![Archive](https://zenodo.org/badge/DOI/10.5281/zenodo.7399621.svg)](https://doi.org/10.5281/zenodo.7399621) [![DOI](https://joss.theoj.org/papers/10.21105/joss.05586/status.svg)](https://doi.org/10.21105/joss.05586) Python framework for Nek5000

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 $CASE # foreground nekbmpi $CASE # background cd - # Clean makenek clean ``` - Use of [Snakemake](https://snakemake.readthedocs.io/en/stable/) which is similar to GNU Make, but allows one to blend Bash and Python scripting and uses simple YAML files for managing custom configurations of compilers and flags for different computers. ##### Coding - User friendly, modular, object oriented API - Reuse of code (inheritance) - Tested with a good code coverage (>90%) #### Disadvantages - Yet another layer... with the possible associated bugs :-) - Requires some basic knowledge of Python to use (*not really a big issue, to be honest*). - Deep modification of solvers requires learning how [Snakemake](https://snakemake.readthedocs.io/en/stable/) functions and [how to write Jinja templates](https://jinja.palletsprojects.com/en/2.11.x/templates/) (which are [not so hard](https://snek5000.readthedocs.io/en/latest/how-to/templates.html), btw)

Contributing

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

JOSS Publication

Snek5000: a new Python framework for Nek5000
Published
August 24, 2023
Volume 8, Issue 88, Page 5586
Authors
Ashwin Vishnu Mohanan ORCID
Swedish Meteorological and Hydrological Institute, Norrköping, Sweden
Arman Khoubani ORCID
Laboratoire des Écoulements Géophysiques et Industriels, Université Grenoble Alpes, CNRS, Grenoble INP, 38000 Grenoble, France
Pierre Augier ORCID
Laboratoire des Écoulements Géophysiques et Industriels, Université Grenoble Alpes, CNRS, Grenoble INP, 38000 Grenoble, France
Editor
Philip Cardiff ORCID
Tags
CFD Nek5000 FluidSim Snakemake

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

All Time
  • Total Commits: 983
  • Total Committers: 10
  • Avg Commits per committer: 98.3
  • Development Distribution Score (DDS): 0.399
Past Year
  • Commits: 16
  • Committers: 3
  • Avg Commits per committer: 5.333
  • Development Distribution Score (DDS): 0.313
Top Committers
Name Email 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
documentation (12) bug (2) enhancement (1) long term (1) upstream (1)
Pull Request Labels
dependencies (16)

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

  • Versions: 17
  • Dependent Packages: 3
  • Dependent Repositories: 1
  • Downloads: 42 Last month
Rankings
Dependent packages count: 1.6%
Forks count: 12.0%
Stargazers count: 13.4%
Average: 16.4%
Dependent repos count: 22.1%
Downloads: 32.9%
Maintainers (1)
Last synced: 4 months ago

Dependencies

requirements/docs.txt pypi
  • 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
requirements/main.txt pypi
  • 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
.github/workflows/build.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v2 composite
.github/workflows/deploy.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
requirements/dev.txt pypi
  • 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
requirements/tests-editable.txt pypi
  • 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
requirements/tests.txt pypi
  • 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
.github/workflows/draft-pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
docs/examples/snek5000-canonical/pyproject.toml pypi
  • snek5000 >= 0.9.0
docs/examples/snek5000-canonical/setup.py pypi
docs/examples/snek5000-tgv/setup.py pypi
pyproject.toml pypi
requirements/vcs_packages.in pypi
requirements/environment.yaml pypi