-
Notifications
You must be signed in to change notification settings - Fork 35
Fluidimage submission #194
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
Comments
Editor in Chief checksHi there! Thank you for submitting your package for pyOpenSci review. Below are the basic checks that your package needs to pass to begin our review. If some of these are missing, we will ask you to work on them before the review process begins. Please check our Python packaging guide for more information on the elements
Editor commentsHello @paugier, and welcome to pyOpenSci! Sorry it took me so long to get back to you, I have been sitting on these checks for a while now. |
Hello @paugier I'm Chiara, following up as editor in chief during those summer months. |
Hello @paugier we are very sorry for making you wait so long! Thanks a lot for your patience! 🙏 |
Hello @paugier , I am glad to announce that we have two reviewers for Fluidimage. 🎉 @leahmendelson and @stefanv kindly accepted to take care of this submission: thank you so much to you both! 🙏 Leah, Stefan, before beginning your review, please fill out our pre-review survey. This helps us improve all aspects of our review and better understand our community. No personal data will be shared from this survey - it will only be used in an aggregated format by our Executive Director to improve our processes and programs.
The following resources will help you complete your review:
Please get in touch with any questions or concerns! This review is then due on November 10th. Thank you so much again to you both and to Pierre for his patience! Happy review to all of you! |
@leahmendelson, I almost forgot.... Do you mind confirming the github handle of your student, so I can add them to the review acknowledgment? Thank you! |
@emmylia321 is the student who will be co-reviewing with me |
Thank you Leah! And welcome @emmylia321! 👋 |
@emmylia321, @leahmendelson and @stefanv, just to tell you that I've just released a new version of fluidimage (0.5.4) with a small fix of a bug with a new version of Matplotlib. There are also wheels for Python 3.13, but in practice they should not be used before scikit-image 0.25 is really released (only 0.25.0rc1 is available right now). |
Hello dear reviewers, just checking if you had time to move forward with review. |
Hi @paugier! Thanks for your submission. Today, I worked on installing the package from source, and here's an initial set of notes I took while doing so: The README has a broken link to https://en.wikipedia.org/wiki/Particle_image_velocimetry_(PIV) CeCILL license is, of course fine and choice of the developers, but worth noting that it is more restrictive than the BSD license used by most of the scientific Python ecosystem. Package minimal dependency for scikit-image is very old; consider updating? See, e.g., SPEC0 Like with the license, Mercurial is fully the developers' choice, but may exclude significant part of ecosystem developers (I used to use Mercurial, but have no idea how to anymore 🤷♂️). Consider shipping example images in separate repository—they really blow up the repo size. See, e.g. Consider adding an INSTALL.md or similar with build-from-source instructions; can simply be a link to: https://fluidimage.readthedocs.io/en/latest/build-from-source.html. The installation instructions suggest that
When compiling, lots of Pythran warnings, may be worth reporting to Serge:
Yay, test suite passed! Some warnings to resolve:
Will pick up from here soon! |
@stefanv thanks for looking at this. I'm going to answer in more details and fix things, but it is clear that PDM did not do what it should do in particular because you run it from a virtual env used for something else. I guess things are going to work much better if you don't do that. PDM should create a dedicated environment in /.../fluidimage/.venv |
Thanks @stefanv for your notes. I worked on a merge request to improve the situation (https://foss.heptapod.net/fluiddyn/fluidimage/-/merge_requests/116) and opened two issues related to two of your remarks.
CeCILL is equivalent (or better in terms of European laws) than GPL. I wonder how it would be possible than users of a software like fluidimage could be restricted in practice by GPL. However, I asked to the developers if they agree to change to BSD.
I updated few minimal dependencies in https://foss.heptapod.net/fluiddyn/fluidimage/-/merge_requests/116/diffs?commit_id=17347a3dca48900011283f2a868b177490d83e52
I have to admit that I doubt that Mercurial could be a barrier for anyone really wanting to contribute to Fluidimage.
I tend to think that people knowing Git will be able after 2 minutes of reading to run hg clone ...
cd fluidimage
hg topic my-great-topic-name
hg status
hg commit -m "..."
hg push More generally, I really think that too much uniformity in tech is bad. For version control, the Git quasi monopoly for open-source is bad. For some aspects, Git is nice, but for some others, it is really bad and old. For example, it is really unfortunate that people cannot safely share history edition and need to push with Therefore, I consider that it is part of my research tasks to work on one of the alternatives for version control. Mercurial, still used internally at Meta (actually a fork), Google (only the client) and Mozilla, is interesting.
This is indeed interesting. A newly cloned repo (cloned in ~ 5 s so it is still fine) has a size of a bit less than 100MB, which is too much. I opened an issue on this https://foss.heptapod.net/fluiddyn/fluidimage/-/issues/42
This is really unfortunate that you experienced such problems! Especially because we use good modern tools and everything works well for us with PDM (and also Pixi). I updated our documentation to avoid your install issue in https://foss.heptapod.net/fluiddyn/fluidimage/-/merge_requests/116/diffs?commit_id=08b63f2c392d4c5a1e2999f527b2531929cbc568
With a virtual env correctly setup with PDM, we also have few warnings related to Pythran, but not the same as you! Anyway, I'm going to report this in https://github.com/serge-sans-paille/pythran/
I'm going to look at that.
All these issues are related to your broken environment. With a correct environment created with PDM, Fluidimage tests pass without warning. |
Great, thanks @paugier! I will rebuild a dedicated virtual environment and re-test. The new documentation says:
I think a lot of people start from an existing environment, and after decades of using virtual envs of never tried to get out of one! There is no Re: the hg and license comments, those were merely observations / data points; totally fine for the project to make opinionated choices, of course. I understand the motivation for libre licenses; one practical issue in our ecosystem is that code cannot flow from GPL packages into BSD libraries. E.g., say you had a good thin-plate splines implementation that we wanted to adopt into scikit-image. But, I'm not pushing you to change the license. I want to make very clear that my goal with this review is to help the project as much as I can, and to provide some ecosystem context where useful. None of the comments are meant as criticism! |
Hello @leahmendelson @emmylia321 @stefanv , I wonder if we can have the reviews in before Christmas? Thank you so much for volunteering your time for pyOpenSci. |
Hello everybody and happy new year to all of you! Thank you so much for your work! |
Hello!
Sorry, for the late response. I believe I can finish the review before
January 19th. If that works well for you, I will send it in then.
Best,
Emmelia Hoorn
…On Sat, Jan 11, 2025 at 5:48 AM Chiara Marmo ***@***.***> wrote:
Hello everybody and happy new year to all of you!
I hope you enjoyed some holiday break, we are now back to business and I
wondering if we can set a timeline for the reviews.
@leahmendelson <https://github.com/leahmendelson> @emmylia321
<https://github.com/emmylia321> @stefanv <https://github.com/stefanv> do
you mind letting me know if you are able to finalize your review?
Otherwise I can also look for someone else... everyone is busy and this is
a volunteer job, so I totally understand if you have issues in moving
forward. Please just let us know so we can take the necessary actions.
Thank you so much for your work!
—
Reply to this email directly, view it on GitHub
<#194 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BICG5LTTW64M5XPUPPT6KQL2KEOMVAVCNFSM6AAAAABIQ34K2WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKOBVGI3TKMJVHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Sorry for the delays - we should be able to close this out within this and next week. |
Package Review (updated 4/2/25)Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
Readme file requirements
The README should include, from top to bottom:
NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)
UsabilityReviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole.
Functionality
Final approval (post-review)
Estimated hours spent reviewing:
|
Hello! Let us know if you have some ideas about a timeline for your review. Thank you so much for your time! |
@cmarmo @paugier Apologies again for the delays. I've updated my previous partial review comment above and am going to call this round of review (from myself and @emmylia321) complete enough. Looking forward to seeing the revisions. |
Thank you @leahmendelson and @emmylia321 for all your work! I hope the second one will come soon. |
Hello everybody, hope you are all doing well. |
@paugier , unfortunately @stefanv could not finalize his review because of too much previous engagements. |
Hi folks. I've spent a few hours looking at the project and it looks interesting! I don't have enough for a full review yet (I'll get there) but I wanted to mention that I'm having significant problems installing fluidimage using pdm (I've never used pdm before so this may be a user error). I'm trying to follow this section/ When I run the command Details
$ PDM_IGNORE_ACTIVE_VENV=1 pdm sync --no-self --clean WARNING: Project requires a python version of >=3.9, The virtualenv is being created for you as it cannot be matched to the right version. INFO: python.use_venv is on, creating a virtualenv for this project... Virtualenv is created successfully at /home/kai/Projects/fluidimage/.venv Synchronizing working set with resolved packages: 194 to add, 0 to update, 0 to remove ✔ Install pip 24.1.2 successful ✔ Install setuptools 71.1.0 successful ✔ Install aiosignal 1.3.1 successful ✔ Install cloudpickle 3.0.0 successful ✔ Install autopep8 2.3.1 successful ✔ Install defusedxml 0.7.1 successful ✔ Install dill 0.3.8 successful ✔ Install distro 1.9.0 successful ✔ Install attrs 23.2.0 successful ✔ Install async-lru 2.0.4 successful ✔ Install certifi 2024.7.4 successful ✔ Install debugpy 1.8.2 successful ✔ Install fonttools 4.53.1 successful ✔ Install docutils 0.21.2 successful ✔ Install arrow 1.3.0 successful ✔ Install aiohttp 3.9.5 successful ✔ Install decorator 5.1.1 successful ✔ Install frozenlist 1.4.1 successful ✔ Install executing 2.0.1 successful ✔ Install beniget 0.4.2.post1 successful ✔ Install asttokens 2.4.1 successful ✔ Install cycler 0.12.1 successful ✔ Install comm 0.2.2 successful ✔ Install alabaster 0.7.16 successful ✔ Install anyio 4.4.0 successful ✔ Install click 8.1.7 successful ✔ Install bleach 6.1.0 successful ✔ Install argon2-cffi-bindings 21.2.0 successful ✔ Install beautifulsoup4 4.12.3 successful ✔ Install accessible-pygments 0.0.5 successful ✔ Install astroid 3.2.4 successful ✔ Install argon2-cffi 23.1.0 successful ✔ Install dask 2024.7.1 successful ✔ Install black 24.4.2 successful ✔ Install charset-normalizer 3.3.2 successful ✖ Install h5py 3.11.0 failed ✔ Install coverage 7.6.0 successful ✔ Install babel 2.15.0 successful ✖ Install contourpy 1.2.1 failed ✖ Install cffi 1.16.0 failed ✔ Install httpcore 1.0.5 successful ✔ Install fqdn 1.5.1 successful ✔ Install jsonschema-specifications 2023.12.1 successful ✔ Install fluiddyn 0.6.4 successful ✔ Install h5netcdf 1.3.0 successful ✔ Install importlib-metadata 8.2.0 successful ✔ Install httpx 0.27.0 successful ✔ Install idna 3.7 successful ✔ Install fsspec 2024.6.1 successful ✔ Install jsonschema 4.23.0 successful ✔ Install gast 0.5.5 successful ✔ Install imagesize 1.4.1 successful ✔ Install jupyter-cache 1.0.0 successful ✔ Install gprof2dot 2024.6.6 successful ✔ Install fastjsonschema 2.20.0 successful ✔ Install jupyter-client 8.6.2 successful ✔ Install imageio 2.34.2 successful ✔ Install h11 0.14.0 successful ✔ Install jupyter-core 5.7.2 successful ✔ Install jinja2 3.1.4 successful ✔ Install markdown-it-py 3.0.0 successful ✔ Install iniconfig 2.0.0 successful ✔ Install jupyterlab 4.2.4 successful ✔ Install jupyter-events 0.10.0 successful ✔ Install jupyterlab-server 2.27.3 successful ✔ Install jupyter-server 2.14.2 successful ✔ Install jupyter-lsp 2.2.5 successful ✔ Install jupytext 1.16.3 successful ✔ Install ipykernel 6.29.5 successful ✔ Install ipython 8.18.1 successful Installing ipdb 0.13.13... Downloading... 100% ✔ Install ipdb 0.13.13 successful ✔ Install isoduration 20.11.0 successful ✔ Install isort 5.13.2 successful ✔ Install jedi 0.19.1 successful ✔ Install json5 0.9.25 successful ✔ Install jsonpointer 3.0.0 successful ✔ Install mdurl 0.1.2 successful ✔ Install mdit-py-plugins 0.4.1 successful ✔ Install markupsafe 2.1.5 successful ✔ Install jupyterlab-myst 2.4.2 successful ✔ Install networkx 3.2.1 successful ✔ Install jupyterlab-pygments 0.3.0 successful ✔ Install overrides 7.7.0 successful ✔ Install jupyter-server-terminals 0.5.3 successful ✔ Install lazy-loader 0.4 successful ✔ Install meson 1.5.0 successful ✔ Install matplotlib-inline 0.1.7 successful ✔ Install mccabe 0.7.0 successful ✖ Install matplotlib 3.9.1 failed ✖ Install numpy 2.0.1 failed ✔ Install mistune 3.0.2 successful ✔ Install msgpack 1.0.8 successful ✖ Install kiwisolver 1.4.5 failed ✖ Install pandas 2.2.2 failed ✔ Install locket 1.0.0 successful ✔ Install linkify-it-py 2.0.3 successful ✔ Install prometheus-client 0.20.0 successful ✔ Install ply 3.11 successful ✔ Install pure-eval 0.2.3 successful ✔ Install myst-nb 1.1.1 successful ✔ Install mypy-extensions 1.0.0 successful ✔ Install pycparser 2.22 successful ✔ Install meson-python 0.16.0 successful ✖ Install pyfftw 0.14.0 failed ✔ Install ptyprocess 0.7.0 successful ✔ Install multidict 6.0.5 successful ✔ Install nbclient 0.10.0 successful ✔ Install nbconvert 7.16.4 successful ✔ Install nbformat 5.10.4 successful ✔ Install nest-asyncio 1.6.0 successful ✔ Install myst-parser 3.0.1 successful ✔ Install pyparsing 3.1.2 successful ✔ Install ninja 1.11.1.1 successful ✔ Install notebook-shim 0.2.4 successful ✔ Install pygments 2.18.0 successful ✔ Install numpydoc 1.7.0 successful ✔ Install opencv-python 4.10.0.84 successful ✔ Install outcome 1.3.0.post0 successful ✖ Install pyzmq 26.0.3 failed ✔ Install packaging 24.1 successful ✔ Install pillow 10.4.0 successful ✔ Install pandocfilters 1.5.1 successful ✔ Install parso 0.8.4 successful ✔ Install referencing 0.35.1 successful ✔ Install pytest-asyncio 0.23.8 successful ✔ Install partd 1.4.2 successful ✖ Install scipy 1.13.1 failed ✔ Install pathspec 0.12.1 successful ✔ Install pytest 8.3.1 successful ✔ Install pexpect 4.9.0 successful ✔ Install pims 0.7 successful ✔ Install platformdirs 4.2.2 successful ✔ Install pylint 3.2.6 successful ✔ Install pluggy 1.5.0 successful ✔ Install psutil 6.0.0 successful ✔ Install pycodestyle 2.12.0 successful ✔ Install sortedcontainers 2.4.0 successful ✔ Install prompt-toolkit 3.0.47 successful ✔ Install rpds-py 0.19.1 successful ✔ Install pytest-cov 5.0.0 successful ✔ Install python-dateutil 2.9.0.post0 successful ✔ Install six 1.16.0 successful ✔ Install pyproject-metadata 0.8.0 successful ✔ Install pytz 2024.1 successful ✔ Install pydata-sphinx-theme 0.15.4 successful ✔ Install sphinxcontrib-htmlhelp 2.0.6 successful ✔ Install tabulate 0.9.0 successful ✔ Install python-json-logger 2.0.7 successful ✔ Install pyinstrument 4.6.2 successful ✔ Install textual 0.73.0 successful ✔ Install sphinx-copybutton 0.5.2 successful ✔ Install tomlkit 0.13.0 successful ✔ Install rich 13.7.1 successful ✔ Install pythran 0.16.1 successful ✔ Install pyyaml 6.0.1 successful ✔ Install trio 0.26.0 successful ✔ Install requests 2.32.3 successful ✔ Install sniffio 1.3.1 successful ✔ Install stack-data 0.6.3 successful ✔ Install rfc3339-validator 0.1.4 successful ✔ Install rfc3986-validator 0.1.1 successful ✔ Install sphinxcontrib-applehelp 1.0.8 successful ✔ Install terminado 0.18.1 successful ✖ Install scikit-image 0.24.0 failed ✔ Install send2trash 1.8.3 successful ✔ Install simpleeval 0.9.13 successful ✔ Install sphinxcontrib-serializinghtml 1.1.10 successful ✔ Install slicerator 1.1.0 successful ✔ Install snowballstemmer 2.2.0 successful ✔ Install sqlalchemy 2.0.31 successful ✔ Install soupsieve 2.5 successful ✔ Install wcwidth 0.2.13 successful ✔ Install sphinx 7.4.7 successful ✔ Install websocket-client 1.8.0 successful ✔ Install toolz 0.12.1 successful ✔ Install traitlets 5.14.3 successful ✔ Install sphinxcontrib-devhelp 1.0.6 successful ✔ Install transonic 0.7.0 successful ✔ Install sphinxcontrib-jsmath 1.0.1 successful ✔ Install textual-dev 1.5.1 successful ✔ Install zipp 3.19.2 successful ✔ Install tifffile 2024.7.24 successful ✔ Install tinycss2 1.3.0 successful ✔ Install typing-extensions 4.12.2 successful ✔ Install sphinxcontrib-qthelp 1.0.8 successful ✔ Install uc-micro-py 1.0.3 successful ✔ Install tornado 6.4.1 successful ✔ Install uri-template 1.3.0 successful ✔ Install webencodings 0.5.1 successful ✔ Install webcolors 24.6.0 successful ✔ Install urllib3 2.2.2 successful ✔ Install types-python-dateutil 2.9.0.20240316 successful ✔ Install tzdata 2024.1 successful ✔ Install yarl 1.9.4 successful ✖ Install pyzmq 26.0.3 failed ✖ Install kiwisolver 1.4.5 failed ✖ Install h5py 3.11.0 failed ✖ Install pyfftw 0.14.0 failed ✖ Install cffi 1.16.0 failed ✖ Install matplotlib 3.9.1 failed ✖ Install scipy 1.13.1 failed ✖ Install pandas 2.2.2 failed ✖ Install scikit-image 0.24.0 failed ✖ Install numpy 2.0.1 failed ✖ Install contourpy 1.2.1 failed ERRORS: add pyzmq failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 402, in _call_hook raise BackendUnavailable( ...<4 lines>... ) pyproject_hooks._impl.BackendUnavailable: Cannot import 'scikit_build_core.build' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 86, in wrapper raise BuildError(str(e)) from e pdm.exceptions.BuildError: Cannot import 'scikit_build_core.build' add kiwisolver failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Showing the last 10 lines of the build output: ) ^ File "/home/kai/Projects/fluidimage/.venv/lib/python3.13/site-packages/setuptools/build_meta.py", line 397, in _build_with_temp_dir self.run_setup() ~~~~~~~~~~~~~~^^ File "/home/kai/Projects/fluidimage/.venv/lib/python3.13/site-packages/setuptools/build_meta.py", line 313, in run_setup exec(code, locals()) ~~~~^^^^^^^^^^^^^^^^ File "<string>", line 15, in <module> RuntimeError: Missing setup required dependencies: cppy. Installing through pip as recommended ensure one never hits this issue. add h5py failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Module 'Cython' is missing, please make sure it is specified in the 'build-system.requires' section. If it is not possible, add it to the project and use '--no-isolation' option. Showing the last 10 lines of the build output: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "/home/kai/Projects/fluidimage/.venv/lib/python3.13/site-packages/setuptools/dist.py", line 956, in run_command super().run_command(command) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "/home/kai/Projects/fluidimage/.venv/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 989, in run_command cmd_obj.run() ~~~~~~~~~~~^^ File "/tmp/pdm-build-6tkklu1y/setup_build.py", line 128, in run from Cython import __version__ as cython_version ModuleNotFoundError: No module named 'Cython' add pyfftw failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Module 'numpy' is missing, please make sure it is specified in the 'build-system.requires' section. If it is not possible, add it to the project and use '--no-isolation' option. Showing the last 10 lines of the build output: ~~~~~~~~~~~~~~^^^^^^ File "/home/kai/Projects/fluidimage/.venv/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run self.build_extensions() ~~~~~~~~~~~~~~~~~~~~~^^ File "<string>", line 640, in build_extensions File "<string>", line 588, in make_sniffer File "<string>", line 572, in __init__ File "<string>", line 171, in __init__ File "<string>", line 90, in get_include_dirs ModuleNotFoundError: No module named 'numpy' add cffi failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Showing the last 10 lines of the build output: running build running build_py running build_ext building '_cffi_backend' extension cc -pthread -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -fPIC -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/home/kai/Projects/fluidimage/.venv/include -I/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/include/python3.13 -c src/c/_cffi_backend.c -o build/temp.linux-x86_64-cpython-313/src/c/_cffi_backend.o src/c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory 15 | #include <ffi.h> | ^~~~~~~ compilation terminated. error: command '/usr/bin/cc' failed with exit code 1 add matplotlib failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Showing the last 10 lines of the build output: The Meson build system Version: 1.5.0 Source dir: /tmp/pdm-build-31lnetgt Build dir: /tmp/pdm-build-31lnetgt/.mesonpy-16mw_iqw Build type: native build Program python3 found: YES (/home/kai/Projects/fluidimage/.venv/bin/python3) ../meson.build:4:11: ERROR: Command `/home/kai/Projects/fluidimage/.venv/bin/python3 -m setuptools_scm` failed with status 1. A full log can be found at /tmp/pdm-build-31lnetgt/.mesonpy-16mw_iqw/meson-logs/meson-log.txt add scipy failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Showing the last 10 lines of the build output: C linker for the host machine: cc ld.bfd 2.42 C++ compiler for the host machine: c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0") C++ linker for the host machine: c++ ld.bfd 2.42 ../meson.build:1:0: ERROR: Unknown compiler(s): [['cython'], ['cython3']] The following exception(s) were encountered: Running `cython -V` gave "[Errno 2] No such file or directory: 'cython'" Running `cython3 -V` gave "[Errno 2] No such file or directory: 'cython3'" A full log can be found at /tmp/pdm-build-4urbyc8e/.mesonpy-zik1ecsu/meson-logs/meson-log.txt add pandas failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Showing the last 10 lines of the build output: + meson setup /tmp/pdm-build-gkkjcf6w /tmp/pdm-build-gkkjcf6w/.mesonpy-nuc2w_2e -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=/tmp/pdm-build-gkkjcf6w/.mesonpy-nuc2w_2e/meson-python-native-file.ini The Meson build system Version: 1.5.0 Source dir: /tmp/pdm-build-gkkjcf6w Build dir: /tmp/pdm-build-gkkjcf6w/.mesonpy-nuc2w_2e Build type: native build ../meson.build:5:13: ERROR: Command `/home/kai/Projects/fluidimage/.venv/bin/python /tmp/pdm-build-gkkjcf6w/generate_version.py --print` failed with status 1. A full log can be found at /tmp/pdm-build-gkkjcf6w/.mesonpy-nuc2w_2e/meson-logs/meson-log.txt add scikit-image failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Showing the last 10 lines of the build output: Host machine cpu family: x86_64 Host machine cpu: x86_64 Compiler for C supports arguments -Wno-unused-function: YES Library m found: YES Checking if "-Wl,--version-script" : links: YES Program cython found: NO ../meson.build:59:9: ERROR: Program 'cython' not found or not executable A full log can be found at /tmp/pdm-build-worsyebe/.mesonpy-btmpe_pn/meson-logs/meson-log.txt add numpy failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Showing the last 10 lines of the build output: C linker for the host machine: cc ld.bfd 2.42 C++ compiler for the host machine: c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0") C++ linker for the host machine: c++ ld.bfd 2.42 ../meson.build:1:0: ERROR: Unknown compiler(s): [['cython'], ['cython3']] The following exception(s) were encountered: Running `cython -V` gave "[Errno 2] No such file or directory: 'cython'" Running `cython3 -V` gave "[Errno 2] No such file or directory: 'cython3'" A full log can be found at /tmp/pdm-build-d5qunklm/.mesonpy-sf25hauo/meson-logs/meson-log.txt add contourpy failed: Traceback (most recent call last): File "/home/kai/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/synchronizers.py", line 29, in install_candidate self.manager.install(can) ~~~~~~~~~~~~~~~~~~~~^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/installers/manager.py", line 33, in install prepared.build(), ~~~~~~~~~~~~~~^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/models/candidates.py", line 417, in build self._cached = Path(builder.build(build_dir, metadata_directory=self._metadata_dir)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 84, in wrapper return func(*args, **kwargs) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/wheel.py", line 26, in build filename = self._hook.build_wheel(out_dir, self.config_settings, metadata_directory) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 256, in build_wheel return self._call_hook( ~~~~~~~~~~~~~~~^ "build_wheel", ^^^^^^^^^^^^^^ ...<4 lines>... }, ^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook self._subprocess_runner( ~~~~~~~~~~~~~~~~~~~~~~~^ , ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cwd=self.source_dir, ^^^^^^^^^^^^^^^^^^^^ extra_environ=extra_environ, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 281, in subprocess_runner return log_subprocessor(cmd, cwd, extra_environ=env) File "/home/kai/.local/share/uv/tools/pdm/lib/python3.13/site-packages/pdm/builders/base.py", line 128, in log_subprocessor raise build_error(e) from None pdm.exceptions.BuildError: Build backend raised error: Showing the last 10 lines of the build output: Host machine cpu: x86_64 Program python found: YES (/home/kai/Projects/fluidimage/.venv/bin/python) Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1 pybind11-config found: NO Found CMake: /usr/bin/cmake (3.28.3) Run-time dependency pybind11 found: NO (tried pkgconfig, config-tool and cmake) ../meson.build:23:15: ERROR: Dependency "pybind11" not found, tried pkgconfig, config-tool and cmake A full log can be found at /tmp/pdm-build-rxzar10f/.mesonpy-57djard7/meson-logs/meson-log.txt 0:04:56 ✖ Some package operations failed. 11/11 See /home/kai/.local/state/pdm/log/pdm-install-79cbyo58.log for detailed debug log. [InstallationError]: Some package operations failed. WARNING: Add '-v' to see the detailed traceback I've tried installing the packages inside the virtual environment (I don't want them installed globally), however then pdm removes them during the sync. Does this mean that I have to install them globally for pdm to find them? |
Thanks @Kai-Striega for looking at this! PDM will never install things globally. No need to use I don't know why PDM tries to build so many things. Numpy in particular. It might be because the lock file was a bit old and you use Python 3.13. I relocked to update the lock file so it might work better now. You can try again with
I also update the documentation on building from source with PDM. |
Thanks @paugier. I've been able to build fluidimage and get the tests to pass. The problem with this is that I'm now testing fluidimage 0.5.4, not 0.5.3 - the version submitted for review. I'm not sure if that's going to be an issue (the code itself looks mostly the same). With regards to a timeline for the review. I've got a few notes, but I'll need some time to actually collect them into a review. I'll try to get the draft done next weekend, and submit a full review the weekend after that. However, given how large the project is, it may take me an extra weekend. |
Uh oh!
There was an error while loading. Please reload this page.
Submitting Author: Pierre Augier (@paugier)
All current maintainers: (@paugier)
Package Name: Fluidimage
One-Line Description of Package: "Fluidimage: a Python framework to study flows from images"
Repository Link: https://foss.heptapod.net/fluiddyn/fluidimage
Version submitted: 0.5.3
EIC: @Batalex
Editor: @cmarmo
Reviewer 1: @leahmendelson
Reviewer 2: @Kai-Striega
Reviewer 3: @emmylia321
Archive: TBD
JOSS DOI: TBD
Version accepted: TBD
Date accepted (month/day/year): TBD
Code of Conduct & Commitment to Maintain Package
Description
FluidImage is a free and open-source Python framework to process images of fluids (in particular with PIV), and analyse the resulting fields.
Fluidimage has now grown into a clean software reimplementing in modern Python algorithms and ideas taken from UVmat, OpenPIV, PIVlab and PIVmat with a focus on performance, usability and maintanability. However, Fluidimage is not restricted to Particle Image Velocimetry computations (PIV, i.e. displacements of pattern obtained by correlations of cropped images) and can be used to (i) display and pre-process images, (ii) compute displacement or velocity fields with PIV, Background-Oriented Schlieren (BOS) and optical flow, and (iii) analyze and display vector and scalar fields.
Scope
Please indicate which category or categories.
Check out our package scope page to learn more about our
scope. (If you are unsure of which category you fit, we suggest you make a pre-submission inquiry):
For all submissions, explain how and why the package falls under the categories you indicated above. In your explanation, please address the following points (briefly, 1-2 sentences for each):
Who is the target audience and what are scientific applications of this package?
The target audience is students, scientists, researchers and engineers working with images of fluids. Fluidimage can be used to process images, compute vectors and scalar fields and analyze them.
Are there other Python packages that accomplish the same thing? If so, how does yours differ?
OpenPIV can be used to compute vectors with various PIV algorithms. Fluidimage is not restricted to PIV. It has a very different API than OpenPIV. Fluidimage has more focus on performance, with in particular compiled extensions produced with Transonic-Pythran and an asynchronous/parallel framework to describe "topologies" of computations and compute then in parallel.
Technical checks
For details about the pyOpenSci packaging requirements, see our packaging guide. Confirm each of the following by checking the box. This package:
Publication Options
I tend to think that Fluidimage is not yet ready for a paper in JOSS. We need more time to get a stronger community and to implement few more features before submitting to JOSS.
JOSS Checks
paper.md
matching JOSS's requirements with a high-level description in the package root or ininst/
.Note: JOSS accepts our review as theirs. You will NOT need to go through another full review. JOSS will only review your paper.md file. Be sure to link to this pyOpenSci issue when a JOSS issue is opened for your package. Also be sure to tell the JOSS editor that this is a pyOpenSci reviewed package once you reach this step.
Are you OK with Reviewers Submitting Issues and/or pull requests to your Repo Directly?
This option will allow reviewers to open smaller issues that can then be linked to PR's rather than submitting a more dense text based review. It will also allow you to demonstrate addressing the issue via PR links.
Note that Fluidimage development is done on https://foss.heptapod.net/fluiddyn/fluidimage and that issues have to be filled on this website. Pull requests are of course very welcome. Note that with Heptapod/Mercurial, one should not fork the repo to submit a PR (see https://fluiddyn.readthedocs.io/en/latest/mercurial_heptapod.html).
Confirm each of the following by checking the box.
Please fill out our survey
submission and improve our peer review process. We will also ask our reviewers
and editors to fill this out.
P.S. Have feedback/comments about our review process? Leave a comment here
Editor and Review Templates
The editor template can be found here.
The review template can be found here.
The text was updated successfully, but these errors were encountered: