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

antspy to v0.5.0 and bump ants + itk versions to latest commit hashes #578

Merged
merged 1 commit into from
Mar 16, 2024

Conversation

ncullen93
Copy link
Member

@ncullen93 ncullen93 commented Mar 15, 2024

Bumps antspy to v0.5.0 and use the latest ants and itk commit hashes for building. We'll see if it's this simple...

Eventual general release notes:

  • improved testing
  • minor bug fixes
  • minor documentation improvements
  • upgrade to latest ANTs and ITK version
  • removed deprecated code (VTK-related visualization)

Things to accomplish during v0.5.x

  • rework docs and tutorials (to ants.dev)
  • reduce build size
  • refactor ants.plot function to be simpler
  • speed up import time (by deferring imports?)

@ncullen93 ncullen93 changed the title bump antspy; ants + itk versions to latest commit hashes antspy to v0.5.0 and bump ants + itk versions to latest commit hashes Mar 15, 2024
@cookpa
Copy link
Member

cookpa commented Mar 15, 2024

This looks great, thanks @ncullen93

To avoid confusion in the future, could we reserve vX.Y.Z for tags of release commits, and use vX.Y.Z-dev or something for branch names?

@cookpa cookpa merged commit f4dcc3e into master Mar 16, 2024
18 checks passed
@ncullen93
Copy link
Member Author

ncullen93 commented Mar 16, 2024

That'd be great but how would it work exactly? On the main branch it will always be "X.Y.Z-dev" and then when it's time for a release we just remove the "-dev", publish the release, and then add it back?

Also - it looks like the linux action failed to publish to pypi when you merged because the package size was too large... so I'm not sure if it has been updated on pypi?

Edit - looks like it's not the specific build size but just the total storage on pypi being over 10gb? So some old wheels need to be deleted? For what it's worth, I really don't think you need to build wheels for each python distribution specifically. I think it's more common to just build one wheel for "3.x" - see e.g., the pypi workflow I use elsewhere.

@cookpa
Copy link
Member

cookpa commented Mar 16, 2024

That'd be great but how would it work exactly? On the main branch it will always be "X.Y.Z-dev" and then when it's time for a release we just remove the "-dev", publish the release, and then add it back?

I was thinking we'd make a vX.Y.Z-dev branch, and push commits to it until we're ready, then merge back into main, tag HEAD with vX.Y.Z, and then hit release.

@cookpa cookpa mentioned this pull request Mar 16, 2024
@gdevenyi
Copy link

Here's the ref for the official way to name development releases in Python
https://peps.python.org/pep-0440/#development-release-separators

@cookpa
Copy link
Member

cookpa commented Mar 16, 2024

Open to changing things to be more pythonic, but what I was trying to suggest here is that we avoid having a branch and a tag with the same label. It's technically allowed by Git but I am easily confused

@ntustison
Copy link
Member

@ncullen93 @cookpa --- how should we update this with respect to the recent KK change?

@cookpa
Copy link
Member

cookpa commented Mar 18, 2024

I think a bug fix release would be in order

@ncullen93
Copy link
Member Author

I'm fine with whatever but I prefer making changes on the main branch. People probably expect the main branch to be the most up-to-date version of the code. Then making the version in setup.py / the actual package "vX.Y.Z-dev" would make sense.

@cookpa
Copy link
Member

cookpa commented Mar 18, 2024

Agreed 100%, making PRs and then merging to master incrementally is the way to go. The release branches should just be like this PR, for doing release finalization. I just don't want to confuse the tag v0.5.0 on the master branch, with the v0.5.0 branch itself. But if we clean up the release PR branches as we go, then I suppose the risk is pretty minimal. I'm going to delete the branch now as the site is prompting me.

Regarding dev release numbers in the code, ITK does something like this, the code for which was adapted into ANTs, it sets the version on compile to something other than the last release tag, so we can tell if someone is using the actual tag commit or some commit between tags. This only works correctly if built from a cloned git repo, because it uses git to figure out the commit it's being built from. Might be nice to have - but we need to have a sensible fallback (eg, to the hard-coded previous release tag).

@cookpa cookpa deleted the v0.5.0 branch March 18, 2024 14:47
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 this pull request may close these issues.

4 participants