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

Versioned bids functions #246

Closed
pvandyken opened this issue Feb 11, 2023 · 0 comments · Fixed by #349
Closed

Versioned bids functions #246

pvandyken opened this issue Feb 11, 2023 · 0 comments · Fixed by #349
Labels
enhancement New feature or request

Comments

@pvandyken
Copy link
Contributor

Any time we add entities to the "recognized" list in the bids function, we will create a breaking change. This is because unrecognized entities are currently added to the end of the path in the order specified by the user. Recognizing them will move them to the closer to the front of the path, disrupting the naming convention in the user's workflow and possibly requiring them to rerun their analysis or attempt to rename all their files.

This would require a major version update any time we update bids(), and prevent users with existing workflows from upgrading to exciting new features.

While the basic problem is fundamental to the way bids() works, we can mitigate it by creating separately versioned bids functions. This boutique implementation will be made straight-forward upon completion of #245. Essentially all we'll need is a versioned spec file for every update of the bids function.

Usage

Users would be encouraged to import bids as follows:

from snakebids import bids_x_x_x as bids

This will guarantee the structure of their bids paths stays constant over snakebids updates. Of course, the current bids function will still be available for import, but it will always reflect the latest updates.

To prevent accidental breakage, a warning will be printed if a user calls the original bids function and passes unrecognized entities (as these create future vulnerability).

@pvandyken pvandyken added the enhancement New feature or request label Feb 11, 2023
@pvandyken pvandyken linked a pull request Dec 13, 2023 that will close this issue
2 tasks
@github-project-automation github-project-automation bot moved this to Done in v1.0 Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant