From 7774f8918cfeee325f17bcce1f99debd3a627515 Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:01:24 +0200 Subject: [PATCH 01/11] move files into new folder --- src/{essreflectometry => ess}/amor/__init__.py | 0 src/{essreflectometry => ess}/amor/beamline.py | 0 src/{essreflectometry => ess}/amor/conversions.py | 0 src/{essreflectometry => ess}/amor/data.py | 0 src/{essreflectometry => ess}/amor/instrument_view.py | 0 src/{essreflectometry => ess}/amor/load.py | 0 src/{essreflectometry => ess}/amor/orso.py | 0 src/{essreflectometry => ess}/amor/resolution.py | 0 src/{essreflectometry => ess}/amor/types.py | 0 src/{essreflectometry => ess/reflectometry}/__init__.py | 0 src/{essreflectometry => ess/reflectometry}/calibrations.py | 0 src/{essreflectometry => ess/reflectometry}/choppers/__init__.py | 0 .../reflectometry}/choppers/make_chopper.py | 0 src/{essreflectometry => ess/reflectometry}/choppers/utils.py | 0 src/{essreflectometry => ess/reflectometry}/conversions.py | 0 src/{essreflectometry => ess/reflectometry}/corrections.py | 0 src/{essreflectometry => ess/reflectometry}/load.py | 0 src/{essreflectometry => ess/reflectometry}/logging.py | 0 src/{essreflectometry => ess/reflectometry}/normalize.py | 0 src/{essreflectometry => ess/reflectometry}/orso.py | 0 src/{essreflectometry => ess/reflectometry}/py.typed | 0 src/{essreflectometry => ess/reflectometry}/reductions.py | 0 .../reflectometry}/supermirror/__init__.py | 0 src/{essreflectometry => ess/reflectometry}/supermirror/types.py | 0 src/{essreflectometry => ess/reflectometry}/tools.py | 0 src/{essreflectometry => ess/reflectometry}/types.py | 0 26 files changed, 0 insertions(+), 0 deletions(-) rename src/{essreflectometry => ess}/amor/__init__.py (100%) rename src/{essreflectometry => ess}/amor/beamline.py (100%) rename src/{essreflectometry => ess}/amor/conversions.py (100%) rename src/{essreflectometry => ess}/amor/data.py (100%) rename src/{essreflectometry => ess}/amor/instrument_view.py (100%) rename src/{essreflectometry => ess}/amor/load.py (100%) rename src/{essreflectometry => ess}/amor/orso.py (100%) rename src/{essreflectometry => ess}/amor/resolution.py (100%) rename src/{essreflectometry => ess}/amor/types.py (100%) rename src/{essreflectometry => ess/reflectometry}/__init__.py (100%) rename src/{essreflectometry => ess/reflectometry}/calibrations.py (100%) rename src/{essreflectometry => ess/reflectometry}/choppers/__init__.py (100%) rename src/{essreflectometry => ess/reflectometry}/choppers/make_chopper.py (100%) rename src/{essreflectometry => ess/reflectometry}/choppers/utils.py (100%) rename src/{essreflectometry => ess/reflectometry}/conversions.py (100%) rename src/{essreflectometry => ess/reflectometry}/corrections.py (100%) rename src/{essreflectometry => ess/reflectometry}/load.py (100%) rename src/{essreflectometry => ess/reflectometry}/logging.py (100%) rename src/{essreflectometry => ess/reflectometry}/normalize.py (100%) rename src/{essreflectometry => ess/reflectometry}/orso.py (100%) rename src/{essreflectometry => ess/reflectometry}/py.typed (100%) rename src/{essreflectometry => ess/reflectometry}/reductions.py (100%) rename src/{essreflectometry => ess/reflectometry}/supermirror/__init__.py (100%) rename src/{essreflectometry => ess/reflectometry}/supermirror/types.py (100%) rename src/{essreflectometry => ess/reflectometry}/tools.py (100%) rename src/{essreflectometry => ess/reflectometry}/types.py (100%) diff --git a/src/essreflectometry/amor/__init__.py b/src/ess/amor/__init__.py similarity index 100% rename from src/essreflectometry/amor/__init__.py rename to src/ess/amor/__init__.py diff --git a/src/essreflectometry/amor/beamline.py b/src/ess/amor/beamline.py similarity index 100% rename from src/essreflectometry/amor/beamline.py rename to src/ess/amor/beamline.py diff --git a/src/essreflectometry/amor/conversions.py b/src/ess/amor/conversions.py similarity index 100% rename from src/essreflectometry/amor/conversions.py rename to src/ess/amor/conversions.py diff --git a/src/essreflectometry/amor/data.py b/src/ess/amor/data.py similarity index 100% rename from src/essreflectometry/amor/data.py rename to src/ess/amor/data.py diff --git a/src/essreflectometry/amor/instrument_view.py b/src/ess/amor/instrument_view.py similarity index 100% rename from src/essreflectometry/amor/instrument_view.py rename to src/ess/amor/instrument_view.py diff --git a/src/essreflectometry/amor/load.py b/src/ess/amor/load.py similarity index 100% rename from src/essreflectometry/amor/load.py rename to src/ess/amor/load.py diff --git a/src/essreflectometry/amor/orso.py b/src/ess/amor/orso.py similarity index 100% rename from src/essreflectometry/amor/orso.py rename to src/ess/amor/orso.py diff --git a/src/essreflectometry/amor/resolution.py b/src/ess/amor/resolution.py similarity index 100% rename from src/essreflectometry/amor/resolution.py rename to src/ess/amor/resolution.py diff --git a/src/essreflectometry/amor/types.py b/src/ess/amor/types.py similarity index 100% rename from src/essreflectometry/amor/types.py rename to src/ess/amor/types.py diff --git a/src/essreflectometry/__init__.py b/src/ess/reflectometry/__init__.py similarity index 100% rename from src/essreflectometry/__init__.py rename to src/ess/reflectometry/__init__.py diff --git a/src/essreflectometry/calibrations.py b/src/ess/reflectometry/calibrations.py similarity index 100% rename from src/essreflectometry/calibrations.py rename to src/ess/reflectometry/calibrations.py diff --git a/src/essreflectometry/choppers/__init__.py b/src/ess/reflectometry/choppers/__init__.py similarity index 100% rename from src/essreflectometry/choppers/__init__.py rename to src/ess/reflectometry/choppers/__init__.py diff --git a/src/essreflectometry/choppers/make_chopper.py b/src/ess/reflectometry/choppers/make_chopper.py similarity index 100% rename from src/essreflectometry/choppers/make_chopper.py rename to src/ess/reflectometry/choppers/make_chopper.py diff --git a/src/essreflectometry/choppers/utils.py b/src/ess/reflectometry/choppers/utils.py similarity index 100% rename from src/essreflectometry/choppers/utils.py rename to src/ess/reflectometry/choppers/utils.py diff --git a/src/essreflectometry/conversions.py b/src/ess/reflectometry/conversions.py similarity index 100% rename from src/essreflectometry/conversions.py rename to src/ess/reflectometry/conversions.py diff --git a/src/essreflectometry/corrections.py b/src/ess/reflectometry/corrections.py similarity index 100% rename from src/essreflectometry/corrections.py rename to src/ess/reflectometry/corrections.py diff --git a/src/essreflectometry/load.py b/src/ess/reflectometry/load.py similarity index 100% rename from src/essreflectometry/load.py rename to src/ess/reflectometry/load.py diff --git a/src/essreflectometry/logging.py b/src/ess/reflectometry/logging.py similarity index 100% rename from src/essreflectometry/logging.py rename to src/ess/reflectometry/logging.py diff --git a/src/essreflectometry/normalize.py b/src/ess/reflectometry/normalize.py similarity index 100% rename from src/essreflectometry/normalize.py rename to src/ess/reflectometry/normalize.py diff --git a/src/essreflectometry/orso.py b/src/ess/reflectometry/orso.py similarity index 100% rename from src/essreflectometry/orso.py rename to src/ess/reflectometry/orso.py diff --git a/src/essreflectometry/py.typed b/src/ess/reflectometry/py.typed similarity index 100% rename from src/essreflectometry/py.typed rename to src/ess/reflectometry/py.typed diff --git a/src/essreflectometry/reductions.py b/src/ess/reflectometry/reductions.py similarity index 100% rename from src/essreflectometry/reductions.py rename to src/ess/reflectometry/reductions.py diff --git a/src/essreflectometry/supermirror/__init__.py b/src/ess/reflectometry/supermirror/__init__.py similarity index 100% rename from src/essreflectometry/supermirror/__init__.py rename to src/ess/reflectometry/supermirror/__init__.py diff --git a/src/essreflectometry/supermirror/types.py b/src/ess/reflectometry/supermirror/types.py similarity index 100% rename from src/essreflectometry/supermirror/types.py rename to src/ess/reflectometry/supermirror/types.py diff --git a/src/essreflectometry/tools.py b/src/ess/reflectometry/tools.py similarity index 100% rename from src/essreflectometry/tools.py rename to src/ess/reflectometry/tools.py diff --git a/src/essreflectometry/types.py b/src/ess/reflectometry/types.py similarity index 100% rename from src/essreflectometry/types.py rename to src/ess/reflectometry/types.py From 224e62d94b888ddc1b19f0ead5e3a240f0ddcfed Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:01:37 +0200 Subject: [PATCH 02/11] fix imports --- src/ess/amor/__init__.py | 8 ++++---- src/ess/amor/beamline.py | 6 +++--- src/ess/amor/conversions.py | 2 +- src/ess/amor/data.py | 2 +- src/ess/amor/load.py | 2 +- src/ess/amor/orso.py | 15 +++++++++++++-- src/ess/amor/resolution.py | 8 +++----- src/ess/amor/types.py | 2 +- 8 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/ess/amor/__init__.py b/src/ess/amor/__init__.py index 83c41d0..fc79aee 100644 --- a/src/ess/amor/__init__.py +++ b/src/ess/amor/__init__.py @@ -3,9 +3,9 @@ # flake8: noqa: F401 import scipp as sc -from .. import providers as reflectometry_providers -from .. import supermirror -from ..types import ( +from ..reflectometry import providers as reflectometry_providers +from ..reflectometry import supermirror +from ..reflectometry.types import ( BeamSize, DetectorSpatialResolution, Gravity, @@ -16,7 +16,7 @@ SampleSize, WavelengthEdges, ) -from . import beamline, conversions, data, load, resolution +from . import beamline, conversions, data, load, orso, resolution from .beamline import instrument_view_components from .instrument_view import instrument_view from .types import ( diff --git a/src/ess/amor/beamline.py b/src/ess/amor/beamline.py index b7fbc40..231b27b 100644 --- a/src/ess/amor/beamline.py +++ b/src/ess/amor/beamline.py @@ -2,9 +2,9 @@ # Copyright (c) 2023 Scipp contributors (https://github.com/scipp) import scipp as sc -from ..choppers import make_chopper -from ..logging import log_call -from ..types import ( +from ..reflectometry.choppers import make_chopper +from ..reflectometry.logging import log_call +from ..reflectometry.types import ( BeamSize, DetectorSpatialResolution, Gravity, diff --git a/src/ess/amor/conversions.py b/src/ess/amor/conversions.py index 1347e84..bd4da6a 100644 --- a/src/ess/amor/conversions.py +++ b/src/ess/amor/conversions.py @@ -2,7 +2,7 @@ # Copyright (c) 2023 Scipp contributors (https://github.com/scipp) import scipp as sc -from ..types import IncidentBeam, Run, SamplePosition +from ..reflectometry.types import IncidentBeam, Run, SamplePosition from .types import Chopper1Position, Chopper2Position diff --git a/src/ess/amor/data.py b/src/ess/amor/data.py index 4b73a63..ad0d3dd 100644 --- a/src/ess/amor/data.py +++ b/src/ess/amor/data.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2023 Scipp contributors (https://github.com/scipp) -from ..types import FilePath, PoochFilename, Run +from ..reflectometry.types import FilePath, PoochFilename, Run _version = '1' diff --git a/src/ess/amor/load.py b/src/ess/amor/load.py index 0a4410e..b7a3a05 100644 --- a/src/ess/amor/load.py +++ b/src/ess/amor/load.py @@ -3,7 +3,7 @@ import scipp as sc from ess.reduce import nexus -from ..types import ( +from ..reflectometry.types import ( ChopperCorrectedTofEvents, DetectorPosition, FilePath, diff --git a/src/ess/amor/orso.py b/src/ess/amor/orso.py index dc72139..4861144 100644 --- a/src/ess/amor/orso.py +++ b/src/ess/amor/orso.py @@ -9,8 +9,19 @@ from orsopy.fileio import data_source as orso_data_source from orsopy.fileio.orso import Column, Orso, OrsoDataset -from ..orso import OrsoDataSource, OrsoInstrument, OrsoIofQDataset, OrsoReduction -from ..types import NormalizedIofQ1D, QResolution, Sample, ThetaData, WavelengthData +from ..reflectometry.orso import ( + OrsoDataSource, + OrsoInstrument, + OrsoIofQDataset, + OrsoReduction, +) +from ..reflectometry.types import ( + NormalizedIofQ1D, + QResolution, + Sample, + ThetaData, + WavelengthData, +) def build_orso_instrument( diff --git a/src/ess/amor/resolution.py b/src/ess/amor/resolution.py index e7c5d59..474b7ae 100644 --- a/src/ess/amor/resolution.py +++ b/src/ess/amor/resolution.py @@ -2,8 +2,8 @@ # Copyright (c) 2023 Scipp contributors (https://github.com/scipp) import scipp as sc -from ..tools import fwhm_to_std -from ..types import ( +from ..reflectometry.tools import fwhm_to_std +from ..reflectometry.types import ( DetectorPosition, DetectorSpatialResolution, QBins, @@ -146,9 +146,7 @@ def sigma_Q( Combined resolution function. """ return sc.sqrt( - angular_resolution**2 - + wavelength_resolution**2 - + sample_size_resolution**2 + angular_resolution**2 + wavelength_resolution**2 + sample_size_resolution**2 ).max('detector_number') * sc.midpoints(q_bins) diff --git a/src/ess/amor/types.py b/src/ess/amor/types.py index 168e567..c695e26 100644 --- a/src/ess/amor/types.py +++ b/src/ess/amor/types.py @@ -3,7 +3,7 @@ import sciline import scipp as sc -from ..types import Run +from ..reflectometry.types import Run WavelengthResolution = NewType('WavelengthResolution', sc.Variable) AngularResolution = NewType('AngularResolution', sc.Variable) From d24977b8979aedaa37076f47a669bcf83885790d Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:02:23 +0200 Subject: [PATCH 03/11] update amor notebook --- docs/examples/amor.ipynb | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/docs/examples/amor.ipynb b/docs/examples/amor.ipynb index 0d8e604..7832711 100644 --- a/docs/examples/amor.ipynb +++ b/docs/examples/amor.ipynb @@ -19,9 +19,8 @@ "source": [ "import scipp as sc\n", "import sciline\n", - "from essreflectometry.amor import providers, default_parameters\n", - "from essreflectometry.types import *\n", - "from essreflectometry.amor.data import providers as amor_data" + "from ess import amor\n", + "from ess.reflectometry.types import *" ] }, { @@ -31,8 +30,8 @@ "outputs": [], "source": [ "pl = sciline.Pipeline(\n", - " (*providers, *amor_data),\n", - " params=default_parameters\n", + " (*amor.providers, *amor.data.providers),\n", + " params=amor.default_parameters\n", ")\n", "\n", "pl[QBins] = sc.geomspace(dim='Q', start=0.008, stop=0.075, num=200, unit='1/angstrom')\n", @@ -93,7 +92,7 @@ "metadata": {}, "outputs": [], "source": [ - "from essreflectometry.types import ThetaData\n", + "from ess.reflectometry.types import ThetaData\n", "pl.compute(ThetaData[Sample])\\\n", " .bins.concat('detector_number')\\\n", " .hist(\n", @@ -129,8 +128,7 @@ "metadata": {}, "outputs": [], "source": [ - "from essreflectometry import orso\n", - "from essreflectometry.amor import orso as amor_orso\n", + "from ess.reflectometry import orso\n", "from orsopy import fileio" ] }, @@ -140,7 +138,7 @@ "metadata": {}, "outputs": [], "source": [ - "for p in (*orso.providers, *amor_orso.providers):\n", + "for p in (*orso.providers, *amor.orso.providers):\n", " pl.insert(p)\n", "\n", "pl[orso.OrsoCreator] = orso.OrsoCreator(fileio.base.Person(\n", @@ -278,8 +276,7 @@ "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" + "pygments_lexer": "ipython3" } }, "nbformat": 4, From 41ca9af153b05e449c0f54163ff0e39bc53f7953 Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:06:55 +0200 Subject: [PATCH 04/11] fix tests --- tests/amor/pipeline_test.py | 14 ++++++-------- tests/amor/tools_test.py | 2 +- tests/corrections_test.py | 2 +- tests/orso_test.py | 17 ++++++++--------- tests/package_test.py | 2 +- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/tests/amor/pipeline_test.py b/tests/amor/pipeline_test.py index dd8cfc5..896f212 100644 --- a/tests/amor/pipeline_test.py +++ b/tests/amor/pipeline_test.py @@ -8,18 +8,15 @@ import scipp as sc from orsopy import fileio -from essreflectometry import orso -from essreflectometry.amor import default_parameters -from essreflectometry.amor import orso as amor_orso -from essreflectometry.amor import providers -from essreflectometry.amor.data import get_path -from essreflectometry.types import * +from ess.reflectometry import orso +from ess import amor +from ess.reflectometry.types import * @pytest.fixture() def amor_pipeline() -> sciline.Pipeline: params = { - **default_parameters, + **amor.default_parameters, QBins: sc.geomspace( dim='Q', start=0.008, stop=0.075, num=200, unit='1/angstrom' ), @@ -39,7 +36,8 @@ def amor_pipeline() -> sciline.Pipeline: ), } return sciline.Pipeline( - (*providers, *orso.providers, *amor_orso.providers, get_path), params=params + (*amor.providers, *orso.providers, *amor.orso.providers, amor.data.get_path), + params=params, ) diff --git a/tests/amor/tools_test.py b/tests/amor/tools_test.py index 2d0e25e..39fd2bc 100644 --- a/tests/amor/tools_test.py +++ b/tests/amor/tools_test.py @@ -4,7 +4,7 @@ import pytest import scipp as sc -from essreflectometry import tools +from ess.reflectometry import tools def test_linlogspace_linear(): diff --git a/tests/corrections_test.py b/tests/corrections_test.py index c659b64..fcfff78 100644 --- a/tests/corrections_test.py +++ b/tests/corrections_test.py @@ -4,7 +4,7 @@ import scipp as sc from orsopy import fileio -from essreflectometry import corrections +from ess.reflectometry import corrections def test_normalize_by_counts(): diff --git a/tests/orso_test.py b/tests/orso_test.py index 536ad13..6415e47 100644 --- a/tests/orso_test.py +++ b/tests/orso_test.py @@ -5,18 +5,17 @@ import sciline from orsopy import fileio -import essreflectometry -from essreflectometry import orso -from essreflectometry.amor.data import providers as amor_data_providers -from essreflectometry.amor.load import providers as amor_load_providers -from essreflectometry.types import PoochFilename, Sample +from ess import reflectometry +from ess.reflectometry import orso +from ess import amor +from ess.reflectometry.types import PoochFilename, Sample def test_build_orso_data_source(): pipeline = sciline.Pipeline( ( - *amor_data_providers, - *amor_load_providers, + *amor.data.providers, + *amor.load.providers, *orso.providers, ), params={PoochFilename[Sample]: 'sample.nxs'}, @@ -48,7 +47,7 @@ def test_build_orso_reduction_without_creator(): pipeline = sciline.Pipeline(orso.providers) reduction = pipeline.compute(orso.OrsoReduction) assert reduction.software.name == 'ess.reflectometry' - assert reduction.software.version == str(essreflectometry.__version__) + assert reduction.software.version == str(reflectometry.__version__) assert reduction.creator is None @@ -61,5 +60,5 @@ def test_build_orso_reduction_with_creator(): ) reduction = pipeline.compute(orso.OrsoReduction) assert reduction.software.name == 'ess.reflectometry' - assert reduction.software.version == str(essreflectometry.__version__) + assert reduction.software.version == str(reflectometry.__version__) assert reduction.creator == creator diff --git a/tests/package_test.py b/tests/package_test.py index 6d3900b..4ed385c 100644 --- a/tests/package_test.py +++ b/tests/package_test.py @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2023 Scipp contributors (https://github.com/scipp) -import essreflectometry as pkg +from ess import reflectometry as pkg def test_has_version(): From ec363cbdbfcdd16b7671c48547cb580cc466e5c9 Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:07:12 +0200 Subject: [PATCH 05/11] isort --- tests/amor/pipeline_test.py | 2 +- tests/orso_test.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/amor/pipeline_test.py b/tests/amor/pipeline_test.py index 896f212..b76e76f 100644 --- a/tests/amor/pipeline_test.py +++ b/tests/amor/pipeline_test.py @@ -8,8 +8,8 @@ import scipp as sc from orsopy import fileio -from ess.reflectometry import orso from ess import amor +from ess.reflectometry import orso from ess.reflectometry.types import * diff --git a/tests/orso_test.py b/tests/orso_test.py index 6415e47..1ad0a5a 100644 --- a/tests/orso_test.py +++ b/tests/orso_test.py @@ -5,9 +5,8 @@ import sciline from orsopy import fileio -from ess import reflectometry +from ess import amor, reflectometry from ess.reflectometry import orso -from ess import amor from ess.reflectometry.types import PoochFilename, Sample From 84f965534f68314807c2db51e3324136ffa3ff4c Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:08:54 +0200 Subject: [PATCH 06/11] update docs conf --- docs/conf.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 5fc7f8f..8338022 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -4,13 +4,13 @@ import os import sys -import essreflectometry +from ess import reflectometry sys.path.insert(0, os.path.abspath('.')) # General information about the project. project = u'ESSreflectometry' -copyright = u'2023 Scipp contributors' +copyright = u'2024 Scipp contributors' author = u'Scipp contributors' html_show_sourcelink = True @@ -81,7 +81,7 @@ typehints_defaults = 'comma' typehints_use_rtype = False -sciline_domain_types_prefix = 'essreflectometry' +sciline_domain_types_prefix = 'ess.reflectometry' sciline_domain_types_aliases = { 'scipp._scipp.core.DataArray': 'scipp.DataArray', 'scipp._scipp.core.Dataset': 'scipp.Dataset', @@ -109,9 +109,9 @@ # # The short X.Y version. -version = essreflectometry.__version__ +version = reflectometry.__version__ # The full version, including alpha/beta/rc tags. -release = essreflectometry.__version__ +release = reflectometry.__version__ warning_is_error = True From a504bc654f0b9d3ffc06ab4c8c234d4d5b1a97dc Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:11:10 +0200 Subject: [PATCH 07/11] update api reference --- docs/api-reference/index.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/docs/api-reference/index.md b/docs/api-reference/index.md index 0e4f20b..de2bcba 100644 --- a/docs/api-reference/index.md +++ b/docs/api-reference/index.md @@ -3,7 +3,7 @@ ## Classes ```{eval-rst} -.. currentmodule:: essreflectometry +.. currentmodule:: ess.reflectometry .. autosummary:: :toctree: ../generated/classes @@ -29,8 +29,27 @@ :template: module-template.rst :recursive: - amor orso supermirror types ``` + +## Amor + +```{eval-rst} +.. currentmodule:: ess.amor + +.. autosummary:: + :toctree: ../generated/modules + :template: module-template.rst + :recursive: + + beamline + conversions + data + instrument_view + load + orso + resolution + types +``` From 012351ebdc55ef619ac34fa852aed988984a6c7c Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:16:08 +0200 Subject: [PATCH 08/11] update conda meta and add version to amor subpackage --- conda/meta.yaml | 3 ++- src/ess/amor/__init__.py | 27 +++++++++++++++++++++------ src/ess/reflectometry/__init__.py | 1 - 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/conda/meta.yaml b/conda/meta.yaml index 2574f28..30a963e 100644 --- a/conda/meta.yaml +++ b/conda/meta.yaml @@ -25,7 +25,8 @@ requirements: test: imports: - - essreflectometry + - ess.reflectometry + - ess.amor requires: - pytest source_files: diff --git a/src/ess/amor/__init__.py b/src/ess/amor/__init__.py index fc79aee..d86661f 100644 --- a/src/ess/amor/__init__.py +++ b/src/ess/amor/__init__.py @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2023 Scipp contributors (https://github.com/scipp) -# flake8: noqa: F401 +import importlib.metadata + import scipp as sc from ..reflectometry import providers as reflectometry_providers @@ -10,25 +11,25 @@ DetectorSpatialResolution, Gravity, NeXusDetectorName, - RawDetector, Run, SamplePosition, SampleSize, - WavelengthEdges, ) from . import beamline, conversions, data, load, orso, resolution from .beamline import instrument_view_components from .instrument_view import instrument_view from .types import ( - AngularResolution, Chopper1Position, Chopper2Position, ChopperFrequency, ChopperPhase, - SampleSizeResolution, - WavelengthResolution, ) +try: + __version__ = importlib.metadata.version(__package__ or __name__) +except importlib.metadata.PackageNotFoundError: + __version__ = "0.0.0" + providers = ( *reflectometry_providers, *load.providers, @@ -59,3 +60,17 @@ } del sc + +__all__ = [ + "supermirror", + "beamline", + "conversions", + "data", + "load", + "orso", + "resolution", + "instrument_view", + "instrument_view_components", + "providers", + "default_parameters", +] diff --git a/src/ess/reflectometry/__init__.py b/src/ess/reflectometry/__init__.py index b48ac33..54cb76a 100644 --- a/src/ess/reflectometry/__init__.py +++ b/src/ess/reflectometry/__init__.py @@ -1,7 +1,6 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2023 Scipp contributors (https://github.com/scipp) -# flake8: noqa: F401 import importlib.metadata from . import calibrations, conversions, corrections, normalize, reductions From 639cc90cd9238ae7ec5de8540591da1c95f5de83 Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:16:50 +0200 Subject: [PATCH 09/11] apply black --- docs/examples/amor.ipynb | 41 ++++++++++++++++++++++---------------- src/ess/amor/resolution.py | 4 +++- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/docs/examples/amor.ipynb b/docs/examples/amor.ipynb index 7832711..1d16e78 100644 --- a/docs/examples/amor.ipynb +++ b/docs/examples/amor.ipynb @@ -30,8 +30,7 @@ "outputs": [], "source": [ "pl = sciline.Pipeline(\n", - " (*amor.providers, *amor.data.providers),\n", - " params=amor.default_parameters\n", + " (*amor.providers, *amor.data.providers), params=amor.default_parameters\n", ")\n", "\n", "pl[QBins] = sc.geomspace(dim='Q', start=0.008, stop=0.075, num=200, unit='1/angstrom')\n", @@ -93,13 +92,15 @@ "outputs": [], "source": [ "from ess.reflectometry.types import ThetaData\n", - "pl.compute(ThetaData[Sample])\\\n", - " .bins.concat('detector_number')\\\n", - " .hist(\n", - " theta=sc.linspace(dim='theta', start=0.0, stop=1.2, num=165, unit='deg').to(unit='rad'),\n", - " wavelength=sc.linspace(dim='wavelength', start=0, stop=15.0, num=165, unit='angstrom'),\n", - " )\\\n", - " .plot()\n" + "\n", + "pl.compute(ThetaData[Sample]).bins.concat('detector_number').hist(\n", + " theta=sc.linspace(dim='theta', start=0.0, stop=1.2, num=165, unit='deg').to(\n", + " unit='rad'\n", + " ),\n", + " wavelength=sc.linspace(\n", + " dim='wavelength', start=0, stop=15.0, num=165, unit='angstrom'\n", + " ),\n", + ").plot()" ] }, { @@ -141,11 +142,13 @@ "for p in (*orso.providers, *amor.orso.providers):\n", " pl.insert(p)\n", "\n", - "pl[orso.OrsoCreator] = orso.OrsoCreator(fileio.base.Person(\n", - " name='Max Mustermann',\n", - " affiliation='European Spallation Source ERIC',\n", - " contact='max.mustermann@ess.eu',\n", - "))" + "pl[orso.OrsoCreator] = orso.OrsoCreator(\n", + " fileio.base.Person(\n", + " name='Max Mustermann',\n", + " affiliation='European Spallation Source ERIC',\n", + " contact='max.mustermann@ess.eu',\n", + " )\n", + ")" ] }, { @@ -190,7 +193,7 @@ "iofq_dataset.info.data_source.sample = fileio.data_source.Sample(\n", " name='Ni / Ti Multilayer',\n", " model=fileio.data_source.SampleModel(\n", - " stack='air | (Ni | Ti) * 5 | Si',\n", + " stack='air | (Ni | Ti) * 5 | Si',\n", " ),\n", ")" ] @@ -208,7 +211,9 @@ "metadata": {}, "outputs": [], "source": [ - "iofq_dataset.info.reduction.script = 'https://scipp.github.io/essreflectometry/examples/amor.html'" + "iofq_dataset.info.reduction.script = (\n", + " 'https://scipp.github.io/essreflectometry/examples/amor.html'\n", + ")" ] }, { @@ -224,7 +229,9 @@ "metadata": {}, "outputs": [], "source": [ - "iofq_dataset.info.reduction.corrections = orso.find_corrections(pl.get(orso.OrsoIofQDataset))" + "iofq_dataset.info.reduction.corrections = orso.find_corrections(\n", + " pl.get(orso.OrsoIofQDataset)\n", + ")" ] }, { diff --git a/src/ess/amor/resolution.py b/src/ess/amor/resolution.py index 474b7ae..0544dc7 100644 --- a/src/ess/amor/resolution.py +++ b/src/ess/amor/resolution.py @@ -146,7 +146,9 @@ def sigma_Q( Combined resolution function. """ return sc.sqrt( - angular_resolution**2 + wavelength_resolution**2 + sample_size_resolution**2 + angular_resolution**2 + + wavelength_resolution**2 + + sample_size_resolution**2 ).max('detector_number') * sc.midpoints(q_bins) From a78ffad374ecb07fa3ff697632b6a529fca00f49 Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Thu, 4 Apr 2024 15:20:38 +0200 Subject: [PATCH 10/11] apply copier update --- .copier-answers.yml | 6 +++--- .github/workflows/ci.yml | 7 ++----- .github/workflows/docs.yml | 11 ++++------- .github/workflows/nightly_at_main.yml | 3 --- .github/workflows/nightly_at_release.yml | 3 --- .github/workflows/release.yml | 15 ++++++--------- .github/workflows/test.yml | 9 +++------ .github/workflows/unpinned.yml | 3 --- LICENSE | 2 +- docs/_templates/doc_version.html | 2 +- docs/conf.py | 3 +++ docs/developer/index.md | 2 +- requirements/dev.in | 3 +++ requirements/make_base.py | 3 --- src/ess/reflectometry/__init__.py | 2 +- tests/package_test.py | 2 +- 16 files changed, 29 insertions(+), 47 deletions(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index 4613fc4..f5d8157 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,13 +1,13 @@ # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY -_commit: 713c40f +_commit: '2955216' _src_path: gh:scipp/copier_template description: Reflectometry data reduction for the European Spallation Source max_python: '3.12' min_python: '3.10' -namespace_package: '' +namespace_package: ess nightly_deps: plopp,sciline,scippneutron,scippnexus,scipp orgname: scipp prettyname: ESSreflectometry projectname: essreflectometry related_projects: Scipp,ScippNexus,ScippNeutron,Sciline,Plopp -year: 2023 +year: 2024 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 497ab89..44266a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,3 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) - name: CI on: @@ -24,13 +21,13 @@ jobs: 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 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version-file: '.github/workflows/python-version-ci' - uses: pre-commit/action@v3.0.1 with: extra_args: --all-files - - uses: pre-commit-ci/lite-action@v1.0.1 + - uses: pre-commit-ci/lite-action@v1.0.2 if: always() with: msg: Apply automatic formatting diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 5e189fb..e6e2443 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,6 +1,3 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) - name: Docs on: @@ -47,11 +44,11 @@ jobs: runs-on: 'ubuntu-22.04' steps: - run: sudo apt install --yes graphviz pandoc - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: ${{ inputs.branch == '' && github.ref_name || inputs.branch }} fetch-depth: 0 # history required so cmake can determine version - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version-file: '.github/workflows/python-version-ci' - run: python -m pip install --upgrade pip @@ -62,12 +59,12 @@ jobs: if: ${{ inputs.version == '' }} - run: tox -e linkcheck if: ${{ inputs.linkcheck }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: docs_html path: html/ - - uses: JamesIves/github-pages-deploy-action@v4.4.3 + - uses: JamesIves/github-pages-deploy-action@v4.5.0 if: ${{ inputs.publish }} with: branch: gh-pages diff --git a/.github/workflows/nightly_at_main.yml b/.github/workflows/nightly_at_main.yml index 1073068..08fdddd 100644 --- a/.github/workflows/nightly_at_main.yml +++ b/.github/workflows/nightly_at_main.yml @@ -1,6 +1,3 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) - name: Nightly test at main branch on: diff --git a/.github/workflows/nightly_at_release.yml b/.github/workflows/nightly_at_release.yml index 7f1653b..373c454 100644 --- a/.github/workflows/nightly_at_release.yml +++ b/.github/workflows/nightly_at_release.yml @@ -1,6 +1,3 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) - name: Nightly tests at latest release on: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e492978..f49a6de 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,3 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) - name: Release on: @@ -18,7 +15,7 @@ jobs: runs-on: 'ubuntu-22.04' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true fetch-depth: 0 # history required so setuptools_scm can determine version @@ -31,7 +28,7 @@ jobs: boa - run: conda mambabuild --channel conda-forge --channel scipp --no-anaconda-upload --override-channels --output-folder conda/package conda - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: conda-package-noarch path: conda/package/noarch/*.tar.bz2 @@ -41,11 +38,11 @@ jobs: runs-on: 'ubuntu-22.04' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 # history required so setuptools_scm can determine version - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version-file: '.github/workflows/python-version-ci' @@ -56,7 +53,7 @@ jobs: run: python -m build - name: Upload wheels - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: dist path: dist @@ -71,7 +68,7 @@ jobs: if: github.event_name == 'release' && github.event.action == 'published' steps: - uses: actions/download-artifact@v3 - - uses: pypa/gh-action-pypi-publish@v1.8.10 + - uses: pypa/gh-action-pypi-publish@v1.8.14 upload_conda: name: Deploy Conda diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3cfb75d..5f56a06 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,3 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) - name: Test on: @@ -48,16 +45,16 @@ jobs: runs-on: ${{ inputs.os-variant }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: ${{ inputs.checkout_ref }} - - uses: actions/setup-python@v3 + - uses: actions/setup-python@v5 with: python-version: ${{ inputs.python-version }} - run: python -m pip install --upgrade pip - run: python -m pip install -r ${{ inputs.pip-recipe }} - run: tox -e ${{ inputs.tox-env }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ inputs.coverage-report }} with: name: CoverageReport diff --git a/.github/workflows/unpinned.yml b/.github/workflows/unpinned.yml index 853c1ec..46a84c1 100644 --- a/.github/workflows/unpinned.yml +++ b/.github/workflows/unpinned.yml @@ -1,6 +1,3 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) - name: Unpinned tests at latest release on: diff --git a/LICENSE b/LICENSE index b402aa6..54b3cf4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2023, Scipp contributors (https://github.com/scipp) +Copyright (c) 2024, Scipp contributors (https://github.com/scipp) All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/docs/_templates/doc_version.html b/docs/_templates/doc_version.html index a348e28..48f9aac 100644 --- a/docs/_templates/doc_version.html +++ b/docs/_templates/doc_version.html @@ -1,2 +1,2 @@ -Current {{ project }} version: {{ version }} (older versions). +Current {{ project }} version: {{ version }} (older versions). diff --git a/docs/conf.py b/docs/conf.py index 8338022..25295ad 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -30,6 +30,7 @@ 'nbsphinx', 'myst_parser', ] + try: import sciline.sphinxext.domain_types # noqa: F401 @@ -37,6 +38,7 @@ except ModuleNotFoundError: pass + myst_enable_extensions = [ "amsmath", "colon_fence", @@ -91,6 +93,7 @@ 'scipp.core.data_group.DataGroup': 'scipp.DataGroup', } + # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/docs/developer/index.md b/docs/developer/index.md index 23b5544..9dc534a 100644 --- a/docs/developer/index.md +++ b/docs/developer/index.md @@ -1,4 +1,4 @@ -# Developer documentation +# Development ```{include} ../../CONTRIBUTING.md ``` diff --git a/requirements/dev.in b/requirements/dev.in index 53ddf47..8d6e485 100644 --- a/requirements/dev.in +++ b/requirements/dev.in @@ -9,3 +9,6 @@ copier jupyterlab pip-compile-multi pre-commit + +# See https://github.com/copier-org/copier/issues/1568 +pyyaml-include<2 diff --git a/requirements/make_base.py b/requirements/make_base.py index 3b1dbab..1e1f48e 100644 --- a/requirements/make_base.py +++ b/requirements/make_base.py @@ -1,6 +1,3 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) - import sys from argparse import ArgumentParser from pathlib import Path diff --git a/src/ess/reflectometry/__init__.py b/src/ess/reflectometry/__init__.py index 54cb76a..bf90510 100644 --- a/src/ess/reflectometry/__init__.py +++ b/src/ess/reflectometry/__init__.py @@ -1,5 +1,5 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) +# Copyright (c) 2024 Scipp contributors (https://github.com/scipp) import importlib.metadata diff --git a/tests/package_test.py b/tests/package_test.py index 4ed385c..6490b19 100644 --- a/tests/package_test.py +++ b/tests/package_test.py @@ -1,5 +1,5 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) +# Copyright (c) 2024 Scipp contributors (https://github.com/scipp) from ess import reflectometry as pkg From 1c9ef611ec7165bcf23c755c514bd907667237bb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Thu, 4 Apr 2024 13:22:52 +0000 Subject: [PATCH 11/11] Apply automatic formatting --- src/ess/amor/__init__.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/ess/amor/__init__.py b/src/ess/amor/__init__.py index d86661f..ab02d91 100644 --- a/src/ess/amor/__init__.py +++ b/src/ess/amor/__init__.py @@ -18,12 +18,7 @@ from . import beamline, conversions, data, load, orso, resolution from .beamline import instrument_view_components from .instrument_view import instrument_view -from .types import ( - Chopper1Position, - Chopper2Position, - ChopperFrequency, - ChopperPhase, -) +from .types import Chopper1Position, Chopper2Position, ChopperFrequency, ChopperPhase try: __version__ = importlib.metadata.version(__package__ or __name__)