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

Versioning atlases #10

Closed
vigji opened this issue May 27, 2020 · 7 comments
Closed

Versioning atlases #10

vigji opened this issue May 27, 2020 · 7 comments

Comments

@vigji
Copy link
Member

vigji commented May 27, 2020

I think we should also have a way of nicely integrating versioning of this package together with versioning that I hope GIN can provide on the packages deployed there. If we introduce new features in the API they could require the latest version of an atlas to be redownloaded for the user that has an outdated one. Viceversa, maybe sometimes we should ensure that outdated API versions ask for legacy versions of the atlases.

@adamltyson @FedeClaudi any thought on this? Does this make sense?

@adamltyson
Copy link
Member

That's a good idea, and it's an issue that I've come across with amap and cellfinder. Until now I've avoided it because they're not yet at a stable version. However, this project could reach stability, and still undergo lots of changes to the atlases.

Do we want to start trying to support old versions of the API/atlas? This could be a headache avoided with a message asking people to upgrade.

@FedeClaudi
Copy link
Contributor

I think for now, since things will be changing a lot and rapidly we can just ask people to us the updated version. Once development slows down we can start supporting different versions?

@vigji
Copy link
Member Author

vigji commented May 27, 2020

Youp, I also agree that priority is to automatically detect if it is outdate and trigger redownloading. I was not thinking about supporting old versions of the atlases, just to somehow map in the brainatlas-api version the version of the atlases it is working with. This way matching the correct (old) version of the atlas to be used is not that different from updating to the most recent one

@vigji
Copy link
Member Author

vigji commented May 27, 2020

In this direction, probably it make sense to put the scripts to generate the atlases back in a separate folder of this repo, so that they are versioned together?

@vigji vigji changed the title Versioning atlas versions Versioning atlases May 27, 2020
@adamltyson
Copy link
Member

Could each atlas just have unique metadata entry, so we know what version of what atlas we are using (like Allen_10um_2020-05-27a)?

We can prompt people to upgrade to a new version of the API (and therefore atlases) with something like this in __init__.py

__name__ = "brainatlas-api"

import luddite
from packaging import version

most_recent_version = luddite.get_version_pypi(__name__)

if version.parse(__version__) < version.parse(most_recent_version):
    print(
        f"This version of {__name__} ({__version__}) is not the most recent "
        f"version. Please update to v{most_recent_version} by running: "
        f"'pip install {__name__} --upgrade'"
    )

@adamltyson
Copy link
Member

In this direction, probably it make sense to put the scripts to generate the atlases back in a separate folder of this repo, so that they are versioned together?

Maybe, but this could stop being useful as soon as anyone else makes an atlas that we incorporate.

@FedeClaudi
Copy link
Contributor

I think we are happy with how things are now? Should we close?

@vigji vigji closed this as completed Jul 1, 2020
willGraham01 pushed a commit that referenced this issue Feb 14, 2024
Add mouse spinal cord atlas
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

No branches or pull requests

3 participants