pip install dune-common?
What about generating a pip package of dune python bindings?
The challenge is to also build the C++ part of dune. There are examples that do that as well.
I opened a MR to keep track about the current progress.
Some references:
How Petc4Py does it: https://gitlab.com/petsc/petsc/-/blob/master/setup.py
A simple example for pybind11 projects: https://github.com/pybind/python_example/blob/master/setup.py
And in general: https://packaging.python.org/tutorials/packaging-projects/
Show runpaths in library
readelf -d ~/testvenv/lib/python3.8/site-packages/dune/common/_common.cpython-38-x86_64-linux-gnu.so | grep PATH
Possible testing procedure:
# first clean up any remaining source distribution from modules
./dune-common/bin/dunecontrol exec python ~/DUNEPIP/dune-common/bin/pythonpackage.py -c
# build packages for all modules in current directory with date dependent version number
./dune-common/bin/dunecontrol exec python ~/DUNEPIP/dune-common/bin/pythonpackage.py -s --version 2.8.DATEa0
# move all generated source distributions to '$HOME/dist'
mv */dist/* $HOME/dist
# test locally (in empty env)
pip install -v --log logfile --find-links file://$HOME/dist --no-cache --upgrade dune-fem==2.8.20201017a0 >& install.out
# upload
python -m twine upload --repository gitlab $HOME/dist/*
needs gitlab
entry to ~/.pypirc
for the last step
Edited by Andreas Dedner