diffsims icon indicating copy to clipboard operation
diffsims copied to clipboard

0.6.0 Release

Open CSSFrancis opened this issue 2 years ago • 11 comments

Just creating an issue tracking what needs to be done before a 0.6.0 release. My plan is to have this release be at least (semi-stable) and potentially we could think about a 1.0.0 release not to long after. With a 1.0.0 pyxem/ kikuchipy releases in the future we probably need a more stable diffsims package as well...

Package Maintenance etc.

  • [x] #199
  • [x] #202
  • [x] Add Examples to documentation using Sphinx Gallery #201

Redesign Simulations:

  • [x] Use orix Phase class in DiffractionGenerator #201
  • [x] Move sampling methods to orix https://github.com/pyxem/orix/pull/460
  • [ ] Allow Diffraction generator to pull much of the needed information from the Phase class. #201
  • [ ] Add functionality to DiffractionLibrary
    • [ ] Add more descriptive repr
    • [ ] Add method to get simulation_index in polar representation #201
    • [ ] Add a method to visualize the DiffractionLibrary --> use some orix functionality?

Refactors:

  • [ ] Move AtomicDiffractionGenerator to its own file. I'm not sure if this really should be in diffsims. With packages like abTEM which do this quite a bit better this seems a bit redundant. But maybe others disagree?

Removals/Deprecations:

  • [ ] Deprecate StructureLibrary --> Removal in 0.7.0
  • [ ] Remove ReciprocalLatticePoint per deprecation warning
  • [ ] Deprecate rotation_list_generators, sphere_mesh_generators and zap_map_generators All sampling should be moved to orix
  • [ ] Deprecate VectorLibrary -->Removal in 0.7.0 (I think the VectorLibrary is just another instance of the
  • [ ] Remove AtomicDiffractionGenerator??? This functionality is a bit hard to maintain??? Considering things like abTEM exist I'd consider removing this if there isn't too much objection as you can just do a dynamical simulation...

CSSFrancis avatar Oct 20 '23 18:10 CSSFrancis

Some of these things would be good to do but would require more developer time than I think we currently have.

I would shoot for getting in #201 and then calling it good for a 0.6.0 release.

CSSFrancis avatar Mar 27 '24 14:03 CSSFrancis

@hakonanes how do you feel about making a pre-release after #205, #213 , #199 are merged?

Then we can test the orientation mapping in pyxem just to make sure things are wokring the way we would like.

CSSFrancis avatar May 09 '24 15:05 CSSFrancis

Sounds good. You're thinking of a release candidate on PyPI?

hakonanes avatar May 09 '24 15:05 hakonanes

Sounds good. You're thinking of a release candidate on PyPI?

Yea, it just makes it easier for testing in pyxem as we can just install the rc rather than installing from the github repo. It probably really doesn't matter too much but maybe someone else out there is curious and wants to try it :)

CSSFrancis avatar May 09 '24 15:05 CSSFrancis

I'll make a release PR after #209 is in. We can discuss and release tomorrow, if people are OK with this.

hakonanes avatar May 09 '24 17:05 hakonanes

The release PR is #216.

hakonanes avatar May 11 '24 08:05 hakonanes

#216 should be ready to be merged into the main branch, and we can then release a 0.6rc1 tag.

I assume you're busy the HyperSpy workshop, @CSSFrancis. Since you're the one asking for the release, we can wait until you give the go-ahead.

hakonanes avatar May 13 '24 20:05 hakonanes

@hakonanes I'll wait until the CI finishes and then merge then we can go ahead!

CSSFrancis avatar May 13 '24 20:05 CSSFrancis

Here're my suggested release notes (https://github.com/pyxem/diffsims/releases):


diffsims 0.6rc1 is a minor release of diffsims, an open source Python library focussed on the simulation of diffraction patterns.

See below, the changelog or the GitHub changelog for all updates from the previous release.

Added

  • Explicit support for Python 3.11.
  • pre-commit for code formatting.
  • Deprecation tools for deprecating functions, parameters, methods, and properties.

Changed

  • Documentation theme from Furo to the PyData-Sphinx-Theme.

Deprecated

  • get_hkl(), get_highest_hkl(), and get_equivalent_hkl() methods in the crystallography module. Please use the following corresponding methods in the ReciprocalLatticeVector class instead: from_highest_hkl(), from_min_dspacing(), and symmetrise().

Removed

  • Support for Python 3.6 and Python 3.7, leaving 3.8 as the oldest supported version.
  • ReciprocalLatticePoint class; Use the ReciprocalLatticeVector class instead, which is an improved replacement.
  • StructureLibrary.from_crystal_systems() class method, which previously raised a NotImplementedError, but now will throw an AttributeError instead.

hakonanes avatar May 14 '24 18:05 hakonanes

0.6rc1 is out on PyPI. Can be installed with pip install --pre diffsims.

We could make a pre-release build on conda-forge (explained here), but I don't think it's necessary.

@CSSFrancis, what needs to be done before we release 0.6.0 proper?

hakonanes avatar May 14 '24 21:05 hakonanes

@hakonanes thank you so much for your help with this! I don't think we really want to do a pre-release on cond-forge (just sounds like a lot of work).

As far as a workflow before relasing 0.6.0 proper:

  1. Merge https://github.com/pyxem/pyxem/pull/1076
  2. Rerun https://github.com/din14970/pyxem_template_matching_workflows. I would like to rerun the benchmarks/ update those workflows using the new simulations. This is a good test to see if things are (still) running effectively.

We don't necessarily need to merge everything but as I don't do much in the way of orientation mapping I would love to have some feed back before things get merged. My current goal is to make a pyxem 0.19.0 rc hopefully tomorrow and then we can do some testing with that.

CSSFrancis avatar May 14 '24 22:05 CSSFrancis

I think we can probably go ahead with this. I've been using this for a couple of weeks now with no issues so we can make the 0.6.0 release.

CSSFrancis avatar Jun 05 '24 12:06 CSSFrancis

Sounds good, I'll do it right away.

hakonanes avatar Jun 05 '24 13:06 hakonanes

  • [x] PyPI
  • [x] Zenodo
  • [x] New stable docs
  • [x] conda-forge
  • [x] Update main post-release

hakonanes avatar Jun 05 '24 17:06 hakonanes