Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
0b75d0b
feat: add gui for batch reduction
jokasimr Feb 11, 2025
5902cc0
WIP: syncing
jokasimr Feb 12, 2025
0370c15
fix
jokasimr Feb 12, 2025
e426bf2
feat: color reduced runs, only reduce and plot selected runs
jokasimr Feb 14, 2025
e7c166f
update dependencies
jokasimr Feb 18, 2025
71f7b2d
fix: make coloring depend on reference
jokasimr Feb 18, 2025
19adb21
add gui notebook
jokasimr Feb 18, 2025
5a3af46
split logbox components and added separate log tab, 'add rows' adds c…
paracini Feb 20, 2025
a1f8db3
split logbox components and added separate log tab, 'add rows' adds c…
paracini Feb 20, 2025
2d79004
added Nexus Explorer tab with visualisation of nexus tree and content…
paracini Feb 21, 2025
9ad5a53
copier update && tox -e deps
jokasimr Feb 21, 2025
80d5a6e
copier update && tox -e deps
jokasimr Feb 21, 2025
34eb81b
Merge branch 'gui-experiment' into gui-experiment
jokasimr Feb 21, 2025
c6a73d5
Apply automatic formatting
pre-commit-ci-lite[bot] Feb 21, 2025
9493b44
pre-commit run --all-files
jokasimr Feb 21, 2025
55a7f31
ci: Updated dependencies with tox -e deps
paracini Feb 21, 2025
d5914f0
ci: Updated dependencies with tox -e deps
paracini Feb 21, 2025
df7c414
Added nexus explorer (#120)
paracini Feb 21, 2025
af99d93
feat: interactive figures -remove stitched
jokasimr Feb 21, 2025
1abe383
Interactive plotting, R*Q^4 toggle, individual dataset toggles, plot …
paracini Feb 24, 2025
044c759
refactor: separate out independent components
jokasimr Mar 3, 2025
b790f18
Merge gui-experiment
jokasimr Mar 3, 2025
10a8fa7
Merge branch 'gui-experiment' of github.com:scipp/essreflectometry in…
jokasimr Mar 3, 2025
352999a
refactor: simplify the figure view
jokasimr Mar 25, 2025
32b94e9
Merge pull request #1 from scipp/refactor-gui
paracini Mar 27, 2025
336e8b9
fix
paracini Mar 27, 2025
f58df1a
Merge pull request #121 from paracini/gui-experiment
jokasimr Mar 28, 2025
c1ff335
docs: allow widgets in docs
jokasimr Mar 28, 2025
bd30d34
fix: use %widget in gui notebook
jokasimr Mar 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
_commit: a052529
_commit: d704227
_src_path: gh:scipp/copier_template
description: Reflectometry data reduction for the European Spallation Source
max_python: '3.12'
max_python: '3.13'
min_python: '3.10'
namespace_package: ess
nightly_deps: plopp,sciline,scippneutron,scippnexus,scipp
orgname: scipp
prettyname: ESSreflectometry
projectname: essreflectometry
related_projects: Scipp,ScippNexus,ScippNeutron,Sciline,Plopp
year: 2024
year: 2025
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
formatting:
name: Formatting and static analysis
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
outputs:
min_python: ${{ steps.vars.outputs.min_python }}
min_tox_env: ${{ steps.vars.outputs.min_tox_env }}
Expand All @@ -19,15 +19,15 @@ jobs:
- name: Get Python version for other CI jobs
id: vars
run: |
echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
echo "min_tox_env=py$(cat .github/workflows/python-version-ci | sed 's/\.//g')" >> $GITHUB_OUTPUT
echo "min_python=$(< .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"
echo "min_tox_env=py$(sed 's/\.//g' < .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-python@v5
with:
python-version-file: '.github/workflows/python-version-ci'
- uses: pre-commit/[email protected]
with:
extra_args: --all-files
- uses: pre-commit-ci/lite-action@v1.0.3
- uses: pre-commit-ci/lite-action@v1.1.0
if: always()
with:
msg: Apply automatic formatting
Expand All @@ -37,7 +37,7 @@ jobs:
needs: formatting
strategy:
matrix:
os: ['ubuntu-22.04']
os: ['ubuntu-24.04']
python:
- version: '${{needs.formatting.outputs.min_python}}'
tox-env: '${{needs.formatting.outputs.min_tox_env}}'
Expand All @@ -53,6 +53,6 @@ jobs:
uses: ./.github/workflows/docs.yml
with:
publish: false
linkcheck: ${{ contains(matrix.variant.os, 'ubuntu') && github.ref == 'refs/heads/main' }}
linkcheck: ${{ github.ref == 'refs/heads/main' }}
branch: ${{ github.head_ref == '' && github.ref_name || github.head_ref }}
secrets: inherit
8 changes: 5 additions & 3 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ env:
jobs:
docs:
name: Build documentation
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
env:
ESS_PROTECTED_FILESTORE_USERNAME: ${{ secrets.ESS_PROTECTED_FILESTORE_USERNAME }}
ESS_PROTECTED_FILESTORE_PASSWORD: ${{ secrets.ESS_PROTECTED_FILESTORE_PASSWORD }}
Expand All @@ -58,18 +58,20 @@ jobs:
python-version-file: '.github/workflows/python-version-ci'
- run: python -m pip install --upgrade pip
- run: python -m pip install -r requirements/ci.txt
- run: tox -e releasedocs -- ${VERSION}
- run: tox -e releasedocs -- "${VERSION}"
if: ${{ inputs.version != '' }}
- run: tox -e docs
if: ${{ inputs.version == '' }}
- run: tox -e linkcheck
if: ${{ inputs.linkcheck }}
- uses: actions/upload-artifact@v4
id: artifact-upload-step
with:
name: docs_html
path: html/
- run: echo "::notice::https://remote-unzip.deno.dev/${{ github.repository }}/artifacts/${{ steps.artifact-upload-step.outputs.artifact-id }}"

- uses: JamesIves/github-pages-deploy-action@v4.6.4
- uses: JamesIves/github-pages-deploy-action@v4.7.2
if: ${{ inputs.publish }}
with:
branch: gh-pages
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/nightly_at_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,21 @@ on:
jobs:
setup:
name: Setup variables
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
outputs:
min_python: ${{ steps.vars.outputs.min_python }}
steps:
- uses: actions/checkout@v4
- name: Get Python version for other CI jobs
id: vars
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
run: echo "min_python=$(< .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"

tests:
name: Tests
needs: setup
strategy:
matrix:
os: ['ubuntu-22.04']
os: ['ubuntu-24.04']
python:
- version: '${{needs.setup.outputs.min_python}}'
tox-env: 'nightly'
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/nightly_at_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
jobs:
setup:
name: Setup variables
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
outputs:
min_python: ${{ steps.vars.outputs.min_python }}
release_tag: ${{ steps.release.outputs.release_tag }}
Expand All @@ -18,17 +18,17 @@ jobs:
fetch-depth: 0 # history required so we can determine latest release tag
- name: Get last release tag from git
id: release
run: echo "release_tag=$(git describe --tags --abbrev=0 --match '[0-9]*.[0-9]*.[0-9]*')" >> $GITHUB_OUTPUT
run: echo "release_tag=$(git describe --tags --abbrev=0 --match '[0-9]*.[0-9]*.[0-9]*')" >> "$GITHUB_OUTPUT"
- name: Get Python version for other CI jobs
id: vars
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"

tests:
name: Tests
needs: setup
strategy:
matrix:
os: ['ubuntu-22.04']
os: ['ubuntu-24.04']
python:
- version: '${{needs.setup.outputs.min_python}}'
tox-env: 'nightly'
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ defaults:
jobs:
build_conda:
name: Conda build
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'

steps:
- uses: actions/checkout@v4
Expand All @@ -35,7 +35,7 @@ jobs:

build_wheels:
name: Wheels
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'

steps:
- uses: actions/checkout@v4
Expand All @@ -61,7 +61,7 @@ jobs:
upload_pypi:
name: Deploy PyPI
needs: [build_wheels, build_conda]
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
environment: release
permissions:
id-token: write
Expand All @@ -73,7 +73,7 @@ jobs:
upload_conda:
name: Deploy Conda
needs: [build_wheels, build_conda]
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
if: github.event_name == 'release' && github.event.action == 'published'

steps:
Expand All @@ -97,7 +97,7 @@ jobs:
assets:
name: Upload docs
needs: docs
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
permissions:
contents: write # This is needed so that the action can upload the asset
steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
workflow_dispatch:
inputs:
os-variant:
default: 'ubuntu-22.04'
default: 'ubuntu-24.04'
type: string
python-version:
type: string
Expand All @@ -23,7 +23,7 @@ on:
workflow_call:
inputs:
os-variant:
default: 'ubuntu-22.04'
default: 'ubuntu-24.04'
type: string
python-version:
type: string
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/unpinned.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
jobs:
setup:
name: Setup variables
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
outputs:
min_python: ${{ steps.vars.outputs.min_python }}
release_tag: ${{ steps.release.outputs.release_tag }}
Expand All @@ -18,17 +18,17 @@ jobs:
fetch-depth: 0 # history required so we can determine latest release tag
- name: Get last release tag from git
id: release
run: echo "release_tag=$(git describe --tags --abbrev=0 --match '[0-9]*.[0-9]*.[0-9]*')" >> $GITHUB_OUTPUT
run: echo "release_tag=$(git describe --tags --abbrev=0 --match '[0-9]*.[0-9]*.[0-9]*')" >> "$GITHUB_OUTPUT"
- name: Get Python version for other CI jobs
id: vars
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"

tests:
name: Tests
needs: setup
strategy:
matrix:
os: ['ubuntu-22.04']
os: ['ubuntu-24.04']
python:
- version: '${{needs.setup.outputs.min_python}}'
tox-env: 'unpinned'
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/weekly_windows_macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Windows and MacOS weekly tests

on:
workflow_dispatch:
schedule:
- cron: '0 2 * * 1'

jobs:
pytox:
name: Python and Tox env
runs-on: 'ubuntu-24.04'
outputs:
min_python: ${{ steps.vars.outputs.min_python }}
min_tox_env: ${{ steps.vars.outputs.min_tox_env }}
steps:
- uses: actions/checkout@v4
- name: Get Python version for other CI jobs
id: vars
run: |
echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
echo "min_tox_env=py$(cat .github/workflows/python-version-ci | sed 's/\.//g')" >> $GITHUB_OUTPUT
tests:
name: Tests
needs: pytox
strategy:
matrix:
os: ['macos-latest', 'windows-latest']
python:
- version: '${{needs.pytox.outputs.min_python}}'
tox-env: '${{needs.pytox.outputs.min_tox_env}}'
uses: ./.github/workflows/test.yml
with:
os-variant: ${{ matrix.os }}
python-version: ${{ matrix.python.version }}
tox-env: ${{ matrix.python.tox-env }}

docs:
needs: tests
uses: ./.github/workflows/docs.yml
with:
publish: false
branch: ${{ github.head_ref == '' && github.ref_name || github.head_ref }}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ dist
html
.tox
*.egg-info
uv.lock # we lock dependencies with pip-compile, not uv
# we lock dependencies with pip-compile, not uv
uv.lock

*.sw?

Expand Down Expand Up @@ -42,3 +43,5 @@ docs/generated/
*.rcif
*.ort
*.zip
*.sqw
*.nxspe
12 changes: 10 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-illegal-windows-names
- id: check-json
exclude: asv.conf.json
- id: check-merge-conflict
Expand All @@ -21,7 +23,7 @@ repos:
args: [ "--drop-empty-cells",
"--extra-keys 'metadata.language_info.version cell.metadata.jp-MarkdownHeadingCollapsed cell.metadata.pycharm'" ]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.2
rev: v0.8.0
hooks:
- id: ruff
args: [ --fix ]
Expand All @@ -44,3 +46,9 @@ repos:
- id: rst-directive-colons
- id: rst-inline-touching-normal
- id: text-unicode-replacement-char
- repo: https://github.com/rhysd/actionlint
rev: v1.7.3
hooks:
- id: actionlint
# Disable because of false-positive SC2046
args: ["-shellcheck="]
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2024, Scipp contributors (https://github.com/scipp)
Copyright (c) 2025, Scipp contributors (https://github.com/scipp)
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
10 changes: 8 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2024 Scipp contributors (https://github.com/scipp)
# Copyright (c) 2025 Scipp contributors (https://github.com/scipp)

import doctest
import os
Expand All @@ -15,7 +15,7 @@

# General information about the project.
project = 'ESSreflectometry'
copyright = '2024 Scipp contributors'
copyright = '2025 Scipp contributors'
author = 'Scipp contributors'

html_show_sourcelink = True
Expand Down Expand Up @@ -265,3 +265,9 @@ def do_not_plot(*args, **kwargs):
# Specific lines in Github blobs cannot be found by linkcheck.
r'https?://github\.com/.*?/blob/[a-f0-9]+/.+?#',
]

# -- Options for Matplotlib in notebooks ----------------------------------

nbsphinx_execute_arguments = [
"--Session.metadata=scipp_sphinx_build=True",
]
Loading