-
Hoping some of the experts here can help inform a decision to pursue a switch to Poetry for the Bokeh project. Bokeh is a multi-language project with a complicated build, so it's not entirely clear that the answer is "yes". Thanks in advance for any and all replies! BackgroundOur development workflow is heavily tilted toward conda environments. Developing on Bokeh requires several non-python dev-requirements, e.g. NodeJS, LLVM, OpenCV, etc. Getting set up to develop on Bokeh has been reduced to creating one conda env, which has greatly lowered the barrier to entry for new contributors. So our concerns are not really with using any of the virtual env or locking features of poetry, but really more on improving the packaging and "
We'd like a declarative solution like Some questions: Conda (build)Currently we use {% set data = load_setup_py_data() %} in our Question: I found some mentions of poetry and conda-env integrations, ability to turn of virtual env creation, etc. But are there any known integrations for wrt to BokehJSThe Typescript code for BokehJS has to be compiled to JavaScript, and also bundled in the package. We currently process custom arguments to python setup.py develop --build-js # build BokehJS from scratch
python setup.py develop --install-js # install an already-built BokehJS into the tree There is a little complication for Question: I've seen references to a Lastly if anyone has any other relevant comments to add, beyond just the questions above, they would be very appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 6 replies
-
Having a single source of truth would be great. The question is whether poetry is a good fit for library maintainers, especially in the data science space, who want to let their users work with as many other libraries as possible. This is distinct from app developers, who want to make sure that their app never breaks in production. Some issues I've run into when switching to poetry that might be relevant for you:
|
Beta Was this translation helpful? Give feedback.
-
I do not use conda myself, so I cannot comment with any authority on that front.
I do not think there exists, at present, any integrations to Based on your example and the definition of load_setup_py_data, I suspect the answer depends on what the execution context is when rendering Maybe you could also contribute something like
The build scripts can be tricky. Right now you cannot specify arguments to the build script during execution time. The rationale here is that it is expected to be a python script that can be configured to call other scripts as required. We do not have anything planned that might support passing in arguments either since it makes things a bit tricky for such cases when the package build is being executed by a PEP 517 frontend that is not poetry. There are "task runner" projects building on top of poetry like https://github.com/nat-n/poethepoet that might provide some options, but I would be cautious of adding projects that add poetry itself as a dependency to your dependency tree :) One final note that might be relevant if you go down the path of building support for cases like this, is the new plugin system. You can see the work in progress on #3733. Happy to provide any insights I can to help you along with your decision. |
Beta Was this translation helpful? Give feedback.
I do not use conda myself, so I cannot comment with any authority on that front.
I do not think there exists, at present, any integrations to
conda-build
. However I did find conda/conda#9133, which maybe relevant. Additionally there are projects like https://github.com/dojeda/poetry2conda that you could look at for related examples how conda and poetry might interact.Based on your example and the definition of load_setup_py_data, I s…