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

0.6.0 Release #200

Closed
5 of 16 tasks
CSSFrancis opened this issue Oct 20, 2023 · 14 comments
Closed
5 of 16 tasks

0.6.0 Release #200

CSSFrancis opened this issue Oct 20, 2023 · 14 comments
Assignees
Labels
Milestone

Comments

@CSSFrancis
Copy link
Member

CSSFrancis commented Oct 20, 2023

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.

Redesign Simulations:

  • Use orix Phase class in DiffractionGenerator Use phase class #201
  • Move sampling methods to orix Add Sampling orix#460
  • Allow Diffraction generator to pull much of the needed information from the Phase class. Use phase class #201
  • Add functionality to DiffractionLibrary
    • Add more descriptive repr
    • Add method to get simulation_index in polar representation Use phase class #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 CSSFrancis added this to the v0.6.0 milestone Oct 20, 2023
@CSSFrancis CSSFrancis pinned this issue Oct 20, 2023
@CSSFrancis CSSFrancis self-assigned this Oct 20, 2023
@CSSFrancis CSSFrancis unpinned this issue Mar 27, 2024
@CSSFrancis CSSFrancis pinned this issue Mar 27, 2024
@CSSFrancis
Copy link
Member Author

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
Copy link
Member Author

@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.

@hakonanes
Copy link
Member

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

@CSSFrancis
Copy link
Member Author

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 :)

@hakonanes
Copy link
Member

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

@hakonanes
Copy link
Member

The release PR is #216.

@hakonanes
Copy link
Member

#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.

@CSSFrancis
Copy link
Member Author

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

@hakonanes
Copy link
Member

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
Copy link
Member

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?

@CSSFrancis
Copy link
Member Author

@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 Refactor Orientation Mapping(Try 3) pyxem#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
Copy link
Member Author

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.

@hakonanes
Copy link
Member

Sounds good, I'll do it right away.

@hakonanes
Copy link
Member

hakonanes commented Jun 5, 2024

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

@hakonanes hakonanes unpinned this issue Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants