From 8305b06b6c20bef48c80fb11bd00aa7bd6efa339 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 12:50:19 +0200 Subject: [PATCH 01/21] use join method "override" --- weldx/transformations/local_cs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weldx/transformations/local_cs.py b/weldx/transformations/local_cs.py index 530364ac5..4ac9df60e 100644 --- a/weldx/transformations/local_cs.py +++ b/weldx/transformations/local_cs.py @@ -105,7 +105,7 @@ def __init__( coordinates.name = "coordinates" dataset_items.append(coordinates) - self._dataset = xr.merge(dataset_items, join="exact") + self._dataset = xr.merge(dataset_items, join="override") self._time_ref = time_cls.reference_time if isinstance(time_cls, Time) else None if "time" in self._dataset and self._time_ref is not None: From 39a20565286c066333bd7e65191607c6640e128e Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 12:54:07 +0200 Subject: [PATCH 02/21] updated dep --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c04332fd8..86df6a079 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,7 @@ dependencies = [ "numpy >=1.20", "asdf >=2.8.2,!=2.14.0,!=2.14.1,!=2.14.2", "pandas >=1.0", - "xarray >=0.19,<2022.09.0", + "xarray >=2023.3.0", "scipy >=1.4,!=1.6.0,!=1.6.1", "sympy >=1.6", "pint >=0.18", From 19bcf9ec5b1aa53d1b8ab8c237edfad039152d7c Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 12:55:05 +0200 Subject: [PATCH 03/21] amend changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27ef8367c..9b95c4b2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Release Notes +## 0.6.5 (unreleased) + +### Dependencies + +- require XArray >= 2023.3.0, as `LocalCoordinateSystem` now handles merges correctly \[{pull}`861`\]. + ## 0.6.4 (09.02.2023) Version `0.6.4` is a small maintenance release with no changes affecting user code. From 412097008c6cf48d5f2bdd8f3402e0836d0009e4 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 13:04:47 +0200 Subject: [PATCH 04/21] require at least Python 3.9 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 86df6a079..31167e39f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,7 +33,7 @@ classifiers = [ ] # Dependencies -requires-python = ">=3.8" +requires-python = ">=3.9" dependencies = [ "numpy >=1.20", "asdf >=2.8.2,!=2.14.0,!=2.14.1,!=2.14.2", From 5b8938f0fc12ae3d727769f59dac4fcf1e4a51b2 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 13:06:16 +0200 Subject: [PATCH 05/21] py39 --- devtools/environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devtools/environment.yml b/devtools/environment.yml index 2bfa12966..3e787a7c5 100644 --- a/devtools/environment.yml +++ b/devtools/environment.yml @@ -3,7 +3,7 @@ channels: - defaults - conda-forge dependencies: - - python=3.8 + - python=3.9 - setuptools_scm - numpy>=1.18 - pandas>=1.0 From f7126a5552cfe62f65635e75c966c2d5ada70ad8 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 13:07:22 +0200 Subject: [PATCH 06/21] py39 --- .github/workflows/pytest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 42f7bcddf..0f5eddcd1 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -30,7 +30,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - py: ['3.8', '3.9', '3.10', '3.11'] + py: ['3.9', '3.10', '3.11'] steps: - uses: actions/checkout@v3 with: From 92ed690c48450851cbc3bee2db87e557aaf093eb Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 13:28:32 +0200 Subject: [PATCH 07/21] py39 --- .github/workflows/build_pkg.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_pkg.yml b/.github/workflows/build_pkg.yml index c344497dd..89ec9df9d 100644 --- a/.github/workflows/build_pkg.yml +++ b/.github/workflows/build_pkg.yml @@ -72,7 +72,7 @@ jobs: fetch-depth: 0 # Fetch all history for all tags and branches - uses: actions/setup-python@v4 with: - python-version: '3.8' + python-version: '3.9' - name: Cache pip uses: actions/cache@v3 From 730b35cc50adef2e7f62672640370e49ade10ad7 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 13:28:45 +0200 Subject: [PATCH 08/21] tidy up pytest action --- .../workflows/install_quality_standards.yml | 11 +++++ .github/workflows/pytest.yml | 46 +++---------------- .github/workflows/run_tests.yml | 20 ++++++++ 3 files changed, 37 insertions(+), 40 deletions(-) create mode 100644 .github/workflows/install_quality_standards.yml create mode 100644 .github/workflows/run_tests.yml diff --git a/.github/workflows/install_quality_standards.yml b/.github/workflows/install_quality_standards.yml new file mode 100644 index 000000000..40dc06473 --- /dev/null +++ b/.github/workflows/install_quality_standards.yml @@ -0,0 +1,11 @@ +name: install quality standards requisites +jobs: + steps: + - name: cookiecutter + run: pip install cookiecutter + + - name: create installable quality standard from repo + run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template + + - name: install quality standard + run: pip install -e ./quality_standard_demo diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 0f5eddcd1..88ea3e7ef 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -60,20 +60,10 @@ jobs: - name: activate env run: micromamba activate weldx - - name: install cookiecutter + - name: install quality standards requisites if: matrix.py == '3.8' - run: | - pip install cookiecutter - - - name: create installable quality standard from repo - if: matrix.py == '3.8' - run: | - cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template - - - name: install quality standard - if: matrix.py == '3.8' - run: | - pip install -e ./quality_standard_demo + include: ./install_quality_standards.yml + job: install_quality_standards - name: run pytest run: | @@ -86,34 +76,10 @@ jobs: name: Unit Test Results path: pytest.xml - - name: run pytest on notebooks (append coverage) - if: matrix.py == '3.8' - run: | - pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ - - - name: test with WeldxFile - if: matrix.py == '3.8' - run: | - pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests - - - name: test quality standard - if: matrix.py == '3.8' - run: | - pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py - - - - name: test installable quality standard from template repository - if: matrix.py == '3.8' - run: | - pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py - - - name: coverage xml (combination is performed by pytest-cov) - if: matrix.py == '3.8' - run: coverage xml - - - name: codecov.io + - name: run advanced unit tests (asdf) with coverage if: matrix.py == '3.8' - uses: codecov/codecov-action@v3.1.1 + include: ./run_tests.yml + job: run_tests compat: name: pytest diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml new file mode 100644 index 000000000..743eb8fca --- /dev/null +++ b/.github/workflows/run_tests.yml @@ -0,0 +1,20 @@ +name: Run unit tests with coverage +jobs: + steps: + - name: run pytest on notebooks (append coverage) + run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ + + - name: test with WeldxFile + run: pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests + + - name: test quality standard + run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py + + - name: test installable quality standard from template repository + run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py + + - name: coverage xml (combination is performed by pytest-cov) + run: coverage xml + + - name: codecov.io + uses: codecov/codecov-action@v3.1.1 From 102802808eeb64ba79fa0c6b66d607bad4f6f5d4 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 13:32:33 +0200 Subject: [PATCH 09/21] f --- .github/workflows/install_quality_standards.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/install_quality_standards.yml b/.github/workflows/install_quality_standards.yml index 40dc06473..24b82a164 100644 --- a/.github/workflows/install_quality_standards.yml +++ b/.github/workflows/install_quality_standards.yml @@ -1,11 +1,12 @@ name: install quality standards requisites jobs: - steps: - - name: cookiecutter - run: pip install cookiecutter + install_quality_standards: + steps: + - name: cookiecutter + run: pip install cookiecutter - - name: create installable quality standard from repo - run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template + - name: create installable quality standard from repo + run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template - - name: install quality standard - run: pip install -e ./quality_standard_demo + - name: install quality standard + run: pip install -e ./quality_standard_demo From 2ca02b9d4d79474be07f0b7bf13e853c3bcd27d3 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 13:33:25 +0200 Subject: [PATCH 10/21] f --- .github/workflows/run_tests.yml | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 743eb8fca..7770a6cd5 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -1,20 +1,21 @@ name: Run unit tests with coverage jobs: - steps: - - name: run pytest on notebooks (append coverage) - run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ + run_tests: + steps: + - name: run pytest on notebooks (append coverage) + run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ - - name: test with WeldxFile - run: pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests + - name: test with WeldxFile + run: pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests - - name: test quality standard - run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py + - name: test quality standard + run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py - - name: test installable quality standard from template repository - run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py + - name: test installable quality standard from template repository + run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py - - name: coverage xml (combination is performed by pytest-cov) - run: coverage xml + - name: coverage xml (combination is performed by pytest-cov) + run: coverage xml - - name: codecov.io - uses: codecov/codecov-action@v3.1.1 + - name: codecov.io + uses: codecov/codecov-action@v3.1.1 From 7ac392a9deb33048c8243dd7519ab4c20cf1630a Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 14:02:44 +0200 Subject: [PATCH 11/21] py39 in build_env --- devtools/conda.recipe/build_env.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devtools/conda.recipe/build_env.yml b/devtools/conda.recipe/build_env.yml index bb9511c5e..a0cb69761 100644 --- a/devtools/conda.recipe/build_env.yml +++ b/devtools/conda.recipe/build_env.yml @@ -3,7 +3,7 @@ channels: - conda-forge - defaults dependencies: - - python=3.8 + - python=3.9 - setuptools - setuptools_scm - conda-verify From a0cf4373cdaecb96c2e0d7f878525555dd45ab62 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 14:04:46 +0200 Subject: [PATCH 12/21] fix cond --- .github/workflows/pytest.yml | 8 ++++---- .../{ => unit_tests}/install_quality_standards.yml | 0 .github/workflows/{ => unit_tests}/run_tests.yml | 0 3 files changed, 4 insertions(+), 4 deletions(-) rename .github/workflows/{ => unit_tests}/install_quality_standards.yml (100%) rename .github/workflows/{ => unit_tests}/run_tests.yml (100%) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 88ea3e7ef..931f68d2e 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -61,8 +61,8 @@ jobs: run: micromamba activate weldx - name: install quality standards requisites - if: matrix.py == '3.8' - include: ./install_quality_standards.yml + if: matrix.py == '3.9' + include: ./unit_tests/install_quality_standards.yml job: install_quality_standards - name: run pytest @@ -77,8 +77,8 @@ jobs: path: pytest.xml - name: run advanced unit tests (asdf) with coverage - if: matrix.py == '3.8' - include: ./run_tests.yml + if: matrix.py == '3.9' + include: ./unit_tests/run_tests.yml job: run_tests compat: diff --git a/.github/workflows/install_quality_standards.yml b/.github/workflows/unit_tests/install_quality_standards.yml similarity index 100% rename from .github/workflows/install_quality_standards.yml rename to .github/workflows/unit_tests/install_quality_standards.yml diff --git a/.github/workflows/run_tests.yml b/.github/workflows/unit_tests/run_tests.yml similarity index 100% rename from .github/workflows/run_tests.yml rename to .github/workflows/unit_tests/run_tests.yml From 8d3383132a4ff01b66603afee9c21e496b2fd24f Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 14:21:37 +0200 Subject: [PATCH 13/21] just plain steps --- .../unit_tests/install_quality_standards.yml | 20 ++++++------ .github/workflows/{ => unit_tests}/pytest.yml | 0 .../{ => unit_tests}/pytest_asdf.yml | 0 .github/workflows/unit_tests/run_tests.yml | 32 +++++++++---------- .../{ => unit_tests}/unit_test_results.yml | 0 5 files changed, 26 insertions(+), 26 deletions(-) rename .github/workflows/{ => unit_tests}/pytest.yml (100%) rename .github/workflows/{ => unit_tests}/pytest_asdf.yml (100%) rename .github/workflows/{ => unit_tests}/unit_test_results.yml (100%) diff --git a/.github/workflows/unit_tests/install_quality_standards.yml b/.github/workflows/unit_tests/install_quality_standards.yml index 24b82a164..85a08bffd 100644 --- a/.github/workflows/unit_tests/install_quality_standards.yml +++ b/.github/workflows/unit_tests/install_quality_standards.yml @@ -1,12 +1,12 @@ -name: install quality standards requisites -jobs: - install_quality_standards: - steps: - - name: cookiecutter - run: pip install cookiecutter +#name: install quality standards requisites +#jobs: +# install_quality_standards: +steps: + - name: cookiecutter + run: pip install cookiecutter - - name: create installable quality standard from repo - run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template + - name: create installable quality standard from repo + run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template - - name: install quality standard - run: pip install -e ./quality_standard_demo + - name: install quality standard + run: pip install -e ./quality_standard_demo diff --git a/.github/workflows/pytest.yml b/.github/workflows/unit_tests/pytest.yml similarity index 100% rename from .github/workflows/pytest.yml rename to .github/workflows/unit_tests/pytest.yml diff --git a/.github/workflows/pytest_asdf.yml b/.github/workflows/unit_tests/pytest_asdf.yml similarity index 100% rename from .github/workflows/pytest_asdf.yml rename to .github/workflows/unit_tests/pytest_asdf.yml diff --git a/.github/workflows/unit_tests/run_tests.yml b/.github/workflows/unit_tests/run_tests.yml index 7770a6cd5..ad4731c8b 100644 --- a/.github/workflows/unit_tests/run_tests.yml +++ b/.github/workflows/unit_tests/run_tests.yml @@ -1,21 +1,21 @@ -name: Run unit tests with coverage -jobs: - run_tests: - steps: - - name: run pytest on notebooks (append coverage) - run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ +#name: Run unit tests with coverage +#jobs: +# run_tests: +steps: + - name: run pytest on notebooks (append coverage) + run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ - - name: test with WeldxFile - run: pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests + - name: test with WeldxFile + run: pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests - - name: test quality standard - run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py + - name: test quality standard + run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py - - name: test installable quality standard from template repository - run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py + - name: test installable quality standard from template repository + run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py - - name: coverage xml (combination is performed by pytest-cov) - run: coverage xml + - name: coverage xml (combination is performed by pytest-cov) + run: coverage xml - - name: codecov.io - uses: codecov/codecov-action@v3.1.1 + - name: codecov.io + uses: codecov/codecov-action@v3.1.1 diff --git a/.github/workflows/unit_test_results.yml b/.github/workflows/unit_tests/unit_test_results.yml similarity index 100% rename from .github/workflows/unit_test_results.yml rename to .github/workflows/unit_tests/unit_test_results.yml From 7790d8f929bc6f25d69c14a1751840edac3bfad2 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 14:25:14 +0200 Subject: [PATCH 14/21] mhmhm --- .github/workflows/unit_tests/pytest.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/unit_tests/pytest.yml b/.github/workflows/unit_tests/pytest.yml index 931f68d2e..37bb30da9 100644 --- a/.github/workflows/unit_tests/pytest.yml +++ b/.github/workflows/unit_tests/pytest.yml @@ -63,7 +63,6 @@ jobs: - name: install quality standards requisites if: matrix.py == '3.9' include: ./unit_tests/install_quality_standards.yml - job: install_quality_standards - name: run pytest run: | @@ -79,7 +78,6 @@ jobs: - name: run advanced unit tests (asdf) with coverage if: matrix.py == '3.9' include: ./unit_tests/run_tests.yml - job: run_tests compat: name: pytest From 2b36438c7a30523e43915f58ef4727e4e338fc35 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 14:58:14 +0200 Subject: [PATCH 15/21] undo --- .github/workflows/{unit_tests => }/pytest.yml | 50 ++++++++++++++++--- .../{unit_tests => }/pytest_asdf.yml | 0 .../{unit_tests => }/unit_test_results.yml | 0 .../unit_tests/install_quality_standards.yml | 12 ----- .github/workflows/unit_tests/run_tests.yml | 21 -------- 5 files changed, 43 insertions(+), 40 deletions(-) rename .github/workflows/{unit_tests => }/pytest.yml (67%) rename .github/workflows/{unit_tests => }/pytest_asdf.yml (100%) rename .github/workflows/{unit_tests => }/unit_test_results.yml (100%) delete mode 100644 .github/workflows/unit_tests/install_quality_standards.yml delete mode 100644 .github/workflows/unit_tests/run_tests.yml diff --git a/.github/workflows/unit_tests/pytest.yml b/.github/workflows/pytest.yml similarity index 67% rename from .github/workflows/unit_tests/pytest.yml rename to .github/workflows/pytest.yml index 37bb30da9..42f7bcddf 100644 --- a/.github/workflows/unit_tests/pytest.yml +++ b/.github/workflows/pytest.yml @@ -30,7 +30,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - py: ['3.9', '3.10', '3.11'] + py: ['3.8', '3.9', '3.10', '3.11'] steps: - uses: actions/checkout@v3 with: @@ -60,9 +60,20 @@ jobs: - name: activate env run: micromamba activate weldx - - name: install quality standards requisites - if: matrix.py == '3.9' - include: ./unit_tests/install_quality_standards.yml + - name: install cookiecutter + if: matrix.py == '3.8' + run: | + pip install cookiecutter + + - name: create installable quality standard from repo + if: matrix.py == '3.8' + run: | + cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template + + - name: install quality standard + if: matrix.py == '3.8' + run: | + pip install -e ./quality_standard_demo - name: run pytest run: | @@ -75,9 +86,34 @@ jobs: name: Unit Test Results path: pytest.xml - - name: run advanced unit tests (asdf) with coverage - if: matrix.py == '3.9' - include: ./unit_tests/run_tests.yml + - name: run pytest on notebooks (append coverage) + if: matrix.py == '3.8' + run: | + pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ + + - name: test with WeldxFile + if: matrix.py == '3.8' + run: | + pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests + + - name: test quality standard + if: matrix.py == '3.8' + run: | + pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py + + + - name: test installable quality standard from template repository + if: matrix.py == '3.8' + run: | + pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py + + - name: coverage xml (combination is performed by pytest-cov) + if: matrix.py == '3.8' + run: coverage xml + + - name: codecov.io + if: matrix.py == '3.8' + uses: codecov/codecov-action@v3.1.1 compat: name: pytest diff --git a/.github/workflows/unit_tests/pytest_asdf.yml b/.github/workflows/pytest_asdf.yml similarity index 100% rename from .github/workflows/unit_tests/pytest_asdf.yml rename to .github/workflows/pytest_asdf.yml diff --git a/.github/workflows/unit_tests/unit_test_results.yml b/.github/workflows/unit_test_results.yml similarity index 100% rename from .github/workflows/unit_tests/unit_test_results.yml rename to .github/workflows/unit_test_results.yml diff --git a/.github/workflows/unit_tests/install_quality_standards.yml b/.github/workflows/unit_tests/install_quality_standards.yml deleted file mode 100644 index 85a08bffd..000000000 --- a/.github/workflows/unit_tests/install_quality_standards.yml +++ /dev/null @@ -1,12 +0,0 @@ -#name: install quality standards requisites -#jobs: -# install_quality_standards: -steps: - - name: cookiecutter - run: pip install cookiecutter - - - name: create installable quality standard from repo - run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template - - - name: install quality standard - run: pip install -e ./quality_standard_demo diff --git a/.github/workflows/unit_tests/run_tests.yml b/.github/workflows/unit_tests/run_tests.yml deleted file mode 100644 index ad4731c8b..000000000 --- a/.github/workflows/unit_tests/run_tests.yml +++ /dev/null @@ -1,21 +0,0 @@ -#name: Run unit tests with coverage -#jobs: -# run_tests: -steps: - - name: run pytest on notebooks (append coverage) - run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ - - - name: test with WeldxFile - run: pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests - - - name: test quality standard - run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py - - - name: test installable quality standard from template repository - run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py - - - name: coverage xml (combination is performed by pytest-cov) - run: coverage xml - - - name: codecov.io - uses: codecov/codecov-action@v3.1.1 From ad3e6823cb3d683b92fd426a489da6c73a97ba50 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 14:59:47 +0200 Subject: [PATCH 16/21] py39 --- .github/workflows/pytest.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 42f7bcddf..7dc720f53 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -61,17 +61,17 @@ jobs: run: micromamba activate weldx - name: install cookiecutter - if: matrix.py == '3.8' + if: matrix.py == '3.9' run: | pip install cookiecutter - name: create installable quality standard from repo - if: matrix.py == '3.8' + if: matrix.py == '3.9' run: | cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template - name: install quality standard - if: matrix.py == '3.8' + if: matrix.py == '3.9' run: | pip install -e ./quality_standard_demo @@ -87,32 +87,32 @@ jobs: path: pytest.xml - name: run pytest on notebooks (append coverage) - if: matrix.py == '3.8' + if: matrix.py == '3.9' run: | pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ - name: test with WeldxFile - if: matrix.py == '3.8' + if: matrix.py == '3.9' run: | pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests - name: test quality standard - if: matrix.py == '3.8' + if: matrix.py == '3.9' run: | pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py - name: test installable quality standard from template repository - if: matrix.py == '3.8' + if: matrix.py == '3.9' run: | pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py - name: coverage xml (combination is performed by pytest-cov) - if: matrix.py == '3.8' + if: matrix.py == '3.9' run: coverage xml - name: codecov.io - if: matrix.py == '3.8' + if: matrix.py == '3.9' uses: codecov/codecov-action@v3.1.1 compat: From 7afbd35baaf6536227d722277949db85b88a6b51 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 27 Mar 2023 16:30:38 +0200 Subject: [PATCH 17/21] f --- .github/workflows/pytest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 7dc720f53..7a0daf376 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -30,7 +30,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - py: ['3.8', '3.9', '3.10', '3.11'] + py: ['3.9', '3.10', '3.11'] steps: - uses: actions/checkout@v3 with: From 347f0e6e84a07fe8f23153b52b73c6eeb1762077 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 3 Apr 2023 11:58:17 +0200 Subject: [PATCH 18/21] update pinning --- CHANGELOG.md | 2 +- pyproject.toml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b95c4b2c..4f84e0c2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Dependencies -- require XArray >= 2023.3.0, as `LocalCoordinateSystem` now handles merges correctly \[{pull}`861`\]. +- require XArray >= 2022.9.0, as `LocalCoordinateSystem` now handles merges correctly \[{pull}`861`\]. ## 0.6.4 (09.02.2023) diff --git a/pyproject.toml b/pyproject.toml index 31167e39f..ca8a20b05 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,12 +33,12 @@ classifiers = [ ] # Dependencies -requires-python = ">=3.9" +requires-python = ">=3.8" dependencies = [ "numpy >=1.20", "asdf >=2.8.2,!=2.14.0,!=2.14.1,!=2.14.2", "pandas >=1.0", - "xarray >=2023.3.0", + "xarray >=2022.9.0", "scipy >=1.4,!=1.6.0,!=1.6.1", "sympy >=1.6", "pint >=0.18", From ee22f6887b0fef3e31103c5db37dc1d1fbd65413 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 3 Apr 2023 11:59:33 +0200 Subject: [PATCH 19/21] revert python 3.9 requirement for github actions --- .github/workflows/build_pkg.yml | 2 +- .github/workflows/pytest.yml | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build_pkg.yml b/.github/workflows/build_pkg.yml index 89ec9df9d..c344497dd 100644 --- a/.github/workflows/build_pkg.yml +++ b/.github/workflows/build_pkg.yml @@ -72,7 +72,7 @@ jobs: fetch-depth: 0 # Fetch all history for all tags and branches - uses: actions/setup-python@v4 with: - python-version: '3.9' + python-version: '3.8' - name: Cache pip uses: actions/cache@v3 diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 7a0daf376..42f7bcddf 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -30,7 +30,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - py: ['3.9', '3.10', '3.11'] + py: ['3.8', '3.9', '3.10', '3.11'] steps: - uses: actions/checkout@v3 with: @@ -61,17 +61,17 @@ jobs: run: micromamba activate weldx - name: install cookiecutter - if: matrix.py == '3.9' + if: matrix.py == '3.8' run: | pip install cookiecutter - name: create installable quality standard from repo - if: matrix.py == '3.9' + if: matrix.py == '3.8' run: | cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template - name: install quality standard - if: matrix.py == '3.9' + if: matrix.py == '3.8' run: | pip install -e ./quality_standard_demo @@ -87,32 +87,32 @@ jobs: path: pytest.xml - name: run pytest on notebooks (append coverage) - if: matrix.py == '3.9' + if: matrix.py == '3.8' run: | pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/ - name: test with WeldxFile - if: matrix.py == '3.9' + if: matrix.py == '3.8' run: | pytest -n 2 --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests - name: test quality standard - if: matrix.py == '3.9' + if: matrix.py == '3.8' run: | pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py - name: test installable quality standard from template repository - if: matrix.py == '3.9' + if: matrix.py == '3.8' run: | pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py - name: coverage xml (combination is performed by pytest-cov) - if: matrix.py == '3.9' + if: matrix.py == '3.8' run: coverage xml - name: codecov.io - if: matrix.py == '3.9' + if: matrix.py == '3.8' uses: codecov/codecov-action@v3.1.1 compat: From bf24a1ad5392135fa2edf40ecc8f093b02d328ad Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" <m.scherer@fu-berlin.de> Date: Mon, 3 Apr 2023 18:17:06 +0200 Subject: [PATCH 20/21] revert py39 --- devtools/conda.recipe/build_env.yml | 2 +- devtools/environment.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/devtools/conda.recipe/build_env.yml b/devtools/conda.recipe/build_env.yml index a0cb69761..bb9511c5e 100644 --- a/devtools/conda.recipe/build_env.yml +++ b/devtools/conda.recipe/build_env.yml @@ -3,7 +3,7 @@ channels: - conda-forge - defaults dependencies: - - python=3.9 + - python=3.8 - setuptools - setuptools_scm - conda-verify diff --git a/devtools/environment.yml b/devtools/environment.yml index 3e787a7c5..2bfa12966 100644 --- a/devtools/environment.yml +++ b/devtools/environment.yml @@ -3,7 +3,7 @@ channels: - defaults - conda-forge dependencies: - - python=3.9 + - python=3.8 - setuptools_scm - numpy>=1.18 - pandas>=1.0 From 510f9df164e6aa3cf0ccea04af7236a56d52762b Mon Sep 17 00:00:00 2001 From: Cagtay Fabry <43667554+CagtayFabry@users.noreply.github.com> Date: Mon, 3 Apr 2023 19:23:31 +0200 Subject: [PATCH 21/21] adjust reference time handling in xr_interp_coordinates_in_time --- weldx/transformations/local_cs.py | 2 +- weldx/util/xarray.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/weldx/transformations/local_cs.py b/weldx/transformations/local_cs.py index 4ac9df60e..530364ac5 100644 --- a/weldx/transformations/local_cs.py +++ b/weldx/transformations/local_cs.py @@ -105,7 +105,7 @@ def __init__( coordinates.name = "coordinates" dataset_items.append(coordinates) - self._dataset = xr.merge(dataset_items, join="override") + self._dataset = xr.merge(dataset_items, join="exact") self._time_ref = time_cls.reference_time if isinstance(time_cls, Time) else None if "time" in self._dataset and self._time_ref is not None: diff --git a/weldx/util/xarray.py b/weldx/util/xarray.py index c883217de..4cbf8d84c 100644 --- a/weldx/util/xarray.py +++ b/weldx/util/xarray.py @@ -737,10 +737,14 @@ def xr_interp_coordinates_in_time( return da times = Time(times).as_pandas_index() + time_ref = da.weldx.time_ref da = da.weldx.time_ref_unset() da = xr_interp_like( da, {"time": times}, assume_sorted=True, broadcast_missing=False, fillna=True ) + # resync and reset to correct format + if time_ref: + da.weldx.time_ref = time_ref da = da.weldx.time_ref_restore() if len(da.time) == 1: # remove "time dimension" for static cases