Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[question] Any plans to publish the ecflow Python module to PyPI? #24

Open
kinow opened this issue Nov 29, 2022 · 3 comments
Open

[question] Any plans to publish the ecflow Python module to PyPI? #24

kinow opened this issue Nov 29, 2022 · 3 comments
Labels
question Further information is requested

Comments

@kinow
Copy link
Contributor

kinow commented Nov 29, 2022

Hi,

I noticed that PyFlow has a dependency on ecflow, but instead of having the dependency listed in setup.py, it's using an environment.yml and Conda.

Would it be possible to publish the ecflow module to PyPI? This way it would be possible for contributors to use just pip to install everything (or just conda, without mixing both unnecessarily).

Thanks.
-Bruno

@kinow kinow changed the title Any plans to publish the ecFlow Python module to PyPI? [question] Any plans to publish the ecFlow Python module to PyPI? Nov 29, 2022
@kinow kinow changed the title [question] Any plans to publish the ecFlow Python module to PyPI? [question] Any plans to publish the ecflow Python module to PyPI? Nov 29, 2022
@iainrussell
Copy link
Member

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

@kinow
Copy link
Contributor Author

kinow commented Nov 29, 2022

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

Footnotes

  1. https://github.com/common-workflow-language/schema_salad/issues/568

@kinow
Copy link
Contributor Author

kinow commented Nov 30, 2022

Forgot to mention that I'd be happy to help with review/test/docs/etc 👍

@marcosbento marcosbento added the question Further information is requested label Jul 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants