ME-ICA / tedana

TE-dependent analysis of multi-echo fMRI
https://tedana.readthedocs.io
GNU Lesser General Public License v2.1
161 stars 94 forks source link

suggested tedana conda environmentl yml #1111

Closed rcwelsh closed 1 month ago

rcwelsh commented 1 month ago

I posted this on neurostars and someone (Steven Meisler, Penn Med postdoc) suggested I drop on tedana github as well. I did not change the distribution, so not going to do a PR, but just open as an issue. I would highly suggest this going into the readdoc.

name: tedana_nox
dependencies:
  - python>=3.8
  - pip
  - mdp
  - numpy
  - scikit-learn
  - scipy
  - pip:
    - mapca
    - nilearn
    - nibabel
    - tedana
tsalo commented 1 month ago

The list of dependencies and required versions are in the pyproject.toml file, so I'd prefer not to include a separate list of requirements unless absolutely necessary. What about including information about creating an environment in the installation instructions instead? Something like:

conda create -n tedenv python=3.10 pip
conda activate tedenv
pip install tedana
rcwelsh commented 1 month ago

Then the readthedocs needs to be corrected, because the things I list above in the yml (except for mdp which is from an older version of tedana) are in the online instructions, those say the user will need to install the packages:

https://tedana.readthedocs.io/en/stable/installation.html

It will be helpful to end-users (such as me) for the documentation to reflect what is actually needed then.

I'd also suggest a downloadable yml as well as what you have above.

tsalo commented 1 month ago

Absolutely, we should remove the (possibly outdated) list of dependencies from the installation instructions and simply link to the pyproject.toml file for the list of dependencies and any version restrictions that might apply.

EDIT: I disagree that compiling an independent list would be beneficial. It introduces an opportunity for the different lists to drift from one another (e.g., if the devs forget to update the documentation- especially given that dependabot regularly opens pull requests that affect the pyproject.toml, but not other files).

rcwelsh commented 1 month ago

What ever it takes so that end-users can install and use without too much hassle.

Good software is only as good as the usability and success of the package is measured (in part) by the size of the end-user population. Removing as many barriers to use will keep it on that path. Not all users are python programmers.

handwerkerd commented 1 month ago

@rcwelsh We should definitely update the documentation, but I do want to confirm that the three lines @tsalo mentions above ( https://github.com/ME-ICA/tedana/issues/1111#issuecomment-2237279583 ) works for you and lets you install tedana. If you are installing tedana in an existing python environment, then just pip install tedana should be all someone needs. If so, that's what we'll put in the documentation.

End-users shouldn't need to worry about dependencies because pip should install any missing ones.

Do you have suggestions for making this simpler?