This repository provides a Python repackaging of the latest version (9.7.0) of the MEDCoupling library via a Python file setup.py
and hence installable via pip
.
The initial purpose of this redistribution is to mainly use the remapping algorithms of MEDCoupling (see pymapping and paraview-mapping). Hence the following MEDCoupling functionalities are NOT supported
- MED file reading/writing via
MEDLoader
, so theMED-file
library is not required (MEDCOUPLING_MICROMED=ON
) - Parallel functionalities (
MEDCOUPLING_ENABLE_PARTITIONER=OFF
) - Renumbering (
MEDCOUPLING_ENABLE_RENUMBER=OFF
), which depends onboost
The version of this package (on PyPI) follows that of MEDCoupling. For MEDCoupling 9.7.0 for instance, we use
v9.7.0r1, v9.7.0r2, ...
to designate all PyPI releases based on MEDCoupling 9.7.0. The suffix r[x]
is included (abusively, since according to PEP 440 it is for post releases) for possible bug fixes coming from this package.
To install MEDCoupling, you can now simply do
pip install -U medcoupling
Binary wheels are available for 64-bit Windows (win_amd64
), Linux-like platforms (manylinux2014_x86_64
) and macOS (macosx_10_11_x86_64
).
To assure that MEDCoupling is well installed, try importing it in your Python
import medcoupling # should not raise error
Running python setup.py install
or pip install .
will
- Download the source code of MEDCoupling from salome-platform.org
- Build the C++ / Python libraries using
cmake
andswig
- Distribute and install generated files using
setuptools
The building process has been tested under Windows 10 with Visual Studio 2019, under Ubuntu 18.04 with gcc 7.4, under the manylinux2014 platform and under macOS 10.15.
To upload source and binary wheels to PyPI, type
# Source
python setup.py sdist
# Binary on Windows
python setup.py bdist_wheel --plat-name win_amd64
# Binary on Linux
python3 setup.py bdist_wheel --plat-name manylinux2014_x86_64
# Binary on macOS
python3 setup.py bdist_wheel --plat-name macosx_10_11_x86_64
# Upload to PyPI
python -m twine upload dist/*
MEDCoupling, and hence this repository are published under LGPL 2.1.
Tianyi Li [email protected]