Metadata-Version: 2.1
Name: fluiddyn
Version: 0.3.4
Summary: Framework for studying fluid dynamics.
Home-page: https://foss.heptapod.net/fluiddyn/fluiddyn
Author: Pierre Augier
Author-email: pierre.augier@legi.cnrs.fr
License: CeCILL-B License
Project-URL: documentation, https://fluiddyn.readthedocs.io
Project-URL: twitter, https://twitter.com/pyfluiddyn
Project-URL: conda-forge, https://github.com/conda-forge/fluiddyn-feedstock
Keywords: Fluid dynamics,research
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
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
Requires-Python: >=3.6
License-File: LICENSE.txt
License-File: AUTHORS.rst
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: h5py
Requires-Dist: h5netcdf
Requires-Dist: psutil (>=5.2.1)
Requires-Dist: qtpy
Requires-Dist: cached-property ; python_version < "3.8"
Requires-Dist: distro ; python_version >= "3.8"
Provides-Extra: dev
Requires-Dist: jupyter ; extra == 'dev'
Requires-Dist: sphinx ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
Requires-Dist: numpydoc ; extra == 'dev'
Requires-Dist: sphinxemoji ; extra == 'dev'
Requires-Dist: myst-nb ; extra == 'dev'
Requires-Dist: sphinx-copybutton ; extra == 'dev'
Requires-Dist: pyqt5 ; extra == 'dev'
Requires-Dist: towncrier ; extra == 'dev'
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: ipython ; extra == 'dev'
Requires-Dist: ipdb ; extra == 'dev'
Requires-Dist: scipy ; extra == 'dev'
Requires-Dist: pillow ; extra == 'dev'
Requires-Dist: imageio ; extra == 'dev'
Requires-Dist: pyfftw (>=0.10.4) ; extra == 'dev'
Requires-Dist: mpi4py ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: jupyter ; extra == 'doc'
Requires-Dist: sphinx ; extra == 'doc'
Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
Requires-Dist: numpydoc ; extra == 'doc'
Requires-Dist: sphinxemoji ; extra == 'doc'
Requires-Dist: myst-nb ; extra == 'doc'
Requires-Dist: sphinx-copybutton ; extra == 'doc'
Requires-Dist: pyqt5 ; extra == 'doc'
Requires-Dist: towncrier ; extra == 'doc'
Provides-Extra: fft
Requires-Dist: pyfftw (>=0.10.4) ; extra == 'fft'
Provides-Extra: full
Requires-Dist: jupyter ; extra == 'full'
Requires-Dist: sphinx ; extra == 'full'
Requires-Dist: sphinx-rtd-theme ; extra == 'full'
Requires-Dist: numpydoc ; extra == 'full'
Requires-Dist: sphinxemoji ; extra == 'full'
Requires-Dist: myst-nb ; extra == 'full'
Requires-Dist: sphinx-copybutton ; extra == 'full'
Requires-Dist: pyqt5 ; extra == 'full'
Requires-Dist: towncrier ; extra == 'full'
Requires-Dist: coverage ; extra == 'full'
Requires-Dist: pytest ; extra == 'full'
Requires-Dist: pytest-cov ; extra == 'full'
Requires-Dist: ipython ; extra == 'full'
Requires-Dist: ipdb ; extra == 'full'
Requires-Dist: scipy ; extra == 'full'
Requires-Dist: pillow ; extra == 'full'
Requires-Dist: imageio ; extra == 'full'
Requires-Dist: pyfftw (>=0.10.4) ; extra == 'full'
Requires-Dist: mpi4py ; extra == 'full'
Requires-Dist: pulp ; extra == 'full'
Requires-Dist: scikit-image ; extra == 'full'
Requires-Dist: opencv-python ; extra == 'full'
Provides-Extra: mpi
Requires-Dist: mpi4py ; extra == 'mpi'
Provides-Extra: test
Requires-Dist: coverage ; extra == 'test'
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: ipython ; extra == 'test'
Requires-Dist: ipdb ; extra == 'test'
Requires-Dist: scipy ; extra == 'test'
Requires-Dist: pillow ; extra == 'test'
Requires-Dist: imageio ; extra == 'test'
Requires-Dist: pyfftw (>=0.10.4) ; extra == 'test'

   :alt: Heptapod CI

.. |travis| image:: https://travis-ci.org/fluiddyn/fluiddyn.svg?branch=branch%2Fdefault
   :target: https://travis-ci.org/fluiddyn/fluiddyn
   :alt: Travis CI status

.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/rxafwwpmxymki2u1/branch/default?svg=true
   :target: https://ci.appveyor.com/project/fluiddyn/fluiddyn
   :alt: AppVeyor status

.. |binder| image:: https://mybinder.org/badge_logo.svg
   :target: https://mybinder.org/v2/gh/fluiddyn/fluiddyn/branch%2Fdefault?urlpath=lab/tree/doc/ipynb
   :alt: Binder notebook

FluidDyn project is an ecosystem of packages for research and teaching in fluid
dynamics. The Python package fluiddyn contains:

* **basic utilities to manage**: File I/O for some esoteric formats,
  publication quality figures, job submission on clusters, MPI
* **powerful classes to handle**: parameters, arrays, series of files
* **simplified interfaces to calculate**: FFT, spherical harmonics

and much more. It is used as a library in `the other specialized packages of
the FluidDyn project <https://foss.heptapod.net/fluiddyn>`_ (in particular in
`fluidfft <http://fluidfft.readthedocs.io>`_, `fluidsim
<http://fluidsim.readthedocs.io>`_, `fluidlab
<http://fluidlab.readthedocs.io>`_ and `fluidimage
<http://fluidimage.readthedocs.io>`_).

**Documentation**: https://fluiddyn.readthedocs.io

Getting started
---------------
To try fluiddyn without installation: |binder|

Installation
------------
The simplest way to install fluiddyn is by using pip::

  pip install fluiddyn

You can also get the source code from
https://foss.heptapod.net/fluiddyn/fluiddyn or from `the Python Package Index
<https://pypi.python.org/pypi/fluiddyn/>`_. The development
mode is often useful if you intend to modify fluiddyn. From the root
directory::

  pip install -e .[dev]


Requirements
------------

+------------------------+-------------------------------------------------------------------------------+
| **Minimum**            | Python (>=3.6), ``numpy matplotlib h5py psutil``                              |
+------------------------+-------------------------------------------------------------------------------+
| **Full functionality** | ``h5py h5netcdf pillow imageio mpi4py scipy pyfftw`` (requires FFTW library), |
|                        | SHTns                                                                         |
+------------------------+-------------------------------------------------------------------------------+
| **Optional**           | OpenCV with Python bindings, ``scikit-image``                                 |
+------------------------+-------------------------------------------------------------------------------+

**Note**: Detailed instructions to install the above dependencies using
Anaconda / Miniconda or in a specific operating system such as Ubuntu, macOS
etc. can be found `here
<https://fluiddyn.readthedocs.io/en/latest/get_good_Python_env.html>`__.

Tests
-----

With an editable installation, you can run the tests with::

  pytest


Metapaper and citation
----------------------

If you use any of the FluidDyn packages to produce scientific articles, please
cite `our metapaper presenting the FluidDyn project and the fluiddyn package
<https://openresearchsoftware.metajnl.com/articles/10.5334/jors.237/>`_:

.. code ::

    @article{fluiddyn,
    doi = {10.5334/jors.237},
    year = {2019},
    publisher = {Ubiquity Press,  Ltd.},
    volume = {7},
    author = {Pierre Augier and Ashwin Vishnu Mohanan and Cyrille Bonamy},
    title = {{FluidDyn}: A Python Open-Source Framework for Research and Teaching in Fluid Dynamics
        by Simulations,  Experiments and Data Processing},
    journal = {Journal of Open Research Software}
    }

History
-------

The FluidDyn project started in 2015 as the evolution of two packages
previously developed by `Pierre Augier
<http://www.legi.grenoble-inp.fr/people/Pierre.Augier/>`_ (CNRS researcher at
`LEGI <http://www.legi.grenoble-inp.fr>`_, Grenoble): solveq2d (a numerical
code to solve fluid equations in a periodic two-dimensional space with a
pseudo-spectral method, developed at KTH, Stockholm) and fluidlab (a toolkit to
do experiments, developed in the G. K. Batchelor Fluid Dynamics Laboratory at
DAMTP, University of Cambridge).

*Keywords and ambitions*: fluid dynamics research with Python (>= 3.6),
modular, object-oriented, collaborative, tested and documented, free and
open-source software.

License
-------

FluidDyn is distributed under the CeCILL-B_ License, a BSD compatible
french license.

.. _CeCILL-B: http://www.cecill.info/index.en.html


