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

Prepare for 0.11.0 release #697

Merged
merged 151 commits into from
Nov 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
e48e326
Yet another Unreleased changelog section awaiting things
hakonanes Sep 21, 2024
e085f1c
Replace use of deprecated from_neo_euler() -> from_rodrigues()
hakonanes Sep 21, 2024
309e7dc
Bump version to 0.11.dev0
hakonanes Sep 21, 2024
6629063
Comment out failing test, to be fixed later
hakonanes Sep 21, 2024
67b6bcb
Restrict scipy to < 1.14 until HyperSpy 2.0 is supported
hakonanes Sep 21, 2024
df20e1e
Allow flaky HI test to rerun up to five times
hakonanes Sep 21, 2024
e5fad49
Merge pull request #683 from hakonanes/main-into-develop-after-0.10.0
hakonanes Sep 21, 2024
bfe4ebf
Replace setup.py and setup.cfg with pyproject.toml, Hatch as build tool
hakonanes Sep 21, 2024
68880fc
Remove MANIFEST.in file
hakonanes Sep 21, 2024
45ab857
Simplify README, also removing the all-contributors table
hakonanes Sep 21, 2024
60d9750
Add contrasting border to "kikuchipy" in banner images
hakonanes Sep 21, 2024
7c82326
Remove unnecessary CONTRIBUTING script pointing to docs
hakonanes Sep 21, 2024
f6cdf15
Remove kikuchipy/release.py and references to it or the all-contribut…
hakonanes Sep 21, 2024
f8dccae
Update action versions in GitHub actions
hakonanes Sep 21, 2024
d5d3285
Remove more references to kikuchipy.release file
hakonanes Sep 21, 2024
8444b85
Remember to install coverage packages on CI
hakonanes Sep 21, 2024
42b9e26
Start testing on Python 3.12
hakonanes Sep 21, 2024
7197e60
Remove use of release script in docs
hakonanes Sep 22, 2024
2c20c34
Install build package before installing dependencies
hakonanes Sep 22, 2024
b6a7c74
Ensure HyperSpy 1.7.6 with Python >= 3.12
hakonanes Sep 22, 2024
52f3e31
Move hyperspy_extension.yaml file until HyperSpy 2.0 is supported
hakonanes Sep 22, 2024
fb9a005
Temporarily duplicate HS extension file
hakonanes Sep 22, 2024
c49fbac
Uncomment nlopt in config
hakonanes Sep 22, 2024
361f546
Merge pull request #684 from hakonanes/hatch-n-pyproject
hakonanes Sep 22, 2024
fc55fa8
Move source code to src/kikuchipy and tests to tests/
hakonanes Sep 22, 2024
c06fbd5
Put paths to data files in fixtures
hakonanes Sep 28, 2024
9f3226d
Remove all pragma: no cover in tests (unnecessary), use fixtures further
hakonanes Sep 28, 2024
eeb25f1
Rename doc build directory to _build
hakonanes Sep 29, 2024
b5072f5
Re-run tutorial notebooks after changing to src layout
hakonanes Sep 29, 2024
b0045f1
Update test warnings to silence
hakonanes Sep 29, 2024
65bc396
Remove --pyargs from pytest call
hakonanes Sep 29, 2024
578df86
Bump RTD Ubuntu version to 24.04
hakonanes Sep 29, 2024
0bb0b10
Yield fixture results instead of return
hakonanes Sep 29, 2024
f3b49ea
Default Python 3 on RTD instead of from mambaforge
hakonanes Sep 29, 2024
58e7e9c
Still silence some test warnings outside our control
hakonanes Sep 29, 2024
6bbe70f
Replace Bruker h5ebsd test files with fixture
hakonanes Sep 29, 2024
57ad4c1
Use Path in doc reference frames script
hakonanes Sep 29, 2024
506030d
Update paths to files for pytest to ignore
hakonanes Sep 29, 2024
29e3aa1
Remove dummy EMsoft TKD and ECP master patterns, use fixtures
hakonanes Sep 29, 2024
a97abfb
Replace import from conftest.py with fixture
hakonanes Sep 29, 2024
076d190
Move conftests.py to top directory to also work with doctest
hakonanes Sep 29, 2024
1981be1
Update kikuchipy.load() doctest
hakonanes Sep 29, 2024
7923e4b
Update call to doctest-modules on CI
hakonanes Sep 29, 2024
e6772bb
Revert to using Python from mambaforge on RTD
hakonanes Sep 29, 2024
b694ca8
Remove use of dummy EMsoft ECP/TKD master patterns in IO tutorial
hakonanes Sep 29, 2024
ca40f0c
Update references to src/ in CI scripts
hakonanes Sep 29, 2024
b32b657
Change use of tempfile to pytest tmpdir
hakonanes Sep 29, 2024
06a1352
Use filename in test metadata that should work on all platforms
hakonanes Sep 30, 2024
a9d4862
Update installation guide, better describe installation of nlopt
hakonanes Sep 30, 2024
6070a20
Merge pull request #686 from hakonanes/src-layout
hakonanes Sep 30, 2024
9492b94
Replace custom lazy loading with lazy_loader, new dependency
hakonanes Sep 30, 2024
516b063
Move checks of installed packages to private kikuchipy.constants module
hakonanes Sep 30, 2024
2146d79
Rename chunk.fft_filter import to fft_filter_chunk to avoid duplication
hakonanes Oct 1, 2024
d5db481
Merge pull request #688 from hakonanes/use-lazy-loader
hakonanes Oct 1, 2024
3ca2d27
Remove support for Python 3.8 and 3.9
hakonanes Oct 2, 2024
dd1a32a
Update type hints in private modules
hakonanes Oct 2, 2024
198f080
Update type hints in data module
hakonanes Oct 2, 2024
0a08a8a
Update type hints in detectors module
hakonanes Oct 2, 2024
8509451
Update type hints in draw module
hakonanes Oct 2, 2024
9b1f423
Update type hints in filters module
hakonanes Oct 2, 2024
bbf942c
Update type hints in imaging module
hakonanes Oct 2, 2024
9e9c518
Update type hints in indexing module
hakonanes Oct 2, 2024
1f16b1f
Fix Python version in tests CI YAML
hakonanes Oct 2, 2024
59ed1ad
Complete updating of type hints
hakonanes Oct 5, 2024
f8e56f0
Temporarily restrict to NumPy <2 due to dependency incompats
hakonanes Oct 5, 2024
4ab1d6f
Wait on using typing.Self until Python >= 3.11
hakonanes Oct 5, 2024
a016c0a
Merge pull request #689 from hakonanes/remove-38-39-compat
hakonanes Oct 5, 2024
e045625
Set minimal version of HyperSpy to v2
hakonanes Oct 1, 2024
d69ff03
Set HyperSpy >= 2 as the minimal version also on CI
hakonanes Oct 5, 2024
a9d0f64
Fix PR link in changelog
hakonanes Oct 5, 2024
bcba247
Add RosettaSciIO dependency
hakonanes Oct 5, 2024
0f274a8
Install unreleased HyperSpy 2.2 from GitHub
hakonanes Oct 26, 2024
28df169
Allow import NumPy's VisibleDeprecationWarning before/after v1.25
hakonanes Oct 26, 2024
978dcc8
Prepare IO module for updating to RosettaSciIO's design
hakonanes Oct 26, 2024
f5fab17
Update NORDIF plugin to RosettaSciIO's design
hakonanes Oct 26, 2024
1ec4744
Update NORDIF calibration patterns plugin to RosettaSciIO's design
hakonanes Oct 26, 2024
ae90889
Update Bruker h5ebsd reader to RosettaSciIO's design
hakonanes Oct 26, 2024
0e4e51a
Update EBSD directory reader to RosettaSciIO's design
hakonanes Oct 27, 2024
c667c12
Update EDAX binary patterns reader to RosettaSciIO's design
hakonanes Oct 27, 2024
e200de1
Update EDAX h5ebsd reader to RosettaSciIO's design
hakonanes Oct 27, 2024
6af9a80
Update EMsoft EBSD reader to RosettaSciIO's design
hakonanes Oct 27, 2024
8ea5075
Update EMsoft EBSD master pattern reader to RosettaSciIO's design
hakonanes Oct 27, 2024
fbb488b
Update EMsoft ECP master pattern reader to RosettaSciIO's design
hakonanes Oct 27, 2024
ee7ffad
Update EMsoft TKD master pattern reader to RosettaSciIO's design
hakonanes Oct 27, 2024
917b2cc
Update our h5ebsd reader/writer to RosettaSciIO's design
hakonanes Oct 27, 2024
f060f73
Update Oxford binary EBSD pattern reader to RosettaSciIO's design
hakonanes Oct 27, 2024
88641ea
Update Oxford's h5ebsd/H5OINA reader to RosettaSciIO's design
hakonanes Oct 27, 2024
16b5ef7
Fix creation of IO plugin list and look-up
hakonanes Oct 27, 2024
8e8fdf7
Remove unused HyperSpy markers tools
hakonanes Oct 27, 2024
ec9e7e0
Remove passing of parallel=True to HyperSpy's map function
hakonanes Oct 27, 2024
bb2e2d3
Update IO plugin tests following updates to RosettaSciIO's design
hakonanes Oct 27, 2024
0f0d24d
Import RGB8 and RGB16 data types from RosettaSciIO
hakonanes Oct 27, 2024
4c94df9
Replace HyperSpy marker functionality so tests don't error (not meant…
hakonanes Oct 27, 2024
c33a3cc
Fix incorrect combining of desired projection/hemisphere labels
hakonanes Oct 27, 2024
c68fe16
Improve error handling for incompatible IO plugin and signal type
hakonanes Oct 27, 2024
7939f33
Set specification "_api" key using part of Path.parts list
hakonanes Oct 27, 2024
687e944
Add bounds to VirtualBSEImager.grid_shape based on signal shape
hakonanes Oct 27, 2024
f991c00
Fix checking whether IO plugin writer is compatible with signal
hakonanes Oct 27, 2024
ec3a64f
Fix tests with now incorrect imports and other improvements
hakonanes Oct 27, 2024
ff3fd13
Fix final errors in IO tests
hakonanes Oct 27, 2024
b88a976
Revert to "old" HyperSpy entry point path
hakonanes Oct 27, 2024
f70d5ca
Force Python float in EBSDDetector string repr
hakonanes Oct 27, 2024
61c4ed3
Ensure Python floats and ints in string repr and errors
hakonanes Oct 27, 2024
d5b26bd
Use crop_signal instead of crop_image
hakonanes Oct 27, 2024
a5e1f06
Ensure Python float in xmap attribute warning
hakonanes Oct 27, 2024
dc572e2
Fix VirtualBSEImager.grid_shape test following change to default shape
hakonanes Oct 27, 2024
db72dcc
Update warning message in IO test following change to Python float
hakonanes Oct 27, 2024
35e9105
Update error message matches in tests following replace of `` with ''
hakonanes Oct 27, 2024
3109e07
Fix f-string by using '' within ""
hakonanes Oct 27, 2024
58fbe20
Fix IO API
hakonanes Oct 27, 2024
e7b9f2a
Install ipykernel with pip on RTD using environments.yml
hakonanes Oct 27, 2024
7ae2057
Add ipykernel in environment.yml file for RTD, not for binder...
hakonanes Oct 27, 2024
34990db
Add convenience function to determine whether to overwrite file
hakonanes Oct 28, 2024
8659c68
Fall back to BaseSignal.save() if no matching write plugin found
hakonanes Oct 28, 2024
51d9a80
Add Path type option to EBSD.save() signature, improve docstring
hakonanes Oct 28, 2024
1b75996
Fix tests of internal IO convenience methods
hakonanes Oct 28, 2024
b4fb343
Remove explicit dependency on RosettaSciIO
hakonanes Oct 28, 2024
099349e
Simplify path to saving to H/ZSPY from EBSD.save()
hakonanes Oct 28, 2024
b229aa8
Merge pull request #694 from hakonanes/hs2-io-compat
hakonanes Oct 29, 2024
50d6a7c
Reintroduce dependency on RosettaSciIO, needed in kikuchipy h5ebsd pl…
hakonanes Oct 29, 2024
dd6a979
Use HS2 markers when plotting VBSE grid on EBSD detector
hakonanes Oct 29, 2024
d7b531e
Align tests of VBSE detector grid plots with HS2 markers
hakonanes Oct 29, 2024
ed0d373
Make tests pass, albeit with temporary fix for line markers
hakonanes Nov 3, 2024
e04d261
Fix "PyVista not installed" error message
hakonanes Nov 3, 2024
b3b3c24
Simplify VBSE imager tile labling, remove bug-as-feature
hakonanes Nov 3, 2024
4796893
Fix array indexing in VBSE imager
hakonanes Nov 3, 2024
0d56e99
Fix (row, column) -> (x, y) inconsistency with HyperSpy
hakonanes Nov 3, 2024
b1d4177
Remove incorrect enforcement of integer array for grid cols/rows
hakonanes Nov 3, 2024
dd8b2b9
Exclude NaN entries when plotting Kikuchi pattern simulation features
hakonanes Nov 4, 2024
f2cd03f
Pass star polygon collection to HyperSpy for PC markers
hakonanes Nov 4, 2024
2884727
Test improved handling of PC markers
hakonanes Nov 4, 2024
8b4f97b
Remove unnecessary import for type checking
hakonanes Nov 4, 2024
e9a189d
Update notebooks with stored output following update to HyperSpy v2
hakonanes Nov 5, 2024
b7f4dc8
Merge pull request #695 from hakonanes/hs2-markers-compat
hakonanes Nov 7, 2024
82c3d99
Merge pull request #696 from pyxem/hyperspy2-support
hakonanes Nov 7, 2024
b838373
Set minimum HyperSpy version to 2.2
hakonanes Nov 9, 2024
d6972dd
Prepare changelog for 0.11.0 release
hakonanes Nov 9, 2024
04e6981
Update version to 0.11.0
hakonanes Nov 9, 2024
43785fd
Remove Hatch option to install dependencies from direct URL
hakonanes Nov 9, 2024
c63bad4
Fix subclassing of NumPy ndarray for Window class
hakonanes Nov 9, 2024
cbab0d9
Remove now unnecessary warning in NORDIF reader
hakonanes Nov 9, 2024
03c21ed
Silence test suite warning from scikit-image for CLAHE
hakonanes Nov 9, 2024
6ea183f
Extract values from numpy.fromfile() before casting to numbers
hakonanes Nov 9, 2024
4635faa
Restructure internal utilities
hakonanes Nov 9, 2024
551cac2
Improve handling of valid projections and hemispheres in IO
hakonanes Nov 9, 2024
4803b5a
Improve calculation of kinematical EBSD master pattern
hakonanes Nov 9, 2024
1a0418f
Restrict progressbar to 80 columns
hakonanes Nov 9, 2024
cececc8
Iterate over reflectors, not unit sphere coordinates
hakonanes Nov 9, 2024
ad07063
Fix links to diffsims in kinematical EBSD simulation tutorial
hakonanes Nov 9, 2024
52346c1
Force EBSD detector shape to be Python ints in repr
hakonanes Nov 9, 2024
c6602b6
Fix some internal API reference links
hakonanes Nov 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
121 changes: 0 additions & 121 deletions .all-contributorsrc

This file was deleted.

3 changes: 1 addition & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,4 @@
- [ ] New functions are imported in corresponding `__init__.py`.
- [ ] New features, API changes, and deprecations are mentioned in the unreleased
section in `CHANGELOG.rst`.
- [ ] New contributors are added to `release.py`, `.zenodo.json` and
`.all-contributorsrc` with the table regenerated.
- [ ] New contributors are added to `kikuchipy/__init__.py` and `.zenodo.json`.
4 changes: 2 additions & 2 deletions .github/workflows/perhaps_make_tagged_release_draft.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@

from outdated import check_outdated

with open("../../kikuchipy/release.py") as fid:
with open("../../src/kikuchipy/__init__.py") as fid:
for line in fid:
if line.startswith("version"):
if line.startswith("__version__"):
branch_version = line.strip().split(" = ")[-1][1:-1]

# Within a try/except because we don't want to throw the error if a new
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/perhaps_make_tagged_release_draft.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
name: Perhaps make a tagged release

# Trigger workflow when commits to the main branch contain a change in the
# kikuchipy/release.py file. This is because this workflow should only run when a
# tagged release draft is to be made.
# Trigger workflow when commits to the main branch contain a change in
# the kikuchipy/__init__.py file. This is because this workflow should
# only run when a tagged release draft is to be made.
on:
push:
branches:
- main
paths:
- "kikuchipy/release.py"
- "src/kikuchipy/__init__.py"

jobs:
make-tagged-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: r-lib/actions/setup-pandoc@v2

- name: Set up Python ${{ runner.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install outdated
python -m pip install -U pip
python -m pip install outdated

- name: Check whether a tagged release draft should be made
run: |
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ on:
release:
types: [published]
workflow_dispatch:
workflow: "*"

jobs:
upload:
Expand All @@ -24,17 +23,17 @@ jobs:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
python -m pip install -U pip
python -m pip install build

- name: Build package
run: |
Expand All @@ -44,7 +43,7 @@ jobs:
uses: pypa/gh-action-pypi-publish@release/v1
continue-on-error: true
with:
repository_url: https://test.pypi.org/legacy/
repository-url: https://test.pypi.org/legacy/

- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
5 changes: 2 additions & 3 deletions .github/workflows/test_documentation_notebooks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
schedule:
- cron: '15 6 * * 1'
workflow_dispatch:
workflow: "*"

env:
MPLBACKEND: agg
Expand All @@ -14,10 +13,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.11'

Expand Down
39 changes: 10 additions & 29 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: '3.11'
python-version: '3.12'

- uses: isort/isort-action@master
with:
Expand All @@ -34,44 +34,25 @@ jobs:
run: |
black --diff --line-length 77 doc/tutorials/*.ipynb

# Make sure all necessary files are included in a release
manifest:
name: check manifest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: |
pip install manifix

- name: Check MANIFEST.in file
run: |
python setup.py manifix

tests:
name: ${{ matrix.os }}-py${{ matrix.python-version }}${{ matrix.LABEL }}
runs-on: ${{ matrix.os }}
timeout-minutes: 15
env:
MPLBACKEND: agg
PYTEST_ARGS: --pyargs kikuchipy --reruns 2 -n 2 --cov=kikuchipy
PYTEST_ARGS: --reruns 2 -n 2 --cov=kikuchipy
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.10', '3.11']
python-version: ['3.11', '3.12']
include:
- os: ubuntu-latest
python-version: 3.8
DEPENDENCIES: dask==2021.8.1 diffsims==0.5.2 hyperspy==1.7.3 matplotlib==3.5 numba==0.57 numpy==1.23.0 orix==0.12.1 pooch==1.3.0 pyebsdindex==0.2.0 scikit-image==0.21.0
python-version: '3.10'
DEPENDENCIES: dask==2021.8.1 diffsims==0.5.2 hyperspy>=2 matplotlib==3.5 numba==0.57 numpy==1.23.0 orix==0.12.1 pooch==1.3.0 pyebsdindex==0.2.0 scikit-image==0.21.0
LABEL: -oldest
- os: ubuntu-latest
python-version: 3.11
python-version: '3.12'
LABEL: -minimum_requirement
steps:
- uses: actions/checkout@v4
Expand All @@ -85,7 +66,7 @@ jobs:
shell: bash
run: |
pip install wheel
pip install -U -e .'[tests]'
pip install -U -e ".[tests,coverage]"

- name: Install oldest supported version
if: contains(matrix.LABEL, 'oldest')
Expand All @@ -96,15 +77,15 @@ jobs:
if: ${{ contains(matrix.LABEL, 'minimum_requirement') == false && matrix.os != 'macos-latest' }}
shell: bash
run: |
pip install -e .'[all]'
pip install -e ".[all]"
pip install pyopencl

- name: Install optional dependencies on macOS (without nlopt)
if: ${{ contains(matrix.LABEL, 'minimum_requirement') == false && matrix.os == 'macos-latest' }}
shell: bash
run: |
pip install -e .
pip install 'pyebsdindex[gpu]' pyvista
pip install "pyebsdindex[gpu]" pyvista

- name: Display Python, pip and package versions
run: |
Expand All @@ -127,7 +108,7 @@ jobs:
if: ${{ matrix.os == 'ubuntu-latest' }}
continue-on-error: true
run: |
xvfb-run pytest --doctest-modules --doctest-continue-on-failure --ignore-glob=kikuchipy/*/tests kikuchipy/*.py
xvfb-run pytest src --doctest-modules --doctest-continue-on-failure

- name: Run tests in a virtual X server environment on Ubuntu
if: ${{ matrix.os == 'ubuntu-latest' }}
Expand Down
8 changes: 1 addition & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ instance/
.scrapy

# Sphinx documentation
doc/build/
doc/_build/
doc/reference/generated/
doc/examples/
sg_execution_times.rst
Expand Down Expand Up @@ -105,15 +105,9 @@ ENV/

# Auto changing files
build/
src/

# Backport
.backportrc.json

# All Contributors CLI
node_modules/
package.json
package-lock.json

# Dask
dask-worker-space
3 changes: 1 addition & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
repos:
# https://black.readthedocs.io/en/stable/index.html
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 24.4.2
rev: 24.8.0
hooks:
- id: black
language_version: python3.11
- id: black-jupyter
files: \.ipynb
args: [--line-length=77]
Expand Down
Loading
Loading