Metadata-Version: 2.1
Name: pymech
Version: 1.5.0rc3
Summary: A Python suite of routines for Nek5000 and Simson.
Home-page: https://github.com/eX-Mech/pymech
Author: eX-Mech Developers
Author-email: dev@fluid.quest
License: GNU General Public License v3 or later (GPLv3+)
Project-URL: Bug Tracker, https://github.com/eX-Mech/pymech/issues
Project-URL: Documentation, https://pymech.readthedocs.io/en/stable
Project-URL: Changelog, https://pymech.readthedocs.io/en/stable/changelog.html
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: xarray (!=0.20.0,!=0.20.1,>=0.19.0)
Requires-Dist: attrs (>=21.4.0)
Requires-Dist: importlib-metadata (<5.0.0) ; python_version < "3.8"
Provides-Extra: dev
Requires-Dist: sphinx ; extra == 'dev'
Requires-Dist: furo ; extra == 'dev'
Requires-Dist: sphinx-autobuild ; extra == 'dev'
Requires-Dist: sphinx-copybutton ; extra == 'dev'
Requires-Dist: sphinx-inline-tabs ; extra == 'dev'
Requires-Dist: myst-nb ; extra == 'dev'
Requires-Dist: matplotlib ; extra == 'dev'
Requires-Dist: asv (>=0.5.1) ; extra == 'dev'
Requires-Dist: rich ; extra == 'dev'
Requires-Dist: dask ; extra == 'dev'
Requires-Dist: numpy (>=1.18) ; extra == 'dev'
Requires-Dist: coverage[toml] ; extra == 'dev'
Requires-Dist: pytest (>=6.2.5) ; extra == 'dev'
Requires-Dist: pytest-cov (>=3.0.0) ; extra == 'dev'
Requires-Dist: pytest-xdist (>=2.4.0) ; extra == 'dev'
Requires-Dist: typing-extensions ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Requires-Dist: nox ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'
Requires-Dist: pyperf ; extra == 'dev'
Requires-Dist: virtualenv ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx ; extra == 'docs'
Requires-Dist: furo ; extra == 'docs'
Requires-Dist: sphinx-autobuild ; extra == 'docs'
Requires-Dist: sphinx-copybutton ; extra == 'docs'
Requires-Dist: sphinx-inline-tabs ; extra == 'docs'
Requires-Dist: myst-nb ; extra == 'docs'
Requires-Dist: matplotlib ; extra == 'docs'
Requires-Dist: asv (>=0.5.1) ; extra == 'docs'
Provides-Extra: full
Requires-Dist: rich ; extra == 'full'
Requires-Dist: dask ; extra == 'full'
Requires-Dist: numpy (>=1.18) ; extra == 'full'
Requires-Dist: mayavi ; extra == 'full'
Provides-Extra: opt
Requires-Dist: rich ; extra == 'opt'
Requires-Dist: dask ; extra == 'opt'
Requires-Dist: numpy (>=1.18) ; extra == 'opt'
Provides-Extra: tests
Requires-Dist: rich ; extra == 'tests'
Requires-Dist: dask ; extra == 'tests'
Requires-Dist: numpy (>=1.18) ; extra == 'tests'
Requires-Dist: coverage[toml] ; extra == 'tests'
Requires-Dist: pytest (>=6.2.5) ; extra == 'tests'
Requires-Dist: pytest-cov (>=3.0.0) ; extra == 'tests'
Requires-Dist: pytest-xdist (>=2.4.0) ; extra == 'tests'
Provides-Extra: types
Requires-Dist: typing-extensions ; extra == 'types'
Requires-Dist: mypy ; extra == 'types'
Provides-Extra: vtk
Requires-Dist: mayavi ; extra == 'vtk'

# Pymech

[![PyPI](https://img.shields.io/pypi/v/pymech)](https://pypi.org/project/pymech/)
[![Build Status](https://img.shields.io/github/workflow/status/eX-Mech/pymech/build)](https://github.com/eX-Mech/pymech/actions)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/eX-Mech/pymech/main.svg)](https://results.pre-commit.ci/latest/github/eX-Mech/pymech/main)
[![Coverage Status](https://coveralls.io/repos/github/eX-Mech/pymech/badge.svg)](https://coveralls.io/github/eX-Mech/pymech)
[![Documentation Status](https://readthedocs.org/projects/pymech/badge/?version=latest)](http://pymech.readthedocs.org/en/stable/)
[![DOI](https://zenodo.org/badge/50511298.svg)](https://zenodo.org/badge/latestdoi/50511298)

A Python suite of routines for [Nek5000] and [SIMSON]. Install with:

```
pip install pymech
```

Read the full documentation at [Pymech doc](http://pymech.readthedocs.io/en/stable).

## Getting started

For some quick wins, download some sample data

```sh
curl -fLO https://raw.githubusercontent.com/eX-Mech/pymech-test-data/main/nek/channel3D_0.f00001
```

Fire up a Python / IPython console and execute:

```py
import matplotlib.pyplot as plt
import pymech as pm

ds = pm.open_dataset('channel3D_0.f00001')
ds.mean(['x', 'z']).ux.plot()
plt.show()
```

You should see something like

![](https://pymech.readthedocs.io/en/stable/_images/usage_37_1.png)

For an overview of how to use pymech, [follow the usage
documentation](https://pymech.readthedocs.io/en/stable/usage.html).

## Contributing

Found something that does not work? Want to add a new feature to pymech? Have a
look at [contributing
guidelines](https://pymech.readthedocs.io/en/stable/contributing.html).

[Nek5000]: https://nek5000.mcs.anl.gov/
[SIMSON]: https://github.com/KTH-Nek5000/SIMSON/
