PennLINC / CuBIDS

Curation of BIDS (CuBIDS): A sanity-preserving software package for processing BIDS datasets.
https://cubids.readthedocs.io/
MIT License
19 stars 9 forks source link

Replace container support with conda-forge distribution #285

Open tsalo opened 8 months ago

tsalo commented 8 months ago

Per @mattcieslak, it may not be worth it to retain container support.

Stems from https://github.com/PennLINC/CuBIDS/pull/282#discussion_r1469873303.

We should try to get CuBIDS into conda-forge (https://conda-forge.org/), so that we can install it with its requirements (at least datalad, git, git-annex- not sure about bids-validator).

tsalo commented 8 months ago

What does container support give us? The main dependencies seem to be pyBIDS and scikit-learn (per @mattcieslak in a comment in #282), so the only thing I can think of is Datalad. Basically, do we need extra container support in order to work with Datalad in certain environments (e.g., HPCs). Also, what do the extra steps implemented within CuBIDS do? Can we just have a Dockerfile with datalad included instead?

EDIT: It looks like the extra steps implemented in CuBIDS are specifically for using CuBIDS outside of a container and then submitting the calls to a container. What container would people use? Just the BIDS Validator?

mattcieslak commented 8 months ago

The containers were useful for datalad and the bids validator. But Datalad and node are available via conda, so I think us supporting containerized datalad and bids-validator might be a bad use of our time. I can't think of a time recently that I've struggled to install datalad or bids-validator on a new computer, have you?

tsalo commented 8 months ago

The only times I had to use containerized versions of Datalad and the validator were on FIU's HPC, where downloading anything was a lot of trouble. I agree that dropping container support seems reasonable.

I wonder if we could include datalad and the validator in the pyproject.toml somehow? Datalad seems doable. Not sure about the validator though.

tsalo commented 8 months ago

According to Chris M (not going to drag him into the thread), it should be possible to include the BIDS validator as a dependency, but the bare bones Python-based validator is already on conda-forge as bids-validator, so the validator devs may need to add the JS version to conda-forge before we can include it as a dependency in CuBIDS.