Metadata-Version: 2.4
Name: icoco
Version: 2.0.4
Summary: ICoCo Python implementation
Home-page: https://github.com/cea-trust-platform/icoco-coupling-python
Author: R. Lenain
Author-email: roland.lenain@cea.fr
Project-URL: Bug Reports, https://github.com/cea-trust-platform/icoco-coupling-python/issues
Project-URL: Doc, https://icoco-python.readthedocs.io/en/latest/index.html
Project-URL: Source, https://github.com/cea-trust-platform/icoco-coupling-python
Keywords: couping,medcoupling,salome,c3po
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: License :: OSI Approved :: BSD License
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 :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.6, <4
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.19.5
Provides-Extra: mpi
Requires-Dist: mpi4py; extra == "mpi"
Provides-Extra: docs
Requires-Dist: sphinx-rtd-theme==1.1.1; extra == "docs"
Requires-Dist: sphinx>=5.0.0; extra == "docs"
Requires-Dist: myst-parser; extra == "docs"
Requires-Dist: numpydoc==1.1.0; extra == "docs"
Provides-Extra: test
Requires-Dist: pylint; extra == "test"
Requires-Dist: pytest>=7.0.1; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: pytest-html>=3.2.0; extra == "test"
Requires-Dist: pytest-xdist>=3.0.2; extra == "test"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# ICoCo API - Version 2 (02/2021)

**WARNING: This API should not be changed!!**

ICoCo stands for **Interface for Code Coupling**. This is a norm that a code may choose
to implement to facilitate its coupling with other ICoCo-compliant codes.

See https://github.com/cea-trust-platform/icoco-coupling for full reference.

Practically ICoCo is provided as a main abstract C++ class (ICoCo::Problem) that a code has
to derive to implement the norm. This can be only a partial implementation as some methods
are not relevant to all the codes (especially the I/O methods of the API).

This package implements the abstract class {class}`icoco.problem.Problem` in Python following the
specifications of the c++ version.

The Python implementation proposed is based on {mod}`medcoupling` implementation for fields and {mod}`mpi4py` for MPI
communication. Nevertheless, it is possible to use other implementation of such concepts within this
package.
