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

An idea - Drop casacore #167

Closed
wants to merge 3 commits into from
Closed

An idea - Drop casacore #167

wants to merge 3 commits into from

Conversation

AlecThomson
Copy link
Collaborator

Python 3.8 is reaching EOL.

As confirmed in casacore/python-casacore#251, python-casacore and modular casa6 (casatasks and casatools) are not compatible. As also suggested the linked issue, one option could be to just use the underlying casacore functionality from casatools.

The other option would be to just fully containerise casa. I'm just opening this PR to see what the tests think and bounce some ideas.

@AlecThomson
Copy link
Collaborator Author

Grr, ok it looks like the API is quite different.

https://casadocs.readthedocs.io/en/v6.5.2/api/tt/casatools.table.html#casatools.table

Table operations require an object to be instantiated, and don't prove a context manager e.g.

from casatools.table import table
tb = table()
tb.open("some_file.ms")
# Do some stuff
...
tb.close()

Not a huge fan. Maybe there's something slick to be done with a custom context manager. Needs some extra though

@tjgalvin
Copy link
Owner

I have been switching camps on this - whether to try to use a container of casa and keep python-casacore, or keep the casatasks and figure out how to get to the python-casacore.

I think long term though the containerise casa and keep python-casacore is probably the safer bet. There are a couple of reasons:

  • casatasks does not seem to be updated regularly to newer versions of python, while python-casacore is
  • other applications flint uses have already been set up to use containers, so there its not like it is new territory
  • while using the python functions are nicee, ultimately we are not using anything returned from them. That is to say they are just a dumb bucket we through arguments into, and the returns (if any) are not handled
  • I think I'd rather have the python-casacore in all its glory around for other functions/utilities to build from. While I am only using the table iterface at the moment, there are definitely other components that I think could be useful (taql for instance)

Thoughts?

@tjgalvin
Copy link
Owner

I have gone down the casa in a container route, and largely merged this and other fixes together in #170 .

Will close this request for the moment. Thanks bigly for helping think through the problem~

@tjgalvin tjgalvin closed this Sep 11, 2024
@AlecThomson AlecThomson added the wontfix This will not be worked on label Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants