From 68453245d453b9c7be8f33400363076d42d7f01a Mon Sep 17 00:00:00 2001 From: Caden Myers Date: Fri, 27 Feb 2026 10:22:18 -0500 Subject: [PATCH 01/10] rm duplicated workflow --- .../matrix-and-codecov-on-merge-to-main.yml | 62 ------------------- 1 file changed, 62 deletions(-) delete mode 100644 .github/workflows/matrix-and-codecov-on-merge-to-main.yml diff --git a/.github/workflows/matrix-and-codecov-on-merge-to-main.yml b/.github/workflows/matrix-and-codecov-on-merge-to-main.yml deleted file mode 100644 index 3114aa2..0000000 --- a/.github/workflows/matrix-and-codecov-on-merge-to-main.yml +++ /dev/null @@ -1,62 +0,0 @@ -name: CI - -on: - push: - branches: - - main - release: - types: - - prereleased - - published - workflow_dispatch: - -jobs: - matrix-coverage: - defaults: - run: - shell: bash -l {0} - - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-13, macos-14] - python-version: ["3.11", "3.12", "3.13"] - env: - LATEST_PYTHON_VERSION: "3.13" - steps: - - name: Check out diffpy.labpdfproc - uses: actions/checkout@v4 - - - name: Initialize miniconda - uses: conda-incubator/setup-miniconda@v3 - with: - activate-environment: test - auto-update-conda: true - environment-file: environment.yml - auto-activate-base: false - python-version: ${{ matrix.python-version }} - - - name: Conda config - run: >- - conda config --set always_yes yes - --set changeps1 no - - - name: Install diffpy.labpdfproc and requirements - run: | - conda install --file requirements/tests.txt - conda install --file requirements/conda.txt - pip install gooey - python -m pip install . --no-deps - - - name: Validate diffpy.labpdfproc - run: | - pytest --cov - coverage report -m - codecov - - - name: Upload coverage to Codecov - if: matrix.os == 'ubuntu-latest' && matrix.python-version == env.LATEST_PYTHON_VERSION - uses: codecov/codecov-action@v4 - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 3fbb01a22a964e9fea1cd2f0a04c2fbf24c8563c Mon Sep 17 00:00:00 2001 From: Caden Myers Date: Fri, 27 Feb 2026 10:22:33 -0500 Subject: [PATCH 02/10] add 'labpdf' as cli entry point --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index a55f107..cd5ddc9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,6 +47,7 @@ dirty_template = "{tag}" [project.scripts] labpdfproc = "diffpy.labpdfproc.labpdfprocapp:main" +labpdf = "diffpy.labpdfproc.labpdfprocapp:main" [tool.setuptools.packages.find] where = ["src"] # list of folders that contain the packages (["."] by default) From caaf3e73704bc1017a52316b2e283a431f4e8e10 Mon Sep 17 00:00:00 2001 From: Caden Myers Date: Fri, 27 Feb 2026 10:44:54 -0500 Subject: [PATCH 03/10] add condition to remove colors when running GOOEY --- src/diffpy/labpdfproc/labpdfprocapp.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/diffpy/labpdfproc/labpdfprocapp.py b/src/diffpy/labpdfproc/labpdfprocapp.py index e5575ec..e5dd808 100644 --- a/src/diffpy/labpdfproc/labpdfprocapp.py +++ b/src/diffpy/labpdfproc/labpdfprocapp.py @@ -1,4 +1,5 @@ import argparse +import os import sys from gooey import Gooey, GooeyParser @@ -15,6 +16,17 @@ from diffpy.utils.parsers import load_data +def _running_in_gui(): + """Determine if the application is running in a GUI environment. + + This function checks if the standard output (sys.stdout) is + connected to a terminal. If not, it assumes the application is + running in a GUI environment, such as when launched by Gooey. This + is used to prevent ANSI escape sequences from rendering in the GUI. + """ + return not sys.stdout.isatty() + + def _add_common_args(parser, use_gui=False): parser.add_argument( "-w", @@ -172,6 +184,13 @@ def apply_absorption_correction(args): def create_parser(use_gui=False): Parser = GooeyParser if use_gui else argparse.ArgumentParser + + # Force no colors when gui is running to avoid ANSI escape codes + # in Gooey output + if use_gui or _running_in_gui(): + os.environ["NO_COLOR"] = "1" + os.environ["CLICOLOR"] = "0" + parser = Parser( prog="labpdfproc", description=( From d63b678137b46f7f6e46540a4bacf74827968f0a Mon Sep 17 00:00:00 2001 From: Caden Myers Date: Fri, 27 Feb 2026 10:45:52 -0500 Subject: [PATCH 04/10] remove entrypoint to ensure Gooey renders nicely --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index cd5ddc9..a55f107 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,7 +47,6 @@ dirty_template = "{tag}" [project.scripts] labpdfproc = "diffpy.labpdfproc.labpdfprocapp:main" -labpdf = "diffpy.labpdfproc.labpdfprocapp:main" [tool.setuptools.packages.find] where = ["src"] # list of folders that contain the packages (["."] by default) From c73c2828480eaf990c64ce849857fcbbaa956c13 Mon Sep 17 00:00:00 2001 From: Caden Myers Date: Fri, 27 Feb 2026 13:26:30 -0500 Subject: [PATCH 05/10] behavior: if no wavelength is specified, ValueError is raised instead of print statement --- src/diffpy/labpdfproc/tools.py | 35 +++++++++++------- tests/test_tools.py | 65 ++++++++++++++++++++++++++++++++-- 2 files changed, 85 insertions(+), 15 deletions(-) diff --git a/src/diffpy/labpdfproc/tools.py b/src/diffpy/labpdfproc/tools.py index 01c4a0e..a46667d 100644 --- a/src/diffpy/labpdfproc/tools.py +++ b/src/diffpy/labpdfproc/tools.py @@ -224,12 +224,28 @@ def load_wavelength_from_config_file(args): args : argparse.Namespace The updated arguments with the updated wavelength and anode type. """ - global_config = _load_config(Path().home() / "diffpyconfig.json") - local_config = _load_config(Path().cwd() / "diffpyconfig.json") - local_has_data = local_config and "wavelength" in local_config - global_has_data = global_config and "wavelength" in global_config - if not local_has_data and not global_has_data: - print( + + if args.wavelength is not None: + return normalize_wavelength(args) + + global_config_file = _load_config(Path().home() / "diffpyconfig.json") + local_config_file = _load_config(Path().cwd() / "diffpyconfig.json") + config_file = None + if ( + isinstance(local_config_file, dict) + and "wavelength" in local_config_file + ): + config_file = local_config_file + elif ( + isinstance(global_config_file, dict) + and "wavelength" in global_config_file + ): + config_file = global_config_file + if config_file is not None: + args.wavelength = config_file.get("wavelength") + return normalize_wavelength(args) + else: + raise ValueError( "No configuration file was found containing information " "about the wavelength or anode type. \n" "You can add the wavelength or anode type " @@ -240,13 +256,6 @@ def load_wavelength_from_config_file(args): "For more information, please refer to www.diffpy.org/" "diffpy.labpdfproc/examples/toolsexample.html" ) - if args.wavelength is not None: - return normalize_wavelength(args) - config = local_config if local_has_data else global_config - if config: - args.wavelength = config.get("wavelength") - return normalize_wavelength(args) - return args def set_wavelength(args): diff --git a/tests/test_tools.py b/tests/test_tools.py index 05ff84d..a6c27b1 100644 --- a/tests/test_tools.py +++ b/tests/test_tools.py @@ -311,6 +311,69 @@ def test_load_wavelength_from_config_file_with_local_conf_file( assert actual_args.wavelength == expected["wavelength"] +@pytest.mark.parametrize( + "local_config, home_config", + [ + # C1: no config files exist + # expected: raise ValueError + (None, None), + # C2: local config is empty, no home config + # expected: raise ValueError + ({}, None), + # C3: no local config, home config is empty + # expected: raise ValueError + (None, {}), + # C4: both config files are empty + # expected: raise ValueError + ({}, {}), + ], +) +def test_load_wavelength_from_config_file_without_conf_files_bad( + mocker, + user_filesystem, + local_config, + home_config, +): + # User tries to correct data without specifying wavelength and + # no config files + # with wavelength exist -- expected to raise ValueError + cwd = Path(user_filesystem) + home_dir = cwd / "home_dir" + mocker.patch("pathlib.Path.home", return_value=home_dir) + os.chdir(cwd) + + local_config_file = cwd / "diffpyconfig.json" + if local_config_file.exists(): + local_config_file.unlink() + home_config_file = home_dir / "diffpyconfig.json" + if home_config_file.exists(): + home_config_file.unlink() + + if local_config is not None: + with open(local_config_file, "w") as f: + json.dump(local_config, f) + if home_config is not None: + with open(home_config_file, "w") as f: + json.dump(home_config, f) + + cli_inputs = ["mud", "data.xy", "2.5"] + actual_args = get_args_cli(cli_inputs) + + msg = re.escape( + "No configuration file was found containing information " + "about the wavelength or anode type. \n" + "You can add the wavelength or anode type " + "to a configuration file on the current computer " + "and it will be automatically associated with " + "subsequent diffpy data by default. \n" + "You will only have to do that once. \n" + "For more information, please refer to www.diffpy.org/" + "diffpy.labpdfproc/examples/toolsexample.html" + ) + with pytest.raises(ValueError, match=msg): + load_wavelength_from_config_file(actual_args) + + @pytest.mark.parametrize( "inputs, expected", [ @@ -318,8 +381,6 @@ def test_load_wavelength_from_config_file_with_local_conf_file( # expect to return args without modification. # This test only checks loading behavior, # not value validation (which is handled by `set_wavelength`). - # C1: no args - ([], {"wavelength": None}), # C1: wavelength provided (["--wavelength", "0.25"], {"wavelength": 0.25}), # C2: anode type provided From 6edcd83406e2d5f787e95a3ec9202e21f5ac4d25 Mon Sep 17 00:00:00 2001 From: Caden Myers Date: Fri, 27 Feb 2026 14:20:28 -0500 Subject: [PATCH 06/10] add documentation that reflects the new cli --- ...nClose_exported.xy => CeO2_635um_zscan.xy} | 0 .../source/examples/labpdfprocapp-example.rst | 236 ++++++++++++------ docs/source/img/.placeholder | 0 docs/source/img/labpdfproc-gui.jpeg | Bin 0 -> 164976 bytes 4 files changed, 160 insertions(+), 76 deletions(-) rename docs/source/examples/example-data/{CeO2_635um_zscan_200umSlit_chanClose_exported.xy => CeO2_635um_zscan.xy} (100%) delete mode 100644 docs/source/img/.placeholder create mode 100644 docs/source/img/labpdfproc-gui.jpeg diff --git a/docs/source/examples/example-data/CeO2_635um_zscan_200umSlit_chanClose_exported.xy b/docs/source/examples/example-data/CeO2_635um_zscan.xy similarity index 100% rename from docs/source/examples/example-data/CeO2_635um_zscan_200umSlit_chanClose_exported.xy rename to docs/source/examples/example-data/CeO2_635um_zscan.xy diff --git a/docs/source/examples/labpdfprocapp-example.rst b/docs/source/examples/labpdfprocapp-example.rst index a553c8f..3a83ce4 100644 --- a/docs/source/examples/labpdfprocapp-example.rst +++ b/docs/source/examples/labpdfprocapp-example.rst @@ -1,4 +1,3 @@ -.. _labpdfprocapp Example: :tocdepth: -1 @@ -10,121 +9,206 @@ to apply absorption correction to your 1D diffraction data using the command-lin Check ``labpdfproc --help`` for more information. A graphical user interface (GUI) is also available and is designed to be intuitive and easy to use. +There are three ways to correct dirraction data within ``diffpy.labpdfproc``, these are, -1. To use this application, you will need: -(1) your input diffraction data file(s), and (2) information required to compute the muD value. -To launch the GUI, use ``labpdfproc`` or ``labpdfproc --gui``. -Note that the GUI is currently not supported on Python 3.13. +1. ``labpdfproc mud``: Provide the diffraction data file(s) and muD value directly. +2. ``labpdfproc zscan``: Provide the diffraction data file(s) and a z-scan file, which will be used to calculate the muD value. +3. ``labpdfproc sample``: Provide the diffraction data file(s) and information about the sample to calculate the theoretical muD value. +We will go through all three methods in this tutorial. -2. Here we first provide a basic CLI example. -Assume you have an uncorrected diffraction data file named ``zro2_mo.xy`` in the current directory -with a muD of 2.5 on the two-theta x-axis. Then the minimum command would be: +.. admonition:: Example Data -.. code-block:: python + Example data for these examples can be found at: https://github.com/diffpy/diffpy.labpdfproc/tree/main/docs/source/examples/example-data - labpdfproc zro2_mo.xy --mud 2.5 +Launching the Graphical User Interface (GUI) +-------------------------------------------- -3. You must provide at least one file path, and filepath(s) should immediately follow ``labpdfproc``. +To launch the GUI, run one of the following commands in your terminal, -To process multiple files at once in the CLI, separate each file path with a whitespace. -In general, avoid spaces in filenames, but if necessary, enclose them in quotes; otherwise, quotes are optional. -For example, the following is a valid and more complex CLI command: +.. code-block:: bash -.. code-block:: python + labpdfproc + labpdfproc --gui - labpdfproc "SiO2 uncorrected.xy" input_dir file_list.txt ./*.chi data* --mud 2.5 +.. note:: Note that the GUI is currently not supported on Python>=3.12. -This command will process ``"SiO2 uncorrected.xy"``, -all files in the ``input_dir`` directory, all files listed in ``file_list.txt``, -all ``.chi`` files in the current directory, and all files matching the pattern ``data``, -using a muD value of 2.5. -Check ``labpdfproc --help`` to see all supported file types. +This will open the GUI, which should look something like, -In the GUI, you can select multiple individual files via the file browser, but not entire directories. -To include directories, you can either: -(1) create a text file named ``file_list.txt`` containing the desired paths and load it, -(2) manually select all files in a folder, or -(3) enter paths manually separated by a colon with no spaces. +.. image:: ../img/labpdfproc-gui.jpeg + :align: center -We will now continue using ``zro2_mo.xy`` as the example input throughout the rest of this tutorial. +Below we will go through all the commands using the CLI, but the same principles apply to the GUI. +.. note:: The first time you run any of the below commands, + you will be prompted to enter your name, email, and ORCID. This will be + appended to metadata in the output file header for reproducibility and tracking purposes. -4. The muD value is required for absorption correction, and you can specify it in one of the four ways: -.. code-block:: python +``labpdfproc mud`` Command +--------------------------- - # Option 1: Manual value - labpdfproc zro2_mo.xy --mud 2.5 - # Option 2: From a z-scan file - labpdfproc zro2_mo.xy -z zscan.xy - # Option 3: Using sample mass density - labpdfproc zro2_mo.xy -d ZrO2,17.45,1.2 - # Option 4: Using packing fraction - labpdfproc zro2_mo.xy -p ZrO2,17.45,0.2 +If you know the muD value for your sample, you can use the ``labpdfproc mud`` +command to apply absorption correction directly. -Note that you can only use one method at a time. The following examples are not allowed: +To see all the options for this command, type, -.. code-block:: python +.. code-block:: bash - labpdfproc zro2_mo.xy --mud 2.5 -z zscan.xy - labpdfproc zro2_mo.xy --mud 2.5 -d ZrO2,17.45,1.2 + labpdfproc mud -h -If the packing fraction option is not supported at the moment, you can approximate the sample mass density as: -``mass density = packing fraction * material density``, where the material density can be looked up manually. +To run the correction, specify the path to your diffraction data file(s) and the muD value, +.. code-block:: bash -5. You can specify the wavelength in two ways: + labpdfproc mud + labpdfproc mud zro2_mo.xy 2.5 -.. code-block:: python +If the flag ``--wavelength`` is not specified, the program will attempt to fetch +the wavelength from a configuration file. +If the wavelength is not found in the configuration file, a ``ValueError`` +will be raised, prompting you to provide the wavelength either through the CLI or the configuration file. - # Option 1: Manually enter wavelength - labpdfproc zro2_mo.xy --mud 2.5 -w 0.71303 - # Option 2: Use a known anode type - labpdfproc zro2_mo.xy --mud 2.5 -a Mo +To provide the wavelength through the CLI, you can use the ``-w`` or ``--wavelength`` flag followed by the wavelength value in angstroms or the X-ray source. +For example, -Do not use both ``-w`` and ``-a`` at the same time. For example: +.. code-block:: bash -.. code-block:: python + labpdfproc mud zro2_mo.xy 2.5 -w 0.71303 + labpdfproc mud zro2_mo.xy 2.5 -w Mo - labpdfproc zro2_mo.xy --mud 2.5 -w 0.71303 -a Mo +This will then save the corrected file in the same directory as the input file with the name ``zro2_mo_corrected.chi``. -is not valid. This is to avoid confusion when wavelength conflicts with anode type. -To avoid retyping, you can save your wavelength or anode type in a diffpy configuration file. -See full instructions at https://www.diffpy.org/diffpy.labpdfproc/examples/tools_example.html. +To save the correction file, specify the ``-c`` or ``--output-correction`` flag, +.. code-block:: bash -6. You are also encouraged to provide your information (name, email, and orcid) for reproducibility: + labpdfproc mud zro2_mo.xy 2.5 -w 0.71303 -c -.. code-block:: python +This will then save the correction file in the same directory as the input file with the name ``zro2_mo_cve.chi``. - labpdfproc zro2_mo.xy --mud 2.5 -n Joe -e Joe@email.com --orcid 0000-0000-0000-0000 +``labpdfproc zscan`` Command +---------------------------- +The ``labpdfproc zscan`` command allows you to calculate the muD value from a z-scan file and apply absorption correction to your diffraction data. +For more information on what a z-scan is, please see the "Examples --> Linear Absorption Coefficient Examples" +section in the ``diffpy.utils`` documentation: https://www.diffpy.org/diffpy.utils/examples/mu_calc_examples.html. -Alternatively, you can enter this information during the interactive prompts -or save it in your diffpy configuration file. -For more details, refer to https://www.diffpy.org/diffpy.utils/examples/tools_example.html. +To see the options for this command, type, +.. code-block:: bash -7. You can further customize the diffraction correction process using the following options: + labpdfproc zscan -h -- Choose xtype: use ``-x`` to specify your input data's xtype, which will be used for the output. -- Select correction method: use ``-m`` to choose between "brute_force" or "polynomial_interpolation" (faster and preferred for muD 0.5-7). -- Specify output directory: use ``-o`` to save the corrected file(s) to a specific folder. -- Add custom metadata: use ``-u`` to provide key-value pair for information tracking (e.g., experimental details). -- Output the cve file: use ``-c`` to export the cve file along with the corrected data. -- Overwrite existing files: use ``-f`` to replace any previous corrected files with the same names. +To run this command, provide the path to your diffraction data file(s) and the z-scan file, +.. code-block:: bash -8. To summarize, a full command might look like this: + labpdfproc zscan + labpdfproc zscan CeO2_635um_accum_0.xy CeO2_635um_zscan.xy -.. code-block:: python +Like the ``labpdfproc mud`` command, you can also specify the +wavelength or source type using the ``-w`` flag if it's not found in the configuration file, - labpdfproc zro2_mo.xy --mud 2.5 -w 0.71303 -n Joe -x q -m brute_force -o results -u "facility=NSLS II" beamline=28ID-2 -c -f +.. code-block:: bash -After running the command, check your output folder (in this case, ``results``) -for the corrected data file and cve file (if ``-c`` was used). -In this example, the corrected and cve files are called ``zro2_mo_corrected.chi`` and ``zro2_mo_cve.chi``. -The headers include all the arguments you provided -—such as diffraction settings, personal information, and metadata—making it easy to track your analysis. + labpdfproc zscan CeO2_635um_accum_0.xy CeO2_635um_zscan.xy -w 0.71303 + labpdfproc zscan CeO2_635um_accum_0.xy CeO2_635um_zscan.xy -w Mo + +This will save the corrected file in the same directory as the input file with the name ``CeO2_635um_accum_0.chi``. + +To save the correction file, specify the ``-c`` or ``--output-correction`` flag, + +.. code-block:: bash + + labpdfproc zscan CeO2_635um_accum_0.xy CeO2_635um_zscan.xy -w 0.71303 -c + +This will then save the correction file in the same directory as the input file with the name ``CeO2_635um_accum_0_cve.chi``. + +``labpdfproc sample`` Command +----------------------------- + +The ``labpdfproc sample`` command allows you to calculate the muD value from information +about your sample and apply absorption correction to your diffraction data. + +To see the options for this command, type, + +.. code-block:: bash + + labpdfproc sample -h + +To run this command, provide the path to your diffraction data file(s) along with: + +1) ``sample_composition``: The chemical formula of your sample. +2) ``sample_mass_density``: The mass density of your sample in g/cm^3. If you don't know the mass density, a good approximation is typically ~1/3 of the theoretical packing fraction. +3) ``diameter``: The outer diameter of your capillary. + +.. code-block:: bash + + labpdfproc sample + labpdfproc sample zro2_mo.xy ZrO2 17.45 1.2 + +Once again, you can specify the wavelength or source type using the ``-w`` flag if it's not found in the configuration file, + +.. code-block:: bash + + labpdfproc sample zro2_mo.xy ZrO2 17.45 1.2 -w 0.71303 + labpdfproc sample zro2_mo.xy ZrO2 17.45 1.2 -w Mo + +This will save the corrected file in the same directory as the input file with the name ``zro2_mo.chi``. + +To save the correction file, specify the ``-c`` or ``--output-correction`` flag, + +.. code-block:: bash + + labpdfproc sample zro2_mo.xy ZrO2 17.45 1.2 -w 0.71303 -c + +This will then save the correction file in the same directory as the input file with the name ``zro2_mo_cve.chi``. + +Additional CLI options +---------------------- + +Below is a summary of all the additional flags that can be used with all three commands, + +- ``-h, --help`` + Show this help message and exit. + +- ``-w, --wavelength WAVELENGTH`` + X-ray wavelength in angstroms (numeric) or X-ray source name. + Allowed: ``Ag``, ``AgKa1``, ``AgKa1Ka2``, ``Cu``, ``CuKa1``, ``CuKa1Ka2``, ``Mo``, ``MoKa1``, ``MoKa1Ka2``. + Will be loaded from config files if not specified. + +- ``-x, --xtype XTYPE`` + X-axis type (default: ``tth``). Allowed values: ``angle``, ``tth``, ``twotheta``, ``2theta``, ``d``, ``dspace``, ``q``. + +- ``-m, --method {brute_force, polynomial_interpolation}`` + Method for cylindrical volume element (CVE) calculation (default: ``polynomial_interpolation``). + Allowed methods: ``brute_force``, ``polynomial_interpolation``. + +- ``-o, --output-directory OUTPUT_DIRECTORY`` + Directory to save corrected files (created if needed). Defaults to current directory. + +- ``-f, --force`` + Overwrite existing files. + +- ``-c, --output-correction`` + Also output the absorption correction to a separate file. + +- ``-u, --user-metadata KEY=VALUE [KEY=VALUE ...]`` + Specify key-value pairs to be loaded into metadata. Format: ``key=value``. + - Separate multiple pairs with whitespace. + - No spaces before or after ``=``. + - Avoid using ``=`` in keys. Only the first ``=`` separates key and value. + - If a key or value contains whitespace, enclose it in quotes. + Examples: + ``facility='NSLS II', beamline=28ID-2, 'favorite color'=blue``. + +- ``--username USERNAME`` + Your name (optional, for dataset credit). Will be loaded from config files if not specified. + +- ``--email EMAIL`` + Your email (optional, for dataset credit). Will be loaded from config files if not specified. + +- ``--orcid ORCID`` + Your ORCID ID (optional, for dataset credit). Will be loaded from config files if not specified. diff --git a/docs/source/img/.placeholder b/docs/source/img/.placeholder deleted file mode 100644 index e69de29..0000000 diff --git a/docs/source/img/labpdfproc-gui.jpeg b/docs/source/img/labpdfproc-gui.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9dc8de824c4a5a666f7dd4c33fc98284ed903a43 GIT binary patch literal 164976 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%0DW7=1?6T8@YfgZ%SSJ9Z<-WDsjIWZ*rmP3j8tO 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 Date: Fri, 27 Feb 2026 14:20:53 -0500 Subject: [PATCH 07/10] strengthen the ValueError message --- src/diffpy/labpdfproc/tools.py | 23 ++++++++++++++--------- tests/test_tools.py | 23 ++++++++++++++--------- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/diffpy/labpdfproc/tools.py b/src/diffpy/labpdfproc/tools.py index a46667d..2aa6754 100644 --- a/src/diffpy/labpdfproc/tools.py +++ b/src/diffpy/labpdfproc/tools.py @@ -246,15 +246,20 @@ def load_wavelength_from_config_file(args): return normalize_wavelength(args) else: raise ValueError( - "No configuration file was found containing information " - "about the wavelength or anode type. \n" - "You can add the wavelength or anode type " - "to a configuration file on the current computer " - "and it will be automatically associated with " - "subsequent diffpy data by default. \n" - "You will only have to do that once. \n" - "For more information, please refer to www.diffpy.org/" - "diffpy.labpdfproc/examples/toolsexample.html" + "\nThe wavelength was not specified and no " + "configuration file 'diffpyconfig.json' containing " + "the wavelength or X-ray source was found in either the " + "local or home directories. Either specify the wavelength " + "or source using the -w/--wavelength option or " + "create a configuration file.\n\n" + "You can add the wavelength or anode type to a " + "configuration file on this computer. Once created, it " + "will be automatically used for subsequent diffpy data " + "by default, and you will only need to do this once.\n\n" + "For detailed instructions on creating the configuration " + "file, please refer to:\n" + "https://www.diffpy.org/diffpy.labpdfproc/examples/" + "toolsexample.html" ) diff --git a/tests/test_tools.py b/tests/test_tools.py index a6c27b1..e7a137e 100644 --- a/tests/test_tools.py +++ b/tests/test_tools.py @@ -360,15 +360,20 @@ def test_load_wavelength_from_config_file_without_conf_files_bad( actual_args = get_args_cli(cli_inputs) msg = re.escape( - "No configuration file was found containing information " - "about the wavelength or anode type. \n" - "You can add the wavelength or anode type " - "to a configuration file on the current computer " - "and it will be automatically associated with " - "subsequent diffpy data by default. \n" - "You will only have to do that once. \n" - "For more information, please refer to www.diffpy.org/" - "diffpy.labpdfproc/examples/toolsexample.html" + "\nThe wavelength was not specified and no " + "configuration file 'diffpyconfig.json' containing " + "the wavelength or X-ray source was found in either the " + "local or home directories. Either specify the wavelength " + "or source using the -w/--wavelength option or " + "create a configuration file.\n\n" + "You can add the wavelength or anode type to a " + "configuration file on this computer. Once created, it " + "will be automatically used for subsequent diffpy data " + "by default, and you will only need to do this once.\n\n" + "For detailed instructions on creating the configuration " + "file, please refer to:\n" + "https://www.diffpy.org/diffpy.labpdfproc/examples/" + "toolsexample.html" ) with pytest.raises(ValueError, match=msg): load_wavelength_from_config_file(actual_args) From d4b93598edf5eb51874333c1f4898ba6fe002381 Mon Sep 17 00:00:00 2001 From: Caden Myers Date: Fri, 27 Feb 2026 14:44:50 -0500 Subject: [PATCH 08/10] update tools examples to reflect new cli --- docs/source/examples/tools-example.rst | 37 ++++++++++++++------------ 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/docs/source/examples/tools-example.rst b/docs/source/examples/tools-example.rst index 674d244..7291658 100644 --- a/docs/source/examples/tools-example.rst +++ b/docs/source/examples/tools-example.rst @@ -20,15 +20,13 @@ You can do this in one of the following four ways: # Option 2: From a z-scan file args = Namespace(z_scan_file="zscan.xy") # Option 3: Using sample mass density - args = Namespace(theoretical_from_density="ZrO2,17.45,1.2") - # Option 4: Using packing fraction - args = Namespace(theoretical_from_packing="ZrO2,17.45,0.3") + args = Namespace(sample_composition="ZrO2", sample_mass_density="17.45", diameter="1.2") # Set and view the computed mu*D value args = set_mud(args) print(args.mud) -2. Next, we load the input files for correction using ``set_input_lists(args)``: +1. Next, we load the input files for correction using ``set_input_lists(args)``: .. code-block:: python @@ -59,24 +57,13 @@ If no output directory is specified, it defaults to the current working director # Option 1: Specify wavelength directly args = Namespace(wavelength=0.7) # Option 2: Use a valid anode type - args = Namespace(anode_type="Mo") + args = Namespace(wavelength="Mo") args = set_wavelength(args) Note that you should specify either a wavelength or an anode type, not both, to avoid conflicts. If you provide an anode type, the corresponding wavelength will be retrieved from global parameters. You may use ``labpdfproc --help`` to view a list of valid anode types. If neither is given, it's only acceptable if the input diffraction data is already on a two-theta grid. -To simplify workflows and avoid re-entering it every time, -we recommend saving the wavelength or anode type to a diffpy config file. For example: - -.. code-block:: python - - from pathlib import Path - import json - home_dir = Path.home() - wavelength_data = {"wavelength": 0.3} - with open(home_dir / "diffpyconfig.json", "w") as f: - json.dump(wavelength_data, f) To set the x-axis type (xtype) for your diffraction data: @@ -88,7 +75,7 @@ To set the x-axis type (xtype) for your diffraction data: This sets the xtype to ``tth``. Other valid options including ``q`` and ``d`` spacing. -5. Finally, we load user metadata, user information, and package information into ``args``. +1. Finally, we load user metadata, user information, and package information into ``args``. To load metadata, pass key-value pairs as a list: .. code-block:: python @@ -137,3 +124,19 @@ Using the function ``load_metadata(args, filepath)`` requires both the ``argument.Namespace`` and the current input file path. For more details about working with diffraction objects and how they are written to output files, see https://www.diffpy.org/diffpy.utils/examples/diffraction_objects_example.html. + + +Creating ``diffpyconfig.json`` file +----------------------------------- + +To simplify workflows and avoid re-entering it every time, +we recommend saving the wavelength or anode type to a diffpy config file. For example, + +.. code-block:: python + + from pathlib import Path + import json + home_dir = Path.home() + wavelength_data = {"wavelength": 0.3} + with open(home_dir / "diffpyconfig.json", "w") as f: + json.dump(wavelength_data, f) From e0b254716218d770d424ee207bbca6ffa037840d Mon Sep 17 00:00:00 2001 From: Caden Myers Date: Fri, 27 Feb 2026 14:54:33 -0500 Subject: [PATCH 09/10] rebuild api docs --- docs/source/api/diffpy.labpdfproc.rst | 32 +++++++++++++------ .../source/examples/labpdfprocapp-example.rst | 1 + 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/docs/source/api/diffpy.labpdfproc.rst b/docs/source/api/diffpy.labpdfproc.rst index 1bcc98d..a3f53e1 100644 --- a/docs/source/api/diffpy.labpdfproc.rst +++ b/docs/source/api/diffpy.labpdfproc.rst @@ -1,9 +1,7 @@ :tocdepth: -1 -|title| -======= - -.. |title| replace:: diffpy.labpdfproc package +diffpy.labpdfproc package +========================= .. automodule:: diffpy.labpdfproc :members: @@ -14,17 +12,33 @@ Subpackages ----------- .. toctree:: - diffpy.labpdfproc.example_package + :titlesonly: + + diffpy.labpdfproc.data Submodules ---------- -|module| --------- +diffpy.labpdfproc.functions module +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automodule:: diffpy.labpdfproc.functions + :members: + :undoc-members: + :show-inheritance: + +diffpy.labpdfproc.tools module +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automodule:: diffpy.labpdfproc.tools + :members: + :undoc-members: + :show-inheritance: -.. |module| replace:: diffpy.labpdfproc.example_submodule module +diffpy.labpdfproc.labpdfprocapp module +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. automodule:: diffpy.labpdfproc.example_submodule +.. automodule:: diffpy.labpdfproc.labpdfprocapp :members: :undoc-members: :show-inheritance: diff --git a/docs/source/examples/labpdfprocapp-example.rst b/docs/source/examples/labpdfprocapp-example.rst index 3a83ce4..c33cadf 100644 --- a/docs/source/examples/labpdfprocapp-example.rst +++ b/docs/source/examples/labpdfprocapp-example.rst @@ -1,3 +1,4 @@ +.. _labpdfprocapp Example: :tocdepth: -1 From be60e6149768c43b481405bb46fb50fc9bd51e8d Mon Sep 17 00:00:00 2001 From: Caden Myers Date: Fri, 27 Feb 2026 14:55:36 -0500 Subject: [PATCH 10/10] news --- news/doc0.3.0.rst | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 news/doc0.3.0.rst diff --git a/news/doc0.3.0.rst b/news/doc0.3.0.rst new file mode 100644 index 0000000..b0af63d --- /dev/null +++ b/news/doc0.3.0.rst @@ -0,0 +1,23 @@ +**Added:** + +* Added documentation for new CLI updates. + +**Changed:** + +* Return a ``ValueError`` if no wavelength is found on config file or if its not specified. + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +*