Open kinow opened 2 years ago
Hi @kinow, ecFlow's Python bindings are not a separate Python package, but they are generated by boost-python from the C++ code. Therefore they are built specifically for different versions of Python and I'm not sure if it's possible to have them as a PyPi package. This is a situation we may want to change in the future, but for now this is how it is at the moment, so PyFlow is doing the right thing - it needs ecFlow from conda. Cheers, Iain
Hi @iainrussell ,
I don't know boost or boost-python well enough. But I think it should be possible to build it for multiple platforms.
I found a post that describes what a process that includes several steps that may be similar to what is used to prepare the Conda package, I think: https://thomastrapp.com/posts/building-a-pypi-package-for-a-modern-cpp-project//
Then, for building it against multiple platforms, maybe cibuildwheel could be used. It is used to build PyZMQ, that publishes the platform specific wheels for their Python binding for zeromq: https://pypi.org/project/pyzmq/#files
PyZMQ also uses Circle CI on a free tier, I think (quite sure they have been using it for a long time. CircleCI offers different platforms to build the packages before uploading to PyPI ^1). So technically I believe it's doable, but I understand if there is no interest and, or, bandwidth to try that.
Cheers, Bruno
Forgot to mention that I'd be happy to help with review/test/docs/etc :+1:
Hi,
I noticed that PyFlow has a dependency on
ecflow
, but instead of having the dependency listed insetup.py
, it's using anenvironment.yml
and Conda.Would it be possible to publish the
ecflow
module to PyPI? This way it would be possible for contributors to use justpip
to install everything (or just conda, without mixing both unnecessarily).Thanks. -Bruno