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

Move old-style metadata facilities to deprecated #7012

Closed
mih opened this issue Sep 6, 2022 · 3 comments · Fixed by #7014
Closed

Move old-style metadata facilities to deprecated #7012

mih opened this issue Sep 6, 2022 · 3 comments · Fixed by #7014
Assignees

Comments

@mih
Copy link
Member

mih commented Sep 6, 2022

Protocol of plan made in devcall:

Move remaining metadata commands to -deprecated

  • metadata
  • aggregate:-metadata
  • search

Announce this plan now (informally), and release the move with the next major release.

With that announcement, we announce that metalad provides the next generation metadata handling for datalad.

There is no requirement for metalad to provide an API-compatible replacement for these commands. Rather, it is appreciated for them to stay intact and usable in parallel with -deprecated installed.

@mih mih added the metadata label Sep 6, 2022
@mih
Copy link
Member Author

mih commented Sep 6, 2022

mih added a commit to mih/datalad that referenced this issue Sep 7, 2022
This changeset is part of the transition from the 2nd-gen metadata
implementation to then gen3 code provided by the -metalad extension.

This removal has side-effect on other code, not directly related
to metadata. This following list can be considered a TODO for further
maintenance work:

Now unused code:

- `datalad/support/json_py.py:load_xzstream()`
- `datalad/interface/common_opts.py:reporton_opt`
- `datalad/utils.py:all_same()`
- `datalad/utils.py:as_unicode()`
- `datalad/utils.py:unicode_srctypes` made obsolete by removal of `as_unicode()`

Now barely used (technical debt?):

- `nosave_opt`: Residual use in `addurls()` and `download_url()`
- `datalad/support/path.py:split_ext()`: Residual use in a single spot in `addurls()`
- `datalad/utils.py:path_startswith()`: 2 pieces of code still use this outside the tests
- `datalad/utils.py:get_suggestions_msg()`: CLI parser and `addurls()` make the total of 2 calls made to this helper
- `datalad/utils.py:shortened_repr()`: one call in `get()` and one in `foreach_dataset()`

Issues to file:

- [ ] Investigate whether the dependency on `simplejson` is still needed.
- [ ] `datalad/interface/utils.py:discover_dataset_trace_to_targets()`
      is now an internal helper of `save()`

Closes datalad#7012
@christian-monch christian-monch self-assigned this Sep 7, 2022
@christian-monch
Copy link
Contributor

I will take this one. Plan:

  1. extend datalad-deprecated with the metadata-commands
  2. test with datalad branch https://github.com/mih/datalad/tree/mnt-metadata-mv

christian-monch pushed a commit to mih/datalad that referenced this issue Oct 20, 2022
This changeset is part of the transition from the 2nd-gen metadata
implementation to then gen3 code provided by the -metalad extension.

This removal has side-effect on other code, not directly related
to metadata. This following list can be considered a TODO for further
maintenance work:

Now unused code:

- `datalad/support/json_py.py:load_xzstream()`
- `datalad/interface/common_opts.py:reporton_opt`
- `datalad/utils.py:all_same()`
- `datalad/utils.py:as_unicode()`
- `datalad/utils.py:unicode_srctypes` made obsolete by removal of `as_unicode()`

Now barely used (technical debt?):

- `nosave_opt`: Residual use in `addurls()` and `download_url()`
- `datalad/support/path.py:split_ext()`: Residual use in a single spot in `addurls()`
- `datalad/utils.py:path_startswith()`: 2 pieces of code still use this outside the tests
- `datalad/utils.py:get_suggestions_msg()`: CLI parser and `addurls()` make the total of 2 calls made to this helper
- `datalad/utils.py:shortened_repr()`: one call in `get()` and one in `foreach_dataset()`

Issues to file:

- [ ] Investigate whether the dependency on `simplejson` is still needed.
- [ ] `datalad/interface/utils.py:discover_dataset_trace_to_targets()`
      is now an internal helper of `save()`

Closes datalad#7012
@yarikoptic-gitmate
Copy link
Collaborator

Issue fixed in 0.18.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants