Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #21 +/- ##
==========================================
+ Coverage 32.82% 34.39% +1.57%
==========================================
Files 6 8 +2
Lines 390 407 +17
Branches 70 70
==========================================
+ Hits 128 140 +12
- Misses 258 263 +5
Partials 4 4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
I don't see the point of having casatools a dependency and not an optional dependency if it is used in a single method. This is why I included the try except block here: pyvisgrid/src/pyvisgrid/core/gridder.py Lines 13 to 18 in ba3950f This checks whether casatools is available and raises a pyvisgrid/src/pyvisgrid/core/gridder.py Lines 457 to 462 in ba3950f If users want casa support, they can just install the |
The gridding of measurement sets is a central feature of the package since it is one of the most common ways to save visibility data. I think that we shouldn't use optional dependencies if important features need the contained packages. In case of something like radiotools it is sensible to include casatools as optional since the package contains many modules which do not need it. But in this case one of the three main methods to use for gridding requires it. |
|
Additional installation steps? Give me a break. is an additional installation step. It simply does not make sense for a package that is used in exactly one single method, and that restricts the python version compatibility, to be a dependency if we could just add it as an extra. Besides, the main reason pyvisgrid exists is still pyvisgen. |
The base package installation does not include it, which means that prior knowledge of the additional package dependency group
On the "one method" point, I think it's a bit broader: The Gridder class has four non-internal methods beyond plotting and three of those are classmethods, of which one is for casa. |
That is exactly what the docs and the README are for. Again, this is something you explain in the docs, so users can choose what version to install with what extras. And adding
And two of which are not. So I do not see your point here.
Yes, but for py313, for example, it is not. So it is restrictive. |
pyvisgrid.core.gridder.Gridderclass as a plugin compatible with pyvisgen, see also Add plugin support to pyvisgen pyvisgen#108casaoptional dependency group)