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

New release 0.8.0 #281

Closed
zoccoler opened this issue Dec 6, 2023 · 24 comments
Closed

New release 0.8.0 #281

zoccoler opened this issue Dec 6, 2023 · 24 comments
Milestone

Comments

@zoccoler
Copy link
Collaborator

zoccoler commented Dec 6, 2023

Hi all,

I was wondering if we could make a new plugin release before implementing larger changes like other layer types and plotter re-designs.

I created the milestone 0.7.4 and assigned it to a couple PRs whose changes are minimal and here.

Anything major we need to test before releasing it?

Best,
Marcelo

@zoccoler zoccoler added this to the 0.7.4 milestone Dec 6, 2023
@zoccoler
Copy link
Collaborator Author

zoccoler commented Dec 6, 2023

By the way, is other layer types support already in main?

@haesleinhuepf
Copy link
Member

Also, at the momemt only Laura, Ryan and I can deploy releases to pypi and conda. Would it be ok for you if I add you there @zoccoler ?

@Cryaaa
Copy link
Collaborator

Cryaaa commented Dec 7, 2023

That would be a good idea! Both the release and adding @zoccoler !

@Cryaaa
Copy link
Collaborator

Cryaaa commented Dec 8, 2023

By the way, is other layer types support already in main?

Yep that change is already in main!

@thorstenwagner
Copy link
Collaborator

Really looking forward to a new release to have PR #283 and #282 in place :-)

@thorstenwagner
Copy link
Collaborator

thorstenwagner commented Jan 15, 2024

Looks like this is the only open issue left for the 0.7.4 milestone. Release it?

@Cryaaa
Copy link
Collaborator

Cryaaa commented Jan 15, 2024

Sounds good! One problem I have though is that I wasn't involved in the last releases so I don't know the full extent of what has to be done for example for the conda release (and it has been quite some time that I did the pypi release too...) Can someone maybe remind me what needs to be done (@haesleinhuepf , @zoccoler , @jo-mueller or maybe @lazigu )?

@haesleinhuepf
Copy link
Member

The old procedure doesn't work anymore. Pypi is now forcing us to use API tokens. This page might be an entry point).

Before releasing 0.7.4, please make sure all changes (in particular to the API) are backwards compatible. If this is not the case, consider releasing 0.8.0 instead. See also: semantic versioning.

@haesleinhuepf
Copy link
Member

Also before releasing a new version, would someone volunteer for testing the current version carefully? I just found #295 is making usage more complicated compared to 0.7.3 . It would be great if the user-convenience does not suffer from introducing new features. ;-)

@thorstenwagner
Copy link
Collaborator

I would also like to see #298 merged before release, because its very annoying in my use case :-)

@jo-mueller
Copy link
Collaborator

jo-mueller commented Jan 18, 2024

As for the PyPi issue - whose PyPi account is currently used for the release? Setting up the API tokens for automatic push and release through PyPi is not difficult, but the owner of the package on PyPi has to generate one. According to the PyPi page, @Cryaaa @haesleinhuepf and @lazigu are owners 🤔

If conda has been set up once, the release of a new version through PyPi should trigger the conda feedstock to be built automatically.

@haesleinhuepf
Copy link
Member

haesleinhuepf commented Jan 18, 2024

Setting up the API tokens for automatic push and release through PyPi is not difficult,

I suggest setting up a github issue for this so that we don't forget to do this. Also if you say it's easy, can you share a link to a page where it's explained how to do this?

@jo-mueller
Copy link
Collaborator

jo-mueller commented Jan 18, 2024

@haesleinhuepf The cookiecutter template for napari-plugins essentially already has it. The relevant part is this bit in the test_and_deploy.yaml in the workflows folder:

  deploy:
    # this will run when you have tagged a commit, starting with "v*"
    # and requires that you have put your twine API key in your
    # github secrets (see readme for details)
    needs: [test]
    runs-on: ubuntu-latest
    if: contains(github.ref, 'tags')
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python
        uses: actions/setup-python@v2
        with:
          python-version: "3.x"
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -U setuptools setuptools_scm wheel twine build
      - name: Build and publish
        env:
          TWINE_USERNAME: __token__
          TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
        run: |
          git tag
          python -m build .
          twine upload dist/*

Once that is set up, there only needs to be a valid API token with the name PYPI_API_TOKEN in the secrets of the repository that is to be published. Doing a release on github then automatically runs the deployment to github.

Edit: See also newly created issue #299

@Cryaaa
Copy link
Collaborator

Cryaaa commented Jan 19, 2024

Also before releasing a new version, would someone volunteer for testing the current version carefully?

I can definitely test some features with 3D, 2D and 2D timelapse data. Unfortunately I don't have a good example for tracking data availible anymore (I think @stefanhahmann had some testing data and I would be grateful if you could direct me to it!). Also possibly @thorstenwagner could test the functionality for many datapoints (and most likely already has tested it already).

Once that is set up, there only needs to be a valid API token with the name PYPI_API_TOKEN in the secrets of the repository that is to be published. Doing a release on github then automatically runs the deployment to github.

I will check my access to the pypi repository and will go through the tutorials to implement this in the next few days and then we should be mostly ready!

@thorstenwagner
Copy link
Collaborator

thorstenwagner commented Jan 19, 2024

I'm using master branch + fix #298 on a daily basis. So far its running smoothly. Will pull again today and work with the most recent master today.

@stefanhahmann
Copy link
Contributor

Unfortunately I don't have a good example for tracking data availible anymore (I think @stefanhahmann had some testing data and I would be grateful if you could direct me to it!).

I create a PR for such a dataset. It would add 7MB to the repo. I also successfully tested with this dataset the functionality of the clusters plotter for tracking data layers.

@thorstenwagner
Copy link
Collaborator

What is missing that this can be released? Anything I can do?

@Cryaaa
Copy link
Collaborator

Cryaaa commented Feb 23, 2024

What is missing that this can be released? Anything I can do?

Sorry about that, I still need to do a thorough testing of all of the functions and we need to document some of the changes like the different layer types. I was quite busy with other projects and holidays up until now but will try to do the testing asap. If you could check if any documentation needs to be prepared for the histogram functions that could help!

@zoccoler
Copy link
Collaborator Author

Hi everybody!
If I understood correctly, for this to be closed, we need:

Is that it?

Could you help me with a list here of the new features? I can start testing them

@Cryaaa
Copy link
Collaborator

Cryaaa commented Mar 26, 2024

Exactly! I have already testing some of the points and surface layer features but it might be good to test on a few machines:

  • We need to test if all previous use cases still work: 2D, 3D, timelapse and tracking data with the labels layer
  • We need to test surfaces and points layer: 3D (and 2D for points maybe)

Generally I usually tested everything available so: dimension reduction, clustering and plotting with the various plot types but maybe I am missing something?

@zoccoler zoccoler modified the milestones: 0.7.4, 0.8.0 May 8, 2024
@zoccoler zoccoler changed the title New release 0.7.4 New release 0.8.0 May 8, 2024
@zoccoler
Copy link
Collaborator Author

zoccoler commented May 8, 2024

I renamed this issue to match the next release version.

I think we have tests for all those cases now, but I did not try manually clustering and dimensionality reduction algorithms on those.

@Cryaaa
Copy link
Collaborator

Cryaaa commented Jun 12, 2024

Hey @zoccoler,
Thanks for taking care of this release but we still have a remaining issue that needs to be fixed in napari-skimage-regionprops. I just tested this main branch and we still have the problem that the show table function just deletes any information present in the feature layer of surfaces.

This means every time you do dimension reduction or clustering, you are deleting the features. I really think that this needs to be addressed to make this release functional. Also we should add the dependancy that this version needs the updated napari-skimage-regionprops library...

@haesleinhuepf could you please take a look at the pull request so that we can fix this issue? Otherwise I'm super happy about the release and thank you for all of your efforts!

@jo-mueller
Copy link
Collaborator

jo-mueller commented Jun 12, 2024

This means every time you do dimension reduction or clustering, you are deleting the features. I really think that this needs to be addressed to make this release functional. Also we should add the dependancy that this version needs the updated napari-skimage-regionprops library...

Hey Ryan @Cryaaa ,

I saw this problem earlier. The main problem is that somewhere in regionprops or here, layer.properties = {} is done - which prevents the get_layer_tabular_data to properly load the features. I changed this on the side of the clusters plotter in PR #319 so that the plotter itself will preferably load features from layer.features rather than layer.properties. The same fix would have to be implemented on the side of napari regionprops, but tbh, I feel like this is outside the scope of this release.

Edit: That being said, I would close this issue if nobody objects?

@Cryaaa
Copy link
Collaborator

Cryaaa commented Jun 12, 2024

Hey @jo-mueller,
I see now, so the bug is now basically relegated to the skimage-regionprops side, I just got confused because in the table there obviously aren't any entries now. Thanks for this simple workaround and thank you for taking care of the fix!

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

6 participants