datalad / datalad-neuroimaging

DataLad extension for neuroimaging research
http://datalad.org
Other
17 stars 14 forks source link

Bring up to speed with `datalad-extension-template` #99

Closed jsheunis closed 2 years ago

jsheunis commented 2 years ago

See: https://github.com/datalad/datalad-extension-template

Since this extension was created before more recent updates to the extension template, some aspects of the repo could be outdated.

mslw commented 2 years ago

I started looking into it and trying to assess the required / desired scope of changes. Please correct me if I'm wrong.

Following the dev call discussion, I tried merging the template into this one to see what would change (git merge --allow-unrelated-histories --squash template/master).

Here's the raw status output showing what's new and what conflicts ``` Changes to be committed: (use "git restore --staged ..." to unstage) new file: .codeclimate.yml new file: .gitattributes new file: .github/workflows/docbuild.yml new file: .github/workflows/test_crippledfs.yml new file: .noannex new file: .zenodo.json renamed: COPYING -> LICENSE new file: MANIFEST.in new file: _datalad_buildsupport/__init__.py new file: _datalad_buildsupport/formatters.py new file: _datalad_buildsupport/setup.py new file: datalad_helloworld/_version.py new file: datalad_helloworld/hello_cmd.py new file: datalad_helloworld/tests/__init__.py new file: pyproject.toml new file: setup.cfg new file: tools/ci/appveyor_env_setup.bat new file: versioneer.py Unmerged paths: (use "git restore --staged ..." to unstage) (use "git add/rm ..." as appropriate to mark resolution) both added: .appveyor.yml both added: .gitignore both added: Makefile both modified: README.md deleted by us: datalad_helloworld/__init__.py deleted by us: datalad_helloworld/tests/test_register.py both added: docs/Makefile both added: docs/source/conf.py both added: docs/source/index.rst both added: requirements-devel.txt deleted by them: requirements.txt both modified: setup.py ```

I see the following groups:

So in the end there doesn't seem to be too much of a change, other than the python packaging things, unless I am missing something.

So, what scope of changes would be best?

jsheunis commented 2 years ago

Unless I'm missing some context from on the history of this extension, I'd say we should keep it as close to the extension template as possible.

addition of two github workflows (does the docs workflow mean that the docs build process changes completely?)

I would add both, since they are part of the standard template. Let's see what the response is to the docs build process #98. If it requires a different setup to what is currently implemented here, that change would be easy.

addition of codeclimate (is external setup needed? is it wanted here?)

I don't think it would hurt to have the codeclimate config here. I'm guessing it needs some external setup/linking for it to start working, so that step can always be done at a later stage if it's not needed now.

I'm missing packaging-related knowledge, may try but feels risky to touch

Yeah I'm also hesitant here. I'd try and duplicate the extension-template, but I don't know what (required) functionality I'd be dropping unintentionally by removing existing parts. I'd get extra input here. @datalad/developers can anyone help clarify which current code/files in datalad-neuroimaging are necessary to keep in addition to updating content to mirror the extension setup?

mih commented 2 years ago

I am fully in line for @jsheunis. Few additional pointers:

Code climate report: https://codeclimate.com/github/datalad/datalad-neuroimaging (no additional setup required, but could be tuned)

Re unintentional removing: I wouldn't worry about it much. First, it is useful to question everything that the old setup installed -- who knows if it is still relevant. Once the update PR is done. It is easy to compare the outcomes of python setup.py (s|b)dist pre and post update to discover and discuss and potential issues.